自分で作ったERC20トークンをArbitrumにブリッジする方法
この記事でやること
自分でイーサリアムメインネットにデプロイしたERC20トークンをレイヤー2ネットワークであるArbitrumに標準ブリッジします。
メインネット、テストネットどちらも同様にできます。
公式はこちら。基本この通りなんですけど、この記事は初心者向けにもうちょっと具体的に優しく書いてみます。
ただし、この標準ブリッジをやっても、まだArbitrum bridgeでは運営のホワイトリストに乗ってるトークンしか移動できない。(なのでほとんどやる意味はない)
ブリッジついでにarbitrumにトークンを送る事は可能。でも送ったトークンをMainnetに戻す方法は今のところ提供されてない?ので注意。前提
- イーサリアムメインネットにERC20トークンをデプロイ済み
- Arbitrumではmintしない、あくまでメインネットでmintされたERC20トークンをArbitrumに移動させる標準ブリッジ。
- MacターミナルとかWindowsのコマンドプロンプトの基本操作(cdとかlsとか)が一通りできる。
- gitがインストールされてる。(インストールしてない人はググってインストールして)
- yarnがインストールされてる。(インストールしてない人はググってインストールして)
- infuraやalchemyでノードを取得している。(してない人はググって登録して(無料))
やり方
①git cloneで必要ファイル類をダウンロード。
ターミナルで適当な場所に移動して、
git clone https://github.com/OffchainLabs/arbitrum.git
を実行。
②git submodule update --init --recursive
ダウンロード完了したら、
git submodule update --init --recursive
を実行。
③arbitrumフォルダに移動。
①によってarbitrumフォルダが出来てるので、cd arbitrum
でその中に入る。
④ yarn install
arbitrumフォルダの中で、
yarn install
を実行。(3分くらいかかる)
⑤packages/arb-tsに移動
cd packages/arb-ts
を実行。
⑥環境変数PRIVKEYに秘密鍵を設定。
ブリッジ作成を実行するアドレスの秘密鍵を環境変数PRIVKEYに設定する。
export PRIVKEY=(秘密鍵)
(Mac)もしくはset PRIVKEY=(秘密鍵)
(Windows)を実行。
- そのアドレスにはMainnetで十分なガス代のETHがなければならない。
- 秘密鍵は、例えばMetaMaskにあるアカウントであれば「アカウントの詳細」→「秘密鍵のエクスポート」で取得できる。
- 秘密鍵は誰にも知られないように! バレると全部取られる。
⑦環境変数MAINNET_RPCにノードポイントのURLを設定。
infuraやalchemyで取得したmainnetのノードポイントのURLを設定する。
export MAINNET_RPC=(ノードポイントのURL)
(Mac)もしくはset MAINNET_RPC=(ノードポイントのURL)
(Windows)を実行。
<alchemyの例>
⑧yarn bridgeStandardTokenを実行。
yarn bridgeStandardToken --networkID 1 --l1TokenAddress (トークンのmainnetでのコントラクトアドレス) --amount (初回にarbitrumに転送したいトークン量)
を実行する。
例えば、MainnetからTiqCoin(メインネットでのコントラクトアドレス0xB8949b6DE0869735d71D0f07d1e899e57f1076d6)をarbitrumにブリッジし、ついでに100TIQをarbitrumに送りたい場合はこう。
5分ほどかかるが、これでブリッジ完了。
(とはいえ、まだarbitrumのブリッジはβ版なので、どうやらブリッジのサイトではトークンを移動できないみたいだ。なので上のコマンドでarbitrumに移動させた100TIQは、まだMainnetには戻せないっぽい。要注意や!!!)
Discussion