首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sendTransaction与合同方法的混淆

sendTransaction与合同方法的混淆
EN

Ethereum用户
提问于 2020-12-14 23:51:10
回答 1查看 1.2K关注 0票数 1

我正在构建一个与智能契约对话的UI,并且我正在使用合同方法。

代码语言:javascript
复制
const data = await contract.methods.buyCredits().send({
        from: account,
        gas: 233000,
        value: choice.value,
      });

但是在几个问题中注意到了sendTransaction的使用。

区别是sendTransaction只是一个原始的合同钱包,钱包到钱包发送的以太-而不是一个合同的方法调用?web3.eth.sendTransaction或合同方法

有什么区别?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2020-12-15 05:01:51

在技术上,您也可以通过sendTransaction调用契约函数,方法是在data字段中指定编码函数--调用(如正式文件中所解释的)。

例如:

代码语言:javascript
复制
const transaction = contract.methods.func(arg1, arg2, arg3);
const receipt = await web3.eth.sendTransaction({
    value: someValue,
    from: accountAddress,
    to: transaction._parent._address,
    gas: transaction.estimateGas({from: accountAddress, value: someValue}),
    data: transaction.encodeABI()
});

当然,正如您的问题所示,您也可以使用send直接执行函数。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/91124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档