是否可以根据特定事件交换 ERC-20 令牌?

Can ERC-20 Token be exchanged based on certain event?

我有一个关于购买 ERC-20 代币的异常方式的快速问题,想知道这在技术上是否可行。

假设有一个智能合约生成并持有名为 'ThankYou' 代币的 ERC-20Token,该代币的供应量为 10 亿个。

1) 用户A捐赠100ETH给有需要的child。

2) 智能合约检测到用户 A 捐赠了 100 ETH 并验证 100ETH 确实已经发送到 child

3) 智能合约被触发发送 30ThankYou 代币给用户 A 做善事。

非常感谢您对此的看法。我只遇到过 'buying' 用 ETH 获得 ERC-20 代币的情况(基于 ERC-20 代币的价格)。我想知道我提到的上述步骤是否可行。如果是,那么用户 A 是否可以出售这 30 个 ThankYou 代币以换取 ETH。

谢谢,

不,我认为智能合约不可能监听事件。
但是,您可以编写一个 Web 应用程序,它会监听一个事件,然后远程调用智能合约中的函数。但这必须在区块链之外发生。

除此之外,您可以实现一个函数 askForThanks(),它会检查用户过去是否捐赠了一定数量的以太币,并相应地向他发送 ThankYou 代币。

And If yes, then can User A sell that 30ThankYou tokens for a exchange with ETH.

如果人们愿意购买 ThankYou 代币(尽管我认为这会削弱您代币的全部用途),您当然可以像交易任何其他 ERC20 代币一样交易这些代币。