BMIP002协议介绍
飞儿506
发表于 2023-1-1 11:46:38
243
0
0
概述
比原链技术社区最近提出了一套资产规范提议,该提议允许在issue类型的交易中实现标准资产token。该标准定义资产在链上的基本功能,以及发行人通过智能合约管理资产的规范。# X9 r( M4 H& d! H3 p
功能
资产是一种可以在区块链上发行的价值,给定资产的的所有单位都是可替代的。
每个资产都有全球唯一的资产ID,该资产ID来自发行程序和资产定义,发行程序通常定义一组可能的签名秘钥和阀值数量的签名,这些签名必需被提供以授权发布资产的新单元。! v/ b. u- n8 T* }% ]0 _ q/ I
资产定义由提交给区块链的任意键值数据组成,提供所有参与者查看。
该标准为用户提供了一种发行资产的简单方法。它允许任何满足Bytom标准的token很容易被其他应用程序支持:比如钱包,区块链浏览器,到交易所。- s7 t$ H1 J; V% c% J: A) e
一个例子是商家可以在很短的时间内在他们的商业应用中列出token。
规则7 H; _+ }" u0 z) k$ x/ y
资产定义" C; V2 `) z. z3 N
以下规范使用标准均JSON模式的语法
语法& W0 Z1 f" w6 ]" G5 q# e
介绍
. u- z& M" B& p; O. t( S
name& w+ Q! p4 q! O4 e
定义的资产token名字8 G' T& e9 l. d1 Q/ X0 m
symbol
定义的资产, B; j* _$ B' o+ r$ h. J( s
1 F; |! z$ M# F. ]; Y8 R( u
decimals
定义token使用的小数位数( N9 |1 v' ]. v) l, R6 \0 {
+ P9 Q' r9 M- Y: c: `6 p0 p
quorum
定义必须交易签名以发出此token单位的可能签名密钥的阈值数。1 ?. S! `8 f! N8 x- n
reissue
定义标志是否可以多次发布资产. o" w9 v% R- D' [! `7 A: Q
description
包括由任意键值数据组成的资产描述; ?! i) r2 | m A3 _
Issuance Program7 O4 g2 k- O6 K5 x
创建资产时,Bytom会自动创建具有智能合约的发行程序。发行人可以根据需要多次发布任意数量的单位。自定义发行计划可能会对何时,以及由谁发布新单位强制执行进一步的限制。2 x! ~0 `& g( m- p* H% J. C
7 m6 p& j9 E$ v& i1 y7 D
提示: 以下代码片段未在Equity0.1.1(或更高版本)中编写。我们建议没有限制的发行资产程序和至少2个签名秘钥
! l% n* e! o' j! v3 q5 Y
contract IssueAsset(publicKey1: PublicKey,
publicKey2: PublicKey,4 ]; @3 ?7 w3 W5 L& G
publicKey3: PublicKey) locks valueAmount of valueAsset ( r* w3 t- C; ^0 P, M8 [; I d
{
clause spend(sig1: Signature, sig2: Signature) {
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])9 }/ Y7 U# \) r: J. T
unlock valueAmount of valueAsset9 x4 _1 w# o" r. {3 |2 I2 `
}9 n2 P- L2 ^2 @: G0 e9 w
}$ z, d' }# j I3 O5 M
Issuance Program will be inactive after certain block height by adding the limitHeight parameter.5 C7 O: x6 l6 Y2 R
contract IssueAssetWithLimit(publicKey1: PublicKey,) z/ e8 `, R) ~" F* _
publicKey2: PublicKey,5 k. @ h9 L$ m7 o' m
publicKey3: PublicKey,) X, J3 z* P6 L* n
limitHeight: Integer) locks valueAmount of valueAsset
{ O$ Z* w) u- W
clause spend(sig1: Signature, sig2: Signature, limitHeight: Integer) {
verify below(limitHeight)) w% R/ S7 K7 u; I' N
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])) i# O+ R/ I# a7 N9 q
unlock valueAmount of valueAsset
}4 D" W* @& j; {( L- a! O* Z K
}
比原BMIP002协议在blockmeta中的展示' A4 T7 y5 p- e, j$ h6 ^; F
通过上面对BMIP002协议的介绍,我们知道BMIP002协议本质是对发行在比原链上的资产的一个规范,那接下来我们介绍一下这套规范在blockmeta中的具体展示。
blockmeta官网:https://blockmeta.com/& c0 r' |) S: ]- F/ g4 L) e. I! n! o
在blockmeta中主要展示在3个地方,第一点:我们打开我们发行的资产详情页面,如图中圈起来的标识,如果满足BMIP002协议的资产,会显示YES。下图中的资产不支持BMIP002协议,所以显示NO。
+ a# j8 g( o! G. G! O
第二点,打开资产列表页面,如果发行的资产支持BMIP002协议,资产名的又下角会显示logo。且在整个资产列表中,支持BMIP002协议的资产排序是靠前的。
最后一点是,我们打开一笔交易的详情,找到一笔交易的地址,我们打开地址详情页面,可以看到属于该地址的资产。如下图: M* a+ [- n3 u2 X( C1 m$ S
以上就是BMIP002协议在blockmeta中的具体展示。9 ^5 w! j3 \- ^
BMIPs:https://github.com/Bytom/bmips
成为第一个吐槽的人