Web3:如何从另一个钱包支付交易费用?

Web3: How to pay transaction fee from another wallet?

我需要帮助。我有一个网页,用户在其中注册并为他创建一个新的钱包地址(我拥有私钥)。然后他会在该地址收到 erc20 代币,然后他可以将它们提取到自己的私人钱包中。问题是在那个新创建的钱包上没有原生代币(例如用于支付交易费用的 MATIC)。我如何从另一个钱包为该交易支付费用?这可能吗?还有什么办法可以解决这个问题?

我需要先将 MATIC 发送到那个新钱包,这样我才能支付费用,这有点愚蠢,不是吗?我实际上会为此支付双倍费用。

我想要的是与交易所拥有的系统有点相同。您可以存入和提取代币。但我很困惑他们如何支付交易费用?

EVM 网络本身不支持为另一个地址支付 gas 费用。

交易所通常会从持有多个代币的热钱包中提取代币以及网络的原生代币。

他们何时从存款钱包中收集 ERC-20 代币,这是他们业务战略的一部分。这可能取决于:

  • 用户是否也存入原生代币
  • 其中有多少
  • 热钱包中该特定 ERC20 代币的交易所余额是多少。如果它很低,交易所可能愿意通过将原生代币发送到一些存款钱包来支付溢价,以便能够快速收集 ERC20 代币。
  • 定期清理所有存款钱包。例如。他们可能每月一次将原生代币发送到他们所有的存款钱包,并将所有 ERC20 代币转移到他们的热钱包。
  • 等...