ビットコインと連動するERC20トークンを作ってみた

記事
IT・テクノロジー
bitcoinjs-libとtruffleを使って、ビットコインと連動して動くERC20トークンを作ってみました。
こちらが、トークンの購入画面です。

図105.png

金額を入力して、購入ボタンを押すとMetaMaskが開きます。

図107.png


このコントラクトにはイベントが定義されています。
実行結果をEtherscanから確認。


図108.png


サーバー側でイベントを感知して、ビットコインを移動します。
その結果がこちら。

図104.png

テストネットのビットコインが足りず桁を下げています。本来なら1 BTC = 1 トークンを想定しています。
また、ビットコインのテストネットなので、当然アドレスがイーサリアムのものと変わっています。
こちらのテストネットのアドレスは、送金者のイーサリアムのアドレス + ○○(セキュリティ面を考慮して秘密)で作っています。
ビットコインの送金完了後、ウォレット側にトークンを送ります。

図106.png

トークンが送られて、残高が1となりました。
省略しますが、売却を押すとコントラクトのイベントが実行された後、トークンを送金する関数が動きます。
そのイベントを感知してビットコインの移動が行われるのも確認できました。
また、ビットコインの移動が失敗(残高不足など)すると、トークンを送金者に返金する部分も上手く動作しました。
今回は、動作確認のためビットコインの移動は、あるアドレスから別のアドレスへ移動させただけですが、実際に使う時はコインチェック等の取引所のAPIを使ったらいいのではないかと思っています。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す