erc1404

比较好的文章:

https://www.8btc.com/article/281107

ERC1404实现

ERC1404继承了ERC20的所有优点, 同时在ERC20的基础上增加了两个新的函数, 用以适配转移通证过程中的合规条件。

解释:

detectTransferRestriction:

 

a) 必须由发行方实现

 

 

b) 必须在 transfer/transferFrom 中被调用。

 

 

c) 如果返回一个非0值, 则交易需要被revert。

 

 

d) 发行者需要在该函数中实现token的各种限制: 检查接收方是否在某个白名单上、检查发送方的token是否处于锁定期。第三方也可以通过调用该接口得知transfer是否受限。通过返回一个uint8,调用者可以得知失败的原因,并针对不同的原因做不同类型的处理。

 

 

需要说明的是:

a) 检查的逻辑没有限制一定在链上,可以利用Oracle接入线下官方资源进行合规性检查。

b) 也可以用一个第三方合约,实现检查逻辑,而第三方的合约是可以进行升级的。

 

messageForTransferRestriction

 

a) 必须由发行方实现

 

 

b) 用来将一个错误码解释为可读的错误信息。这在某些场景下非常有用(比如钱包跟交易所之间的交易)。

 

 

需要说明的是:此函数只是为了进行错误码的转换,如果错误码已经标准化,此函数就可以不需要了,ERC-1066正是在做这方面的努力。详情请参考小编上一篇文章《ERC1066标准解析》。

 

新增的这2个接口为ERC20通证带来了控制条件: 何时、何种条件下可以转移多少通证。比如发行方在转移通证之前, 可以查询客户是否在白名单, 以及发送的通证是否在锁定期内。

因此, ERC1404虽然只是增加了2个接口,却提供了新的灵活性。

ERC1404示例

 

单个账号份额限制 http://t.cn/E4UZuZ1

账号数量限制 http://t.cn/E4Uwykb

白名单管理 http://t.cn/E4UwMMz

Token精确拆分 http://t.cn/E4UwOjf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值