Javascript 我调用SmartContract令牌ERC20,为什么显示哈希输出?
我不知道为什么会这样,即使在以前的版本(web3+Metamask)中可以发布真实数据。但现在用作散列(输出)。我在下面的代码和输出中举了一个例子(以获取ERC20令牌上的TotalSupply): 输出:0x18160dddJavascript 我调用SmartContract令牌ERC20,为什么显示哈希输出?,javascript,blockchain,ethereum,solidity,smartcontracts,Javascript,Blockchain,Ethereum,Solidity,Smartcontracts,我不知道为什么会这样,即使在以前的版本(web3+Metamask)中可以发布真实数据。但现在用作散列(输出)。我在下面的代码和输出中举了一个例子(以获取ERC20令牌上的TotalSupply): 输出:0x18160ddd const contractInstance = web3.eth.contract(contractAbi).at(contractAddress); const total_supply = contractInstance.totalSupply.getData()
const contractInstance = web3.eth.contract(contractAbi).at(contractAddress);
const total_supply = contractInstance.totalSupply.getData();
console.log(total_supply);
如何显示真实数据?从某种意义上说,它不是散列出来的。谢谢.getData()
返回您必须发送到智能合约以调用该方法的ABI编码输入
如果您想实际调用智能合约,请使用
.call()
。如何操作?这像是contractionInstance.totalSupply.call()吗?我没有成功(错误)确切的语法取决于您是否使用web3.js 0.2.x、web3.js 1.0.x、块菌合约实例等。根据您的其他代码,我猜测这是web3.js 0.2.x,因此它可能应该是contractance.totalSupply()
。