9月份以太坊社区相继出现 ERC-1400/1404/1410/1411 等证券型通证发行(Security Token Offering,简称STO)的标准提案,预示着通证市场开始主动拥抱政策监管,以太坊社区也在技术上寻求合规通证的实现机制。
ERC-1643: 让智能合约关联法律文件
对于证券型通证(Security Token, 简称ST)来说, 发行的法律合规性是第一要务。
ST 及其所有权通常需要定义投资者或发行人的权利和义务,因此将法律文件与相关合约关联起来的能力就非常重要。
ERC-1643正是提供了这种能力: 它允许发行者为通证合约添加法律合规文档, 并为该文档操作提供了一组标准的接口, 包括文档查阅、修改以及对变更的订阅。
如何在链上表示一份文档
在ERC-1643标准中, 一份链上文档(document)通常用以下数据关联表示:
- 文档名称, 类型byte32
- 最近修改时间, 类型uint256
- 内容的hash值, 类型bytes32
- 统一资源标识符(URI), 类型string
ERC-1643 文档管理接口
ERC-1643文档管理接口一览:
详解:
getDocument
功能: 获得文档详情
@param _name 文档名称
@return string 文档的统一资源定位符(URI)
@return byte32 内容hash值
@return uint256 最近修改的时间戳
setDocument
功能: 添加或更新文档
@param _name 文档名称
@param _uri 文档的统一资源定位符(URI)
@param _documentHash 内容hash值
注意:
- 文档添加/更新失败, setDocument必须抛出
- 文档添加/更新成功, 必须触发 DocumentUpdated 事件
removeDocument
功能: 删除文档
@param _name 文档名称
注意:
- 文档删除失败, removeDocument必须抛出
- 文档删除成功, 必须触发 DocumentRemoved 事件
getAllDocuments
功能: 返回同一智能合约上添加的所有文档列表, 包括:
- 通过setDocument添加的文档
- 未被removeDocument删除掉的文档
文档事件
@param _name 文档名称
@param _uri 文档的统一资源定位符(URI)
@param _documentHash 内容hash值
@return _timestamp 最近修改的时间戳
结语
由ERC-1643提供的标准接口, 为智能合约提供了关联法律文件的能力, 钱包、交易所、其他第三方都将依此获得法律文件的标准视图,通证持有者也能及时订阅这些文件的更新。
可以说, ERC-1643为1400系列的STO标准提供了至关重要的基础设施。
参考:
https://github.com/ethereum/EIPs/issues/1643
往期文章
®作者简介:Codefine好码安全团队专注于智能合约安全审计和全生命周期管理, 已为全球多家交易所、钱包、公链做过智能合约安全审计和开发管理。团队通过独有的多维审计引擎,持续为合作伙伴提供正确、安全、可用的智能合约基础设施。