我正在使用Ruby学习以太坊区块链并使用此库:
https://github.com/EthWorks/ethereum.rb
我按照指南使用文件greeter.sol:
https://github.com/marekkirejczyk/ruby_ethereum_example/blob/master/contracts/greeter.sol
但我总是遇到这个错误:
invalid argument 0: json: cannot unmarshal non-string into Go struct field SendTxArgs.from of type common.Address
这是我目前的代码
contract = Ethereum::Contract.create file: File.join(File.dirname(__FILE__), '../contracts/greeter.sol')
address = contract.deploy_and_wait("Hello from ethereum.rb!")
任何人都可以帮助我,我对此很陌生。
感谢。
答案 0 :(得分:4)
您可能应为default_account
指定client(sender address)
。
就我而言,我已经以这种方式添加了它:
client = Ethereum::IpcClient.new("your path to .ipc", true)
client.default_account = '0xa9db3f4efe....'
然后
contract = Ethereum::Contract.create( abi: abi, name: name, client:client, address: address)