Ethereum(17) - コントラクト名とアドレスを管理するスマートコントラクト(実行編)

前回、コントラクト名とアドレスを管理するスマートコントラクトを実装しました。

今回はそのスマートコントラクトのデプロイと動作確認を行います。

アカウントごとの役割

アカウントの役割は次の通りです。

  • MAIN ACCOUNT (eth.accounts[0])
    オーナー
  • ACCOUNT1 (eth.accounts[1])
    利用者
  • ACCOUNT3 (eth.accounts[3])
    マイニングする

デプロイ

まずはデプロイを行います。

デプロイアカウントはMAIN ACCOUNTで、デプロイ時に必要なパラメータはありません。

[デプロイ時のイメージ]

コントラクト名の登録

register関数をコールして、コントラクト名を登録します。

コントラクト名はASCIIで指定する必要があります。

contract1を設定したいのでそれをASCII変換した0x636f6e747261637431を入力します。

[コントラクト名の登録]

登録内容の確認

コントラクト名が登録されていることを確認します。

[登録内容の確認]

早速問題が発生しています。

Num Contractsが1になっているので登録処理は実行されているのですが、コントラクト名contract1がどこにも見つかりません。

ContractsステートのOwnerのアドレスも0x0x0000000000000000000000000000000000000000となっており、オーナーのアドレスになっていません。


次回は、コントラクト名やオーナーアドレスがきちんと登録されるように調査・改善していきたいと思います。