Browser Solidityで簡単なスマートコントラクトをやってみたかったら、いろいろハマったので、メモしておきます。
前提
スマートコントラクト内容は特に何もないですが、やりたいのは、スマートコントラクトコンストラクタメソッドでパラメータのアドレスをownerAddress
に保持したいだけ。
pragma solidity ^0.4.0;
contract TestTranster {
address public ownerAddress;
function TestTranster(address _ownerAddress) public {
ownerAddress = _ownerAddress;
}
}
はまったこと
-
Web3 Provider
を使いたいが、geth
を起動しておいているのに、Not possible to connect to the Web3 provider. Make sure the provider is running and a connection is open (via IPC or RPC).
で接続できない - コンストラクタメソッドのパラメータはどうやって渡すかは分からない
-
creation of browser/ballot.sol:CloudeaClubTranster errored: authentication needed: password or unlock
- 現象:これはまあ、分かると思いますが、操作しているAccountをunlockしておく必要がある
- 解決方法:geth consoleで、
personal.unlockAccount('選択されているアカウントのアドレス', 'そのアカウントのパスワード')
実行しておいてから、Create
ボタンクリックするとできました。 - もちろん、
miner.start()
を実行しないと、ブロックチェーンに書き込まられない
以上