生成以太坊支付网关地址

Ray*_*heh 2 c# ethereum cryptocurrency

我想在我的网站上添加“用以太坊付款”功能,我知道在以太坊中我们有一个 HD 钱包,它为我们提供了一些帐户,但我不知道对于付款之类的东西,我是否应该每次为新发票生成新帐户?然后将以太币转入主账户?智能合约是否参与该解决方案。

我使用 dotnet core (c#) 、 ganache 作为测试链和 nethereum 。

Mik*_*maa 5

在以太坊上创建支付网关有三种方法

  1. 正如您所描述的那样,HD 钱包——与比特币时代的方法没有什么不同

  2. 单个转发的智能合约,通过交易数据字段中的参考号将客户分开。请注意,数据字段是由 MetaMask 和此类钱包自动填充的,因此用户永远不会看到这一点。请注意,如果人们没有使用 MetaMask 或 Trust mobile 等适当的钱包,而是尝试从中心化交易所进行付款,则这种方法将拒绝他们的付款。

示例: https: //github.com/TokenMarketNet/smart-contracts/blob/master/contracts/PaymentForwarder.sol

  1. 主智能合约,将新的支付转发器智能合约部署到每个进行付款的客户地址。在这种情况下,地址由 CREATE2 EVM 操作码确定。Coinbase 使用这种方法是因为它使支付处理成为非托管的,并且 Conbase 本身无法从商家那里窃取资金。任何费用都可以在智能合约中体现。

https://blog.coinbase.com/usdc- payment-processing-in-coinbase-commerce-b1af1c82fb0