Deploy an example Teleporter Token Bridge on the local network.
Teleporter Token Bridge enables users to transfer tokens between Subnets. The bridge is a set of
smart contracts that are deployed across multiple Subnets, and leverages Teleporter for cross-chain
communication.
For more information on Teleporter Token Bridge, check:
This how-to guide focuses on deploying Teleporter Token Bridge on a local Avalanche network.
After this tutorial, you would have learned how to transfer an ERC-20 token between two
Teleporter-enabled Subnets and between C-Chain and a Teleporter-enabled Subnet.
First, let's create an ERC-20 Token and deploy it to C-Chain. For our example, it will be called
TOK.
Sample script to deploy the ERC-20 Token can be found here.
Note that you will need to modify the script here
based on where you place the deploy script directory in your environment.
Prior to executing the script, you will first need to install Foundry
in your environment.
To deploy the ERC-20 Token to C-Chain, we will call:
When the command is run, our EWOQ address 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC would have
received 100000 TOK tokens in C-Chain.
Note that 0x5DB9A7629912EBF95876228C24A848de0bfB43A9 is our ERC-20 Token address, which we will
use in our next command.
Next, we will now deploy Teleporter Token Bridge to our Local Network, where we will deploy
the Home Contract to C-Chain and the Remote Contract to our Subnet.
Before we transfer our ERC-20 token from C-Chain to our Subnet, we will first call avalanche key list command to check our initial balances in C-Chain and Subnet.
We will inquire the balances of our ERC-20 Token TOK both in C-Chain and our Subnet, which has the
address of 0x5DB9A7629912EBF95876228C24A848de0bfB43A9 in the C-Chain and address of
0x7DD1190e6F6CE8eE13C08F007FdAEE2f881B45D0 in our Subnet testSubnet.
Now we will transfer 100 TOK tokens from our ewoq address in C-Chain to subnet_testSubnet_airdrop
address in our Subnet testSubnet. Note that we will be using the Home contract address 0x4Ac1d98D9cEF99EC6546dEd4Bd550b0b287aaD6D
and Remote contract address 0x7DD1190e6F6CE8eE13C08F007FdAEE2f881B45D0.