イーサリアムのスマートコントラクトを勉強しています。Mist ブラウザーを介してグリーター コントラクトを展開したところ、Mist でうまく機能しました。
そこで、デプロイされたグリーター コントラクトを使用してシンプルな Dapp を作成したいと思います。
Solidity での私の契約コード:
contract mortal {
address owner;
function mortal() { owner = msg.sender; }
function kill() { if (msg.sender == owner) suicide(owner); }
}
contract greeter is mortal {
string greeting;
function greeter(string _greeting) public {
greeting = _greeting;
}
function greet() constant returns (string) {
return greeting;
}
function changeMsg(string msg) {
greeting = msg;
}
}
Javascript での私の Dapp コード:
_connect() {
/* ... */
contract = web3.eth.contract(CONTRACT_ABI);
instance = contract.at(CONTRACT_ADDRESS);
}
_greet() {
console.log(instance.greet());
}
_changeMsg(msg) {
console.log(instance.changeMsg(msg));
}
_greet() 関数はうまく機能し、挨拶メッセージを返します。
ただし、_changeMsg() 関数は 16 進文字列のみを返します。_changeMsg() 関数を使用してグリーティング メッセージを変更するにはどうすればよいですか?
ありがとうございました。