我正在构建一个dapp,并希望与一个已经存在的合同进行交互。
以前,我使用过特松露,我编写了我自己的合同,编译并部署了它。这个过程产生了一个契约伪,我可以在truffle-contract库中使用它,并使用web3进行调用。
我将如何调用一个我从未编译过的预先存在的合同,并因此而没有合同的伪制品呢?
发布于 2017-08-12 14:25:16
您需要ABI和合同部署的地址。
var abi = <ABI of contract>; // Set contract ABI
var newContract = web3.eth.contract(abi); // Contract object
var contractInstance = newContract.at(<Contract Address>); // instance of the contract
contractInstance.functionName.call(); // Invoke any function of the contract发布于 2017-08-12 14:55:51
在这种情况下,您必须使用web3js部署契约,然后您可以在不需要松露帮助的情况下调用契约函数。
以前我也有过使用web3部署合同的类似需要,所以在这个要旨中我有一个使用web3部署合同的示例代码,您可能会觉得值得一看。
https://ethereum.stackexchange.com/questions/24220
复制相似问题