tokens – Implementing Same ERC20 Token on Both BSC & Ethereum Networks: Best Practices

bsccontract-deploymenterc-20tokens

I'm developing a ERC20 token to deploy on BSC network. But the client requests that the token should be on both BSC & Ethereum networks. I did a research and found out these methods.

  • Binance bridging (Looks like this is only for the binance listed tokens, so not applicable)
  • Deploying on both networks on the same contract address (But the two tokens balances, prices, holders will be independent)

Is there any standard way of doing this, possibly with capabilities of syncing two contracts somehow? Any resource or suggestion on this would be very helpful.

Best Answer

You need to deploy compatible token contracts on both networks, ideally not ERC-20 but ERC-677, and then set up a two-way bridge on both networks.

You should look into ChainSafe's Chain Bridge or POA Network's Token Bridge. I would recommend an AMB with an ERC-677-to-677 module.

Make sure the bridge mode is set to AMB_ERC_TO_ERC:

BRIDGE_MODE=AMB_ERC_TO_ERC

With regards to having the same contract address on both networks, this is easy: just use the same private key with the same transaction nonce to deploy the contract.

Related Topic