Step 1 - Create a MetaMask and NEAR Wallet account
Create a MetaMask Account
If you haven't done so already, go ahead and create a MetaMask account. A metamask is a crypto-currency wallet that runs as a browser extension and mobile app. This wallet will allow you to interact with the Ethereum blockchain and use dApps (decentralized applications). If you would like to learn more please visit this link.
I find it useful to download MetaMask on both my mobile phone and my desktop browser (personally using the Brave browser myself but you may use your preferred website noted on the downloads webpage)
Create a NEAR Wallet Account
- Go to wallet.testnet.near.org to create your NEAR testnet account and follow the instructions.
Please note that Ledger protected wallets will not work at this time on the Rainbow Bridge. If you have a ledger protected wallet, it's advised to make a new one and use a seed phrase
Step 2 - Enter the Rainbow Bridge
- Visit here to get started
(Fig. 1 Rainbow Bridge Home)
- Following that link you should see this page (Fig. 1) before you. Let's get the lay of the land....
(Fig. 2 Network Selection Tool)
- In the upper left hand corner of the screen you will the network selection tool (Fig. 2).
(Fig. 3 Network Selection Tool Dropdown List)
Here you will see 3 options:
NEAR - Ethereum (Mainnet which means this works with real cryptocurrency)
NEAR Testnet - Ropsten (This utilizes test tokens on Ethereum's Ropsten Testnet and NEAR's Testnet)
NEAR Testnet - Ropsten (This utilizes test tokens on Ethereum's Rinkeby Testnet and NEAR's Testnet)
Developers may want to use the testnet tokens for development while designing their dApps. While the average user may just want to utilize the mainnet to transfer tokens between Ethereum and NEAR.
(Fig. 4 Ethereum and near account selection tools and transfer direction)
This handy little interface will allow the user to connect to their MetaMask wallet and NEAR wallet and determine the direction of transfer.
The connect buttons will allow you to connect to their respective wallets while the button in the middle will allow you to change the transfer the (from - to) directions.
Step 3 - Let's get Connected! (MetaMask)
- Select connect on the Ethereum Line first.
(Fig. 5 MetaMask and WalletConnect Options )
- Here you will be presented with two options, "Connect to your MetaMask Wallet " or "Scan with WalletConnect". We'll go over both options
Option 1 - MetaMask Button
- Upon selecting the first MetaMask Option you will be redirected into this screen. Select which one of your wallets you would like to connect the application to and then hit next.
(Fig. 6 MetaMask Connect Page 1 )
(Fig. 7 Permissions window)
In Figure 7 you will see a list of actions that you are allowing the application to do while interacting with your wallet.
If you are ok with this then hit the connect button.
(Fig. 8 Network Selection Error)
- If you see the error showing figure 8, simply open your browser extensions button, then select metamask.
(Fig. 9 MetaMask Network Connection Option)
- After selecting MetaMask you will see a network selection dropdown tool. Make sure the option selected here is the same one that you chose in the application. Once a connection has been made successfully you should see the following in place of the connection option you saw earlier.
(Fig. 10 Successful connection )
Option 2 - WalletConnect
If you select WalletConnect, you will be presented with a QR Code.
On the wallet screen of your MetaMask Mobile app, you will see in the upper right hand corner of the screen the option to get to the scanner mode. Open this from your desired MetaMask Wallet and you should be on your way!
This also works with other wallets if you prefer to use something other than MetaMask.
(Fig 11 MetaMask Mobile Application; Image Source:https://metamask.io/download )
Step 4 - Let's get Connected! (Near Wallet)
- Good Job! Now let's move onto the next step, connecting your near wallet.
(Fig 12 connect to near wallet button)
- Select the connect button next to the Near Icon.
(Fig 13 Near Wallet )
- You will be redirected to the NEAR wallet. Select the allow button to continue and you'll be redirected to the application. And that's it!
Step 5 - Beginning The Transfer
- Select the Begin New Transfer Button Then you'll be redirected to the window shown in Figure 14.
(Fig. 14 Transfer Window)
- On this window the first thing you want to do is hit "Select ERC20" Button.
(Fig 15 Select ERC20 Menu)
You will see a few options here, if you have Tokens stored in your MetaMask wallet. they will appear here.
The Token Names shown here mean:
TST - Ethereum Test Tokens
FAU - Faucet Tokens
USDT - Tether which is a blockchain based crypto currency whose crypto-coins in circulation are backed by an equivalent amount of traditional fiat currencies like the Dollar, the Euro, or the Yen.
The other option you have is a Token Address, which is different than your MetaMask Wallet Address.
Token Address - (Or Token Contract Address) refers to the location of the actual token contract that manages the logic of the tokens, not the address that holds your own tokens.
To get a better idea of how this works and what this is, we will make our own token contract. Don't worry this can be done in a few simple steps. Let's pay a visit to etherscan contract writing tool. You can switch the network if you'd like but know that this link will send you to the Ropsten Testnet.
(Fig 16. Connect to Web3 )
Select on the Connect to Web3 button to get started. Select MetaMask and you should see the button turn into this. Upon first connection to your meta mask you may need to open the MetaMask browser extension to grant the application permission to interact with your wallet.
After you're connected, select "showMeTheMoney".
(Fig 17 Show Me the Money)
- Enter in you MetaMask Wallet Address you can retrieve this from the MetaMask Browser extension. In Figure 18 I can copy my wallet address to the clipboard directly by clicking on "Account 1".
(Fig. 18 MetaMask Browser Extension)
Paste the Key into the "_to(address) field" in etherscan.
Notice that in the profile summary on the same page we see the decimals set to 18. Which means that if we want say 100 test tokens we have to enter in 100*10^18 or 100000000000000000000. Enter this as the value if _value (unit256), and then select write.
(Fig. 19 Fee Confirmation Page)
After selecting write you'll be redirected to the fee summary page. Every transaction that takes place on a blockchain will incur a fee. But in this case since we are just working on a testnet you don't have to worry about the fees here (fake monies). So select confirm.
Go back to Etherscan and select the ViewTransaction button. You should see your transaction pending.
(Fig. 20 Pending transaction)
- Once this is complete you should see this (see Figure 21) a successful transaction.
(Fig. 21 Success ful transaction)
- Open your MetaMask and look at the activity tab, and you should see "Show Me The Money" appear on the list, don't worry that it says -0ETH.
(Fig. 22 Where it says profile summary)
- Under profile summary where it says contract, copy that address and paste it into the transaction screen. Afterwards you should see a value appear next to "available to transfer" ( See Figure 23).
(Fig. 23 Available to transfer)
- Now enter a value into the window and select Approve Transfer.
(Fig. 24 Confirm the Transfer)
(Fig 25 Lock Tokens)
- Hit the lock button.
(Fig 26 Waiting for Ethereum Confirmations)
(Fig 27 Mint Tokens into NEAR Wallet)
- And hit the mint Tokens Button.
- What's next? Practice and try transferring the tokens back from your NEAR Testnet wallet back to your MetaMask