智能合约:.methods.request()。send()不显示任何内容

时间:2019-03-02 21:03:36

标签: node.js blockchain ethereum solidity smartcontracts

我有以下问题:

我在remix上写了一个智能合约:

pragma solidity ^0.5.1;

contract anotherTry {

 function Hello() external pure returns (string memory) {
    return "Hello World !!!";
}


}

然后我编译它,然后得到它的WEB3DEPLOY数据并将其添加到我的Geth控制台中。我从remix网站收到的合同地址和ABI就是这样使用它们的:

//addr = the contract address received from the Geth console
//abit = obviously,the ABI
//account = a random & valid account address(I've tried with addr too...who knows maybe it could work)

let MyContract = new web3.eth.Contract(abi, addr);
MyContract.methods.Hello().send({ from: account }).then(receipt => { console.log("SUCCESS"); });

问题是我没有收到任何消息,但是尝试时会收到带有函数和内容的循环结构

console.log(MyContract.methods);

有人知道为什么我无法“连接”到我的智能合约吗? 我正在将NodeJS与web3 1.0.0和Geth一起使用

1 个答案:

答案 0 :(得分:0)

我解决了,

实际上是web3提供程序声明的问题,我应该调用method.request()。call()而不是.send()

仍然感谢您的帮助!