其他分享
首页 > 其他分享> > BEPs协议:BUMO STO 10 协议

BEPs协议:BUMO STO 10 协议

作者:互联网

BUMO STO 10 协议

简介

STO 10 (Security Token Standard)是指基于 BUMO 智能合约发行证券型 token 的标准协议。该标准在 CTP 10 的基础上制定了增发 token,销毁 token,存储相关法律文件,将 token进行分片 ( tranche ),为 tranche 设置锁定期等约束条件,允许将指定 tranche 的 token 授权给第三方操作人,添加控制者 ( 如监控部门 ) 的相关功能。

目标

基于该协议标准发行的 token,能够在任何司法管辖区内发行和管理,并能够符合相关的监管限制。

规则

BUMO 智能合约由 JavaScript 语言实现, 包含初始化函数 init 和两个入口函数 main、query 。init 函数用于合约创建时初始化,main 函数主要负责数据写入,query 函数负责数据查询。

STO 属性

Token 基本信息

key: global_attribute
value: {
    "version": "1.0",
    "name": "Security Token",
    "symbol": "STO",
    "decimals": 8,
    "totalSupply": "100000",
    "scheduledTotalSupply":"100000",
    "owner":""
}

Tranche 属性及限制

key: tranche_attribute_id
value: {
    "description": "private",
    "limits": [{
        "name": "lockupPeriod",
        "value": "1517470155872949",
    },
    ……
    ]
}

所有 tranche 余额总和

key: balance_tokenHolder
value: {
    "value": "100000000", 
    "tranches": ["0", "1",……]
}

Tranche 余额

key: tranche_tokenHolder_id
value: "10000"

操作者

key: operator_tokenHolder_operatorAddress
value: ["0", "1", ……]

控制者

key: global_controller
value: [address1, addres2, ...]

授权

key: allowance_tokenHolder_tranche_spenderAddress
value: "1000"

文档

key: document_documentName
value: {
    "url": "https://BUMO.io/BUMO-Technology-White-Paper-cn",
    "hashType": "sha256",
    "documentHash": "ad67d57ae19de8068dbcd47282146bd553fe9f684c57c8c114453863ee41abc3",
    "provider": "buQXRbzyDaVpX3JT3Wd2gj2U2ZzVWZRpwcng",
    "date": 1544595438978280
}

事件

函数setDocumentcreateTranchetransferWithDatatransferFromWithDatatransferFromToTranchetransferTranchetransferToTranchetransfersToTranchecontrollerTransfercontrollerRedeemauthorizeOperatorrevokeOperatorauthorizeOperatorForTrancherevokeOperatorForTrancheoperatorTransferTrancheoperatorRedeemTrancheissueissueToTrancheredeemredeemFromredeemTrancheredeemFromTranchetransferapproveapproveTranchetransferFrom会触发事件,事件是调用tlog接口,在区块链上记录一条交易日志,该日志记录了函数调用详情,方便用户阅读。

tlog定义如下:

tlog(topic,args...);

功能函数

BUMO ATP 20 协议中的函数包括tokenInfosetDocumentgetDocumentcreateTranchebalanceOfbalanceOfTranchetranchesOftransferWithDatatransferFromToTranchetransferTranchetransferToTranchetransfersToTrancheisControllablecontrollerTransfercontrollerRedeemauthorizeOperatorrevokeOperatorauthorizeOperatorForTrancherevokeOperatorForTrancheisOperatorisOperatorForTrancheoperatorTransferTrancheoperatorRedeemTrancheisIssuableissueissueToTrancheredeemredeemFromredeemTrancheredeemFromTranchecanTransfercanTransferTranchecanTransferToTranchetransfertransferFromapproveapproveTrancheallowanceallowanceForTranche

tokenInfo

setDocument

注意:仅限于 token 的所有权拥有人和控制者使用。

getDocument

createTranche

注意:仅限于 token 的所有权拥有者使用。

注意: 最多只允许分配给8个 tokenHolders

balanceOf

balanceOfTranche

tranchesOf

transferWithData

transferFromWithData

transferFromToTranche

transferTranche

transferToTranche

transfersToTranche

isControllable

注意:如果 isControllable 是 true,那么 controller 在不需要授权的情况下,可以使用 operatorTransferTranche 和 operatorRedeemTranche 。

controllerTransfer

注意:在某些法域中,发行人(或由发行人委托的实体)可能需要保留强制转移 token 的能力。这可能是为了解决法律纠纷或法院命令,或补救投资者失去访问他们的私钥。

controllerRedeem

注意:在某些法域中,发行人(或由发行人委托的实体)可能需要保留强制转移 token的能力。这可能是为了解决法律纠纷或法院命令,或补救投资者失去访问他们的私钥。

authorizeOperator

revokeOperator

authorizeOperatorForTranche

revokeOperatorForTranche

isOperator

isOperatorForTranche

operatorTransferTranche

operatorRedeemTranche

isIssuable

issue

issueToTranche

redeem

redeemFrom

redeemTranche

redeemFromTranche

canTransfer

canTransferTranche

canTransferToTranche

transfer

transferFrom

approve

approveTranche

allowance

allowanceForTranche

合约入口

init

返回值:

​ 成功:无

​ 失败:抛出异常

main

query

标签:10,tranche,STO,value,Token,params,input,BEPs,method
来源: https://blog.csdn.net/shangsongwww/article/details/89684109