知らないことを調べた結果を蓄積する

プライベートなEthereum環境を作って、
コントラクトをデプロイ。

Gethのプロンプトでコントラクトを操作しようとした。
まず、ABIを設定
>abi = [ { "constant": false, "inputs": [ { "name":  〜中略〜 "name": "Approval", "type": "event" } ]
コントラクトアドレスの設定
>address = "0xXXXXXXXXXXXXXXXXXXXXXXXXX"
コントラクトのオブジェクトを取得
>obj = eth.contract(abi).at(address)

で、あとは、コントラクトのファンクションを実行するだけだけど。
上手くいかない。どうやら、 "eth.contract().at()"で上手くコントラクトのオブジェクトを取得出来ていない様子。

色々調査した結果、Genesisファイルに原因があった。

Genesisファイル作成時に、config の homesteadBlock の値が 「0」で設定していないといけないらしい。

「0」にして、初期化したら上手く動いた。

※BCの初期化は、データディレクトリにある、「geth」フォルダ以下を削除して、
 ブロックチェーンの初期化を実行するれば良い。
タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます