首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >接受ERC-20代币作为付款

接受ERC-20代币作为付款
EN

Ethereum用户
提问于 2018-04-28 12:19:17
回答 1查看 1.6K关注 0票数 6

我想把ERC-20令牌整合到我的店里。现在我有很多产品,所以我需要自动系统来跟踪付款。我做了一些阅读,看起来,如果我写智能契约来处理这个问题,我需要两次提示用户(一次是备抵,另一次是转帐),这不是很好。我想知道处理这个问题的普遍做法是什么?我知道ERC-223解决了这个问题,但不幸的是,大多数令牌都是ERC-20。

另一种解决方案可能是为每次购买生成新地址,但接下来我需要将ETH传输到每个地址,以便移动可能会变得非常昂贵的令牌。

EN

回答 1

Ethereum用户

回答已采纳

发布于 2018-04-28 12:29:54

您可以使用作为ERC20定义一部分的事件来跟踪支付。转移事件是在某人付款时触发的。因此,您需要侦听_to参数与收件人地址匹配的传输事件。

代码语言:javascript
复制
Transfer(address indexed _from, address indexed _to, uint256 _value)

您可能仍然有两个客户同时购买同一产品的问题,这将使您无法区分谁已经支付和谁没有支付。如果您不希望对每次支付使用单独的接收帐户,则可以为每次支付使用单独的金额:您可以在金额的最小有效位数(1-3位数字)上循环不同的值(最小的可能值通常不值任何值)。您也可以循环各种支付地址,因此只有10或100个付款地址,您收到,确保只有一个是在使用一次。

您甚至可以使用这两种策略的组合来消除“支付冲突”的风险,因为您无法区分两种支付请求。

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

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

复制
相关文章

相似问题

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