使用 web3.js 的“发送”有啥问题?

Posted

技术标签:

【中文标题】使用 web3.js 的“发送”有啥问题?【英文标题】:What is the problem in use of "send" of web3.js?使用 web3.js 的“发送”有什么问题? 【发布时间】:2019-07-15 07:46:28 【问题描述】:

我正在尝试使用 web3.js (v1.0.0) 向智能合约发送交易,所以我使用合约的send() 方法。我的代码:

let contract = new icoWeb3.eth.Contract(getABI(), contractAddress);

contract.methods.myMethod().send(
    from: from,
    value: value
);

问题是contract.methods.myMethod 等于“未定义”。所以我不能利用send() 方法来做我需要的事情。文档示例代码:

myContract.methods.myMethod([param1[, param2[, ...]]]).send(options[, callback])

我需要做什么才能使方法send() 工作?谢谢,我希望你的帮助...

【问题讨论】:

您必须将参数传递给方法,不是吗? web3js.readthedocs.io/en/1.0/web3-eth-contract.html#id13 可以分享一下你的合约方式吗? 【参考方案1】:

如果您使用发送,则您正在调用合约的 setter 方法。

所以,你应该提供一些论据:

 MyMethod(args1 [, args2, ...])

你能提供你的solidity合约的方法吗?

【讨论】:

以上是关于使用 web3.js 的“发送”有啥问题?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 web3.js 发送 ERC20 令牌

发送以太坊交易,Web3.js 没有源地址,但有源私钥?

如何使用 web3.js 1.0 认证和发送合约方法

尝试发送 USDC 时无法获取钱包签名者 @solana-labs/web3.js

如何使用 web3.js 注销 MetaMask 帐户

在 web3.js 中创建帐户而不运行 geth?