调用Web3合约发送功能节点

时间:2018-07-28 23:48:25

标签: node.js web3

所以我想让一个Node服务器在调用我的合同的应付款功能时代表一个ETH地址。一些站点已经超过了类似的概念,但是仅在发送ETH的范围内,没有调用合同功能。我该怎么做?

1 个答案:

答案 0 :(得分:0)

要与合同进行交互,您需要在节点服务器中创建合同实例。

部署合同后,您将获得contract abicontract 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