DAPP Token Cross-Chain Bridging Guide

Step-by-Step Walkthrough Guide for Transferring DAPP Tokens Between EOS and Ethereum

DAPP Labs
The DAPP Network Blog
6 min readJul 20, 2021

--

This guide makes the assumption that the reader already has both an EOS account with resources as well as an Ethereum address containing some ETH for gas. If this is not the case, we suggest you visit the links below and follow their instructions.

Ethereum Wallet

Download MetaMask

MetaMask — How to Create Your Own Ether Private Wallet

EOS Wallet

Download Anchor Wallet for Desktop and Mobile

Account Creation using Credit Card, BTC, BCC, LTC, or ETH

EOS Account Generation Service

Step 1

Visit bifrost.dappfronts.io to access the DAPP Account DAO Bifrost bridge frontend.

Step 2

2.1 — Connect EOS Wallet

Click on the red “CONNECT WALLET” text below EOS on your screen.

2.2 — Choose EOS Wallet

You will be prompted to choose which EOS wallet you’d like to connect with. We will be using Anchor for this guide.

2.3 — Open Anchor app

2.4 — Complete Signing Request

You will be prompted by Anchor for a signing request to verify your EOS account. Click on your account name or green button in the bottom right of the prompt window to prove identity.

Step 3

3.1 — Connect Ethereum Wallet

After successfully connecting your EOS wallet, click on the red “CONNECT WALLET” text below ETH to connect your Ethereum wallet to the bridge frontend.

3.2 — Choose Ethereum Wallet

MetaMask is currently the only Ethereum wallet option for the bridge frontend, so click on its logo or name on the modal to proceed to the next step.

3.3 — Connect MetaMask to Bridge Frontend

Select the checkbox next to the Ethereum address you would like to connect with on the first prompt from MetaMask then click “Next”.

On the next screen, click the “Connect” button to connect it to the bridge frontend.

3.4 — SUCCESS!

If successfully connected to both ends, you will see a green checkmark icon next to your account or address under both EOS and Etheruem.

Step 4

The bridge requires users to map an EOS account name to their Ethereum address through a registration action. This action will add your EOS account name to a table on Ethereum and your Ethereum address to a table on EOS. Due to the gas costs on Ethereum, you will be charged a one time registration fee denominated in EOS to cover the ETH based on current rates.

If you have already used the bridge previously for a different token, you may skip ahead to Step 5.

4.1 — Register Blockchain Account On-Chain

Click the purple “Register” button at the bottom right of your screen.

4.2 — Sign EOS Transaction

After clicking Register, you will be prompted by Anchor to sign a transaction for the registration.

Step 5

5.1 — Send DAPP Tokens to Ethereum

Enter the quantity of DAPP tokens that you wish to send to Ethereum and then click on the purple “Send Tokens” button at the bottom right of your screen.

Please Note: This cross-chain transaction will incur Ethereum gas fees, which are paid for using DAPP tokens to cover the required ETH.

5.2 — Anchor Signing Request

You will once again be prompted by Anchor to sign another transaction. Click on your account name or green icon at the bottom right of the window prompt to sign the transaction.

5.3 — SUCCESS!

After signing the bridge transfer action, green checkboxes will be displayed that indicate the steps that have been completed in this multi-chain transaction between EOS and Ethereum.

Example of Successful Bridge Transactions

EOS

https://bloks.io/transaction/aa5d1b14b91271479858ee0d9043209a745ad45da4fb27398d9f8ad807e53300

Ethereum

https://etherscan.io/tx/0x84bf819005ae82e07c9bbd1724b537fa36cb8b521a9a1b1dce020f5c9fd8188d

Send DAPP ERC20 to EOS

Now that you’ve successfully registered your accounts and have sent DAPP tokens to Ethereum, the steps below will outline how you may send your DAPP ERC20 tokens to EOS.

If you originally acquired your DAPP tokens on Ethereum, please follow Step 1–3 above before proceeding to the steps below.

Step 6

6.1 — Send DAPP ERC20 Tokens to EOS

Enter the quantity of DAPP ERC20 tokens that you wish to send from your Ethereum address to EOS and then click on the purple “Send Tokens” button at the bottom right of your screen.

Note: Sending ERC20 tokens consists of 2 parts — (1) allowing the bridge contract to spend tokens on your behalf and (2) actually sending the tokens. You may optionally check the box for “Infinite Approval”. Checking this box will approve future allowance in advance (part 1 outlined above), removing the need to approve every transaction separately and therefore saving future gas cost. Not checking this box will require an additional confirmation before each future transaction.

6.2 — Confirm MetaMask Transactions

You will first be prompted by MetaMask with a light transaction to confirm a bridge permission allowing it to spend tokens on your Ethereum address. This is a normal permission required for Ethereum dApps interacting with ERC20 tokens and you can read more about it here if you’re unfamiliar. If you checked the box in the previous step for “Infinity Approvals”, then you will only be prompted to confirm this transaction the first time you send DAPP ERC20 tokens. Click the blue “Confirm” button to sign the transaction.

After confirming the first part of the transaction above, which may take a few minutes depending on network congestion and your gas spent, you will then be prompted with a second transaction that contains the actual token transfer action to send the DAPP ERC20 tokens to the bridge smart contract. Click on the blue “Confirm” button when prompted to do so to complete the second part of this transaction.

6.3 — Wait

When sending tokens back from Ethereum to EOS, it may take several minutes for the necessary block confirmations before the transaction is deemed complete.

This is completely normal, so do not worry if it seems to be taking too long. In this example transaction, 10–15 minutes had passed before the transaction had completed.

6.4 — SUCCESS!

After the transactions have been confirmed on both Ethereum and EOS, all three green checkmarks will appear on your screen. At this point, you should be able to see the DAPP token balance in your EOS wallet.

Example of Successful Bridge Transactions

EOS

https://bloks.io/transaction/2e1dfe0463a5463be5870d0f5929a75353e337e4dae0bcf8b80c08194b4dd74a

Ethereum

https://etherscan.io/tx/0x84bf819005ae82e07c9bbd1724b537fa36cb8b521a9a1b1dce020f5c9fd8188d

--

--