首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ERC-20象征性奖励积分:赚取和失去它们。

ERC-20象征性奖励积分:赚取和失去它们。
EN

Ethereum用户
提问于 2020-12-12 06:18:17
回答 2查看 648关注 0票数 0

我正在开发一个记分系统,我想用ERC-20代币.

对于我来说,“分发点/代币”给执行某些任务的钱包地址是很清楚的,但是,我的业务规则也有“惩罚”,钱包地址应该是松散点/标记.

我怎样才能做到这一点?当我分发一个令牌时,它不能从第三方地址中“删除”。对吗?

你怎么做?

谢谢

EN

回答 2

Ethereum用户

发布于 2020-12-12 06:29:28

在我的头上-你要使用你的自定义ERC20令牌吗?如果是,则仅在transfer方法中添加条件,使用户只传输令牌,而不锁定令牌(用户不受惩罚的令牌数量)。在每次传输时,条件将检查必须发送的令牌金额是否等于或小于用户未锁定余额。

如果使用的是已部署的ERC20令牌,则不能禁止用户使用应该禁止的令牌数量。您可以禁止在另一个智能联系人中使用令牌,但不能不允许用户将令牌从一个钱包地址发送到另一个钱包地址。

票数 1
EN

Ethereum用户

发布于 2020-12-13 23:00:19

你得把你的顾虑分开。

一般来说,传输的令牌超出了您的控制范围。因此,如果您想要削减余额,您应该在您自己的合同中持有标记,并将其作为内部会计事项,首先从depositwithdraw函数开始,并建立一个存储您的合同负债的结构:

代码语言:javascript
复制
mapping(address => unit) public playerTokenBalances;

在这种简单的模式下,你的合同中的代币“正在使用”,而收回的代币则安全地掌握在持有者手中--避免被大幅减刑的可能性。没有任何函数,您可以写,将在另一个钱包中花费令牌未经同意。

将奖励系统概念化可能就足够了,这样人们就会更愿意将他们的令牌(索赔)大部分时间留在您的合同中。而且,由于这是你的合同,这些余额将服从你的规则。

如果您发现这不足以满足您的用例,那么就有可能创建一个非标准的ERC20令牌契约来实现一些幕后逻辑。严格地说,ERC20是一个标准接口和一组必须实现的最小行为集,但它不是可以存在的函数的限制,也不是在契约中展开的逻辑。

这样一种特别的实施将得到非常仔细的考虑,因此通常最好选择第一种选择。

希望能帮上忙。

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

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

复制
相关文章

相似问题

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