Ethereum の生のトランザクションを作って、 Etherscan から push したときのメモです。
Web3 でアドレス A から アドレス B に 0.001 Ether を送るトランザクションを作り、トランザクション自体は、Etherscan の pushTx からブロードキャストします。
node.js で生トランザクションを取得するコード例
得られた生のトランザクション
Etherscan の pushTx でトランザクションを投げる
Etherscan の pushTx でトランザクションをブロードキャストします。
今回は、Ropsten のものを使用: https://ropsten.etherscan.io/pushTx
Send Transaction ボタンを押したら、しばらくした後にトランザクションがブロックに取り込まれ、トランザクションが完了しました。
実際に実行されたトランザクション
https://ropsten.etherscan.io/tx/0xe0edff2576225259751445b8ce03dbe978a35ee40d345f032e2f8e697a1a21d4
Ropsten とMainnet
後でちゃんと調べないと行けないけど、Ropsten と Mainnet では、作成できる tx は異なるという理解でいいのかな?そうしないと Ropsten で実行されたトランザクションを、トランザクションを実行した本人が望まなくても Mainnet に投げることができてしまうので。(リプレイアタック?)
とりあえず、Ropsten と同じトランザクションを Mainnet に投げてみよう。
次のようなエラーが表示されました。
Error! Unable to broadcast Tx : {"id":"1","jsonrpc":"2.0","error":"One or more errors occurred."}
そもそもトランザクションを作るときに、ネットワークの ID を入れるのかな?
トランザクションを作る手順の詳細を理解しておきたいです。