看啥推荐读物
专栏名称: 廖雪峰
业余马拉松选手廖雪峰的公众号,各种鸡汤混杂负能量,心理承受能力不强者慎重订阅。
今天看啥  ›  专栏  ›  廖雪峰

以太坊如何实现代付GAS

廖雪峰  · 公众号  ·  · 2024-04-19 09:28
本文简单讨论以太坊如何实现GAS代付,即在钱包没有ETH的情况下与以太坊交互。首先,我们明确几个概念:用户地址:也称为EOA(Externally Owned Account),即外部控制账户,也就是用户持有私钥控制的地址。合约地址:即合约部署后的地址,没有私钥。以太坊的交易分为两类:用户把以太坊发送到另一个地址;用户与合约进行交互。因为合约不能主动发起调用,所以,合约与合约交互,实际上是用户调用合约A,合约A调用合约B的内部流程,不存在独立的合约与合约交互。针对情况1,用户地址没有ETH作为GAS是不行的,因为发送不了转账交易。针对情况2,用户与合约交互,也需要地址有ETH作为GAS,才能调用合约。举个例子,以一个简单的ERC20合约为例:class SimpleERC20 { function transfer(address to, uint256 value) public returns (bool) { uint256 balance = balanceOf[msg.send ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照