Get Ahead of the Game with Verus’ Groundbreaking 1:1 Decentralized Currency Mapping for ERC-20 Tokens

In this article, we show you how to map and bridge an Ethereum ERC-20 token to the Verus testnet blockchain as a currency one-to-one. We use the groundbreaking non-custodial and provable Verus-Ethereum bridge, and we don’t even need to code anything!

Max Theyse
Verus Coin
4 min readFeb 9, 2023

--

📝 Note that this walkthrough is for the Verus Testnet blockchain, which simulates the Verus blockchain once the PBaaS-upgrade (Public Blockchains as a Service) is brought to mainnet. Also, the commands are for macOS and Linux, as Windows works a bit differently. We use the CLI wallet for Verus. Download here 🔗 You can also use Verus Desktop with its incorporated terminal.

The Verus-Ethereum Bridge

👉 All tokens and currencies flowing over the bridge are never in anyone’s custody, and are proven and verified by consensus rules.

The Verus-Ethereum bridge is the first of its kind. Because it is permissionless, non-custodial and provable. We can:

  • send and receive ETH and ERC-20s to and from Verus and Ethereum
  • send and receive currencies launched on Verus to and from Ethereum
  • convert currencies through the bridge converter currency. Use on Ethereum as well as on Verus. Learn more on bridge converter currencies 🔗

Defining a Currency

Defining a currency on the Verus network is simple, just two commands are all you need. When the currency is successfully launched it can flow around within the protocol, and outside of the protocol (like an ERC-20, in our example). Let’s get started.

VerusID Namespace

Before defining the currency, we already registered the VerusID MaxUSDC@. This cost us 100 VRSCTEST (or 80 when using a referral), which were distributed to the block producers. These costs can drastically vary depending on which PBaaS-chain you create a VerusID.

VerusID is the namespace for currencies and PBaaS-blockchains, among many other things. Learn more about VerusID 🔗

Defining the mapped currency

Defining a currency costs 200 VRSCTEST. These costs can change depending on which blockchain you want to define a currency. When launching PBaaS-chains you can define your own costs in the chains’ native currency. Good to know: these costs are going to the miners and stakers of the blockchain.

With a few simple commands we will:

  • Define a currency mapped to the USDC Ethereum contract with a registered namespace (VerusID) on the Verus Testnet blockchain
  • Export the currency to Ethereum through the non-custodial, provable bridge 🔗

Before we can define the currency which is mapped to USDC on Ethereum, we must fund MaxUSDC@ with enough VRSCTEST to launch the currency. And after that with enough vETH or VRSCTEST to pay for the gas fees that export the currency to Ethereum.

200+ VRSCTEST to launch the currency, and around 0.05 vETH or equivalent worth of VRSCTEST to export the currency to Ethereum.

Fund your VerusID with vETH in two ways:

  1. Send ETH to Verus (into vETH) with the Verus-Ethereum bridge 🔗
  2. Convert VRSCTEST or any other currency into vETH using Verus’ protocol level DeFi more info on how to convert 🔗

The command that defines our currency MaxUSDC, which is mapped to the ERC-20 USDC (Goerli Testnet) contract address on Etherscan 🔗, is as follows:

./verus -chain=VRSCTEST definecurrency '{
"name":"MaxUSDC",
"options":32,
"systemid":"veth",
"parent":"vrsctest",
"launchsystemid":"vrsctest",
"nativecurrencyid":{
"type":9,
"address":"0x98339D8C260052B7ad81c28c16C0b98420f2B46a"
},
"initialsupply":0,
"proofprotocol":3
}'

⭐ To learn more about the many different launch options when defining a currency on Verus, go here 🔗 We encourage anyone to start testing the protocol to get ahead of the game. The community is happy to help on Discord 🔗

When we do the command above we get returned a HEX. Only after we make a transaction with the HEX, will the currency launch be broadcasted to the network. See below:

./verus -chain=VRSCTEST sendrawtransaction "hex"

Now you can see the currency on the Verus network. We just need to make sure it’s on Ethereum as well.

Exporting the mapped currency

Now, let’s export the currency from Verus to Ethereum as an ERC-20 over the non-custodial bridge. We do this with the following command:

./verus chain=VRSCTEST sendcurrency "MaxUSDC@" '[{
"address":"0xAD84C9EE28FB4c3b9C6ef1B86D1ED00A82DB84E9",
"currency":"MaxUSDC",
"amount":0,
"exportto":"veth",
"exportcurrency":true,
"feecurrency":"veth"
}]'

Note: the first MaxUSDC@ field is the change address for fees being returned to you, and the address is the Verus-Ethereum non-custodial smart contract bridge address. You can also omit feecurrency if you would rather pay the export fees in VRSCTEST.

After the bridge has been notarized to the blockheight where you have exported the currency, you can choose it from the token dropdown on the bridge website 🔗.

ERC-20s on Verus

After sending from Ethereum to Verus, the token is free to move through the Internet of Value on the Verus network, across PBaaS-blockchains, and also back & forth with Ethereum.

As easily as the token was first defined and launched, it can now become one of the reserves in a multi-reserve liquidity basket AMM as part of Verus DeFi.

Anybody can define a multi-reserve currency which includes MaxUSDC as a reserve with weighted percentage (10–90%). The reserves grow as they retain a small fee whenever assets are traded in/out/through.

A multi-reserve currency itself can also be used as one of the reserves in another multi-reserve liquidity basket AMM token on Verus.

👀 Stay tuned for more on this later, or start reading docs.verus.io, or join the Discord to learn.

🫡 Credits for the article go to community member ‘ejuliano’.

--

--