如何使用 Web3 发送 Ether 并从另一个地址支付 Gas 费?

Posted

技术标签:

【中文标题】如何使用 Web3 发送 Ether 并从另一个地址支付 Gas 费?【英文标题】:How to send Ether Using Web3 and Gas Charges are Paid from Another Address? 【发布时间】:2021-03-24 15:38:28 【问题描述】:

我知道用它来发送 Ether (web3):

web3.eth.sendTransaction(
    from: 'Address A',
    to: 'Address B',
    value: '1000000000000000'
)
.then(function(receipt)
    ...
);

我正在尝试将以太币从地址 A 发送到地址 B,然后地址 C 为交易支付 gas 费用。有人知道吗?

【问题讨论】:

【参考方案1】:

与比特币的原始交易不同,您使用listunspent 创建有效负载,您不能在以太坊中为以太币执行此操作。

但是,您可以为令牌执行此操作。例如:ERC20 Token,您可以通过地址 A 到approve 地址 C 代为使用他/她的 ERC20。一旦approve交易完成,地址C就可以承担将ERC20代币从地址A转移到地址B的gas。

【讨论】:

是的,我确实使用过智能合约来处理类似的事情(之前)。但是有没有活的web3?我还在学习其中的一些东西

以上是关于如何使用 Web3 发送 Ether 并从另一个地址支付 Gas 费?的主要内容,如果未能解决你的问题,请参考以下文章

使用ether.js开发以太坊web3钱包

使用 ZeroMQ Socket 时,我可以从一个线程 send() 并从另一个线程发送 recv() 到同一个套接字吗?

使用 web3 进行奇怪的 wei 到 ether 的转换

如何可靠地使 send(2) 进行短发送?

如何使用linq c#优化嵌套循环并从另一个列表中过滤

GitLab重命名分支并从另一个重新开始