所以我想让一个Node服务器在调用我的合同的应付款功能时代表一个ETH地址。一些站点已经超过了类似的概念,但是仅在发送ETH的范围内,没有调用合同功能。我该怎么做?
答案 0 :(得分:0)
要与合同进行交互,您需要在节点服务器中创建合同实例。
部署合同后,您将获得contract abi
和contract address
。
var Web3 = require('web3');
var web3 = new Web3('http://localhost:8545');
var abi = [{"constant":true,"inputs":[],"name":"txcount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}];
var contractaddress = "0xf217e1fe69d.........";
var contractinstance =new web3.eth.Contract(abi, contadd);
contractinstance.methods.nameFunction(param1, param2).send({from:"0xfc312ab....", gas: 100000}, function(error, txHash){
console.log(txHash);
});
此外,您还可以从以如下形式牢固编写的函数中检索值:
contractinstance.methods.retrieveValue(param1, param2).call({from: '0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}, function(error, result){
console.log(result);
});
有关更多信息,请阅读文档here