尝试遵循围棋的wiki示例创建一个基本契约:https://github.com/ethereum/go-ethereum/wiki/Contracts-and-Transactions
一切似乎都正常,直到我放下,直到最后一句:
source = "contract test { function multiply(uint a) returns(uint d) { return a * 7; } }"
contract = eth.compile.solidity(source).test
primaryAddress = eth.accounts[0]
# **Problems start here **
MyContract = eth.contract(abi);
contact = MyContract.new(arg1, arg2, ...,{from: primaryAddress, data: evmCode})eth.contract方法的"abi“参数是什么?此外,我应该在"evmCode“的论点中写些什么呢?在这个特殊的例子中,我似乎会为"arg1“输入一个整数,但不确定完整的示例应该是什么样子。
发布于 2015-11-29 03:01:29
ABI是您的合同公开的接口。"evmCode“是您的合同的字节码。
要解决您的问题,请访问https://chriseth.github.io/browser-solidity/并插入您的稳固性。右边的字节码字段将给出"evmCode“的值,而Interface将为您提供ABI。
您还可以从"Web3 deploy“中复制代码片段,并将其粘贴到代码中以部署您的合同。
发布于 2018-06-29 13:10:55
ABI基本上是一个面向公众的接口,它显示了可以调用的方法。获取abi的最简单方法是使用https://remix.ethereum.org。只要粘贴到您的代码中,在列底部的Contract中,您就可以找到一个显示合同细节的链接,它基本上就是ABI json
相反,您也可以使用contracts.Introduction.interface api的web3来获得abi。
发布于 2021-06-03 07:29:42
abi是智能契约的表示,可以使用java脚本读取.To从以太部署的合同帐户中读取数据,您需要一些额外的细节,比如ABI。
获取任何智能合同的abi的步骤:
1.每个合同都有类似于this:0x0D8775F648430679A709E98d2b0Cb6250d2887EF的契约散列地址。
2.进入etherscan.io并在搜索栏中搜索您的合同地址散列,您将得到合同。
3.在合同中转到代码,您可以在那里找到这个abi
https://stackoverflow.com/questions/33927496
复制相似问题