ウェブサイトに Web3.js を導入して、Ethereum アドレスA から アドレスB に Ether を送る方法のメモです。
環境
- ブラウザ: MetaMask がインストールされているブラウザ
- MetaMask は file:// だと動かないので、Webサーバを用意
Mac だと、任意のディレクトリで次のようなコマンドを実行すれば、そのディレクトリをドキュメントルートにしたサーバを立てることができます。次の例の場合、ポートを 8080 に指定しているので、http://localhost:8080 でアクセス可能です。
$ python -m SimpleHTTPServer 8080 - web3.js 1.0.0-beta.18
Web3.js を導入
- https://github.com/ethereum/web3.js/releases からダウンロード
- 今回は、1.0.0-beta.18 をダウンロードしました。
- ダウンロードしたファイル内の、dist/web3.min.js を HTMLに追加します。
トランザクションの実行方法
アドレスA から アドレスB に Ether を送る、というトランザクションを実行します。
トランザクションの実行には web3.eth.sendTransaction(transactionObject [, callback]) を使用します。
- transactionObjectの内容は次の通り
- from: トランザクション送付元アドレス
- to: メッセージ送付先アドレス
- value: トランザクションで送付する wei の値
- gas: ガスリミット
- gasPrice: ガスプライス
- data: トランザクションの追加データ。コントラクトのメソッドを実行したりするときに使用
- nonce: トランザクションがまだブロックに取り込まれる前であれば、同じ nonce を指定することで上書き可能
トランザクションを実行するコード例
Scrapbox