前回、コントラクト名とアドレスを管理するスマートコントラクトを実装しました。
今回はそのスマートコントラクトのデプロイと動作確認を行います。
アカウントごとの役割
アカウントの役割は次の通りです。
- 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となっており、オーナーのアドレスになっていません。
次回は、コントラクト名やオーナーアドレスがきちんと登録されるように調査・改善していきたいと思います。