BMIP002协议介绍
飞儿506
发表于 2023-1-1 11:46:38
321
0
0
概述9 b1 d$ E- ~ {, K
比原链技术社区最近提出了一套资产规范提议,该提议允许在issue类型的交易中实现标准资产token。该标准定义资产在链上的基本功能,以及发行人通过智能合约管理资产的规范。8 `0 A. I3 h3 B6 F ~( p7 D7 g
功能- B, e! X; A& X8 b
资产是一种可以在区块链上发行的价值,给定资产的的所有单位都是可替代的。( }$ f9 J/ J9 F2 y2 e) j
每个资产都有全球唯一的资产ID,该资产ID来自发行程序和资产定义,发行程序通常定义一组可能的签名秘钥和阀值数量的签名,这些签名必需被提供以授权发布资产的新单元。
资产定义由提交给区块链的任意键值数据组成,提供所有参与者查看。
该标准为用户提供了一种发行资产的简单方法。它允许任何满足Bytom标准的token很容易被其他应用程序支持:比如钱包,区块链浏览器,到交易所。( d2 ^, k5 \0 k! W/ F
一个例子是商家可以在很短的时间内在他们的商业应用中列出token。
规则
资产定义
以下规范使用标准均JSON模式的语法& z3 i; e; X7 _. U* R
语法
介绍
5 p# K$ H/ ?/ G6 X* W
1 z1 v. |- G8 X: h# y
name
定义的资产token名字
: W7 e% l! h) G: d0 F! g
symbol% [* c% t0 W; c
定义的资产
decimals
定义token使用的小数位数
quorum
定义必须交易签名以发出此token单位的可能签名密钥的阈值数。
reissue
定义标志是否可以多次发布资产$ ^3 e8 J" f. e9 p
description) g5 t6 c' x2 ^9 F; r, X
包括由任意键值数据组成的资产描述% _( ~% |) [, m! n/ [! E
Issuance Program G6 ]" K4 w( ?+ ~% @4 i% R- d
创建资产时,Bytom会自动创建具有智能合约的发行程序。发行人可以根据需要多次发布任意数量的单位。自定义发行计划可能会对何时,以及由谁发布新单位强制执行进一步的限制。; z# u9 U% o/ g0 d
! N# N/ P1 B' j3 U
提示: 以下代码片段未在Equity0.1.1(或更高版本)中编写。我们建议没有限制的发行资产程序和至少2个签名秘钥
contract IssueAsset(publicKey1: PublicKey,
publicKey2: PublicKey,
publicKey3: PublicKey) locks valueAmount of valueAsset
{
clause spend(sig1: Signature, sig2: Signature) {9 F, c. B! Y" P3 l: `' _6 \
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])
unlock valueAmount of valueAsset
}" E5 c3 V' C0 N( g/ `( D- D
}7 l) C- n) K1 { B
Issuance Program will be inactive after certain block height by adding the limitHeight parameter.+ r5 _" h6 ~) z: R' H Y9 u3 |
contract IssueAssetWithLimit(publicKey1: PublicKey,3 @1 ]2 H1 w. ]+ Z/ Y4 K5 X
publicKey2: PublicKey,9 e( I0 ?6 }8 [% c
publicKey3: PublicKey,* y3 W" M" K: f) k: t- z
limitHeight: Integer) locks valueAmount of valueAsset
{' f7 h0 U* F% p0 i
clause spend(sig1: Signature, sig2: Signature, limitHeight: Integer) {
verify below(limitHeight)2 Z* I0 ], ~; F1 x. i" v
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])" K1 {% o2 A2 E5 y* [# F- k: g& ^9 L
unlock valueAmount of valueAsset
}% Y- C) ~5 ]7 l3 @
}+ {! J- S5 }- q& l
比原BMIP002协议在blockmeta中的展示4 ^4 O u$ h- J3 A
通过上面对BMIP002协议的介绍,我们知道BMIP002协议本质是对发行在比原链上的资产的一个规范,那接下来我们介绍一下这套规范在blockmeta中的具体展示。
blockmeta官网:https://blockmeta.com/. H" H* R0 M, C$ ^2 O s( H8 L2 S
在blockmeta中主要展示在3个地方,第一点:我们打开我们发行的资产详情页面,如图中圈起来的标识,如果满足BMIP002协议的资产,会显示YES。下图中的资产不支持BMIP002协议,所以显示NO。
第二点,打开资产列表页面,如果发行的资产支持BMIP002协议,资产名的又下角会显示logo。且在整个资产列表中,支持BMIP002协议的资产排序是靠前的。
$ d, y+ x! S& p, G9 @
最后一点是,我们打开一笔交易的详情,找到一笔交易的地址,我们打开地址详情页面,可以看到属于该地址的资产。如下图:$ h. ~3 \* J' b% T( q) Z( k
# o$ j. P% d+ K# c3 }
以上就是BMIP002协议在blockmeta中的具体展示。
BMIPs:https://github.com/Bytom/bmips
成为第一个吐槽的人