代码之家  ›  专栏  ›  技术社区  ›  user6102

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

  •  0
  • user6102  · 技术社区  · 6 年前

    我无法从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控制台访问它,我会得到一个错误。

    请参考以下图片:

    Truffle console

    Geth javascript console

    使用的软件

    • Geth(v1.7.3-稳定)
    • NodeJS(v6.12.3)
    • TestRPC(v6.0.3(ganache核心:2.0.2))
    • 块菌(v4.0.5)
    1 回复  |  直到 6 年前
        1
  •  1
  •   Xavier Leprêtre    6 年前

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

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

    然后你可以使用它。 Refer to this .