以太坊部署的合约未在Geth Javascript控制台中定义



我无法从Geth Javascript控制台访问私有网络上已部署和开采的以太坊合约。不确定问题出在哪里,感谢任何帮助。

提前感谢您的时间。

场景

我启动了我的 Geth 如下

geth --datadir ~/.ethereum/myProject --networkid 1234 --rpc --rpcport 8546 --rpcapi "eth,net,web3" --unlock 0 console

我已经部署并挖掘了一个以太坊合约(为了简化事情,我使用了Truffle提供的默认MetaCoin合约(,并且我得到了trx和合约地址。我可以从Truffle控制台访问它,但是如果我尝试从Geth Javascript控制台访问它,则会出现错误。

请参考以下图片:

松露控制台

Geth JavaScript 控制台

使用的软件

  • Geth (v1.7.3 稳定版(
  • NodeJS (v6.12.3(
  • TestRPC (v6.0.3 (ganache-core:2.0.2((
  • 松露 (v4.0.5(

Geth 不知道MetaCoin .在 Geth 控制台中,您需要执行以下操作:

var MetaCoin = web3.eth.Contract(metaCoinJsonAbi, itsAddress);
// or web3.eth.contract depending on the version of Web3

然后你可以使用它。请参阅此处。

最新更新