BMIP002协议介绍
飞儿506
发表于 2023-1-1 11:46:38
287
0
0
概述) Q7 T7 B4 S' ]% c/ `
比原链技术社区最近提出了一套资产规范提议,该提议允许在issue类型的交易中实现标准资产token。该标准定义资产在链上的基本功能,以及发行人通过智能合约管理资产的规范。9 Q* L* g- w+ B8 @
功能3 d+ u& G( t# ]# Q
资产是一种可以在区块链上发行的价值,给定资产的的所有单位都是可替代的。' m7 T4 D$ S4 Y3 A- d
每个资产都有全球唯一的资产ID,该资产ID来自发行程序和资产定义,发行程序通常定义一组可能的签名秘钥和阀值数量的签名,这些签名必需被提供以授权发布资产的新单元。7 b+ E+ ]( X( {/ Z
资产定义由提交给区块链的任意键值数据组成,提供所有参与者查看。( r' `2 z/ g; O, _/ T: M
该标准为用户提供了一种发行资产的简单方法。它允许任何满足Bytom标准的token很容易被其他应用程序支持:比如钱包,区块链浏览器,到交易所。
一个例子是商家可以在很短的时间内在他们的商业应用中列出token。
规则) H# m: F2 X; B/ Q7 o) P
资产定义( N- A& U; B- \
以下规范使用标准均JSON模式的语法
# E# j' G6 c7 ^9 z: H
语法
介绍
' W5 }* V4 F4 q$ L& R& `" l
name
定义的资产token名字, n5 z. L' l& G8 A* w3 q: D( r6 t. }
) O9 w- L) L6 k8 s
symbol
定义的资产
E8 h$ H9 u1 S8 N( N
decimals0 u+ |) Y& W' s0 @( A1 Z) [
定义token使用的小数位数* g% I3 u# ?) X
quorum
定义必须交易签名以发出此token单位的可能签名密钥的阈值数。) I; S7 H! o" E9 H
reissue
定义标志是否可以多次发布资产7 o t8 i: H" u, o! s6 Q- A
description
包括由任意键值数据组成的资产描述2 S( k, w) y9 q" r1 P# ~
Issuance Program
创建资产时,Bytom会自动创建具有智能合约的发行程序。发行人可以根据需要多次发布任意数量的单位。自定义发行计划可能会对何时,以及由谁发布新单位强制执行进一步的限制。
3 l. s, c; m9 y) V0 S
提示: 以下代码片段未在Equity0.1.1(或更高版本)中编写。我们建议没有限制的发行资产程序和至少2个签名秘钥
( }4 y' O B$ V8 N7 n! [
contract IssueAsset(publicKey1: PublicKey,
publicKey2: PublicKey,& u$ [4 F1 P0 q% l2 q" n. @
publicKey3: PublicKey) locks valueAmount of valueAsset & T/ }. I, M1 o" o' a, J: J
{" A- D4 V, K/ L6 o
clause spend(sig1: Signature, sig2: Signature) {/ K4 @8 c# L) P$ M. t0 ?6 e
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])" f# V1 |9 F) h& h
unlock valueAmount of valueAsset. p) p! E- w9 M* r
}8 j$ Y f& k" a6 C
}* P, i3 L1 j0 J) W. b
Issuance Program will be inactive after certain block height by adding the limitHeight parameter.
contract IssueAssetWithLimit(publicKey1: PublicKey,6 A- U! ~- S3 P* I" N2 x
publicKey2: PublicKey,
publicKey3: PublicKey,% l5 q* A& `! {
limitHeight: Integer) locks valueAmount of valueAsset
{
clause spend(sig1: Signature, sig2: Signature, limitHeight: Integer) {
verify below(limitHeight)
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2]): q2 n o5 Z8 f$ u
unlock valueAmount of valueAsset. w# j8 }3 {7 Y. _- y- {8 m
}+ s, s( Z7 r% q! G2 N* W M; a' P7 J) H
}
比原BMIP002协议在blockmeta中的展示
通过上面对BMIP002协议的介绍,我们知道BMIP002协议本质是对发行在比原链上的资产的一个规范,那接下来我们介绍一下这套规范在blockmeta中的具体展示。
blockmeta官网:https://blockmeta.com/7 r) U. p4 Y+ w& L% {6 h6 @
在blockmeta中主要展示在3个地方,第一点:我们打开我们发行的资产详情页面,如图中圈起来的标识,如果满足BMIP002协议的资产,会显示YES。下图中的资产不支持BMIP002协议,所以显示NO。
第二点,打开资产列表页面,如果发行的资产支持BMIP002协议,资产名的又下角会显示logo。且在整个资产列表中,支持BMIP002协议的资产排序是靠前的。
最后一点是,我们打开一笔交易的详情,找到一笔交易的地址,我们打开地址详情页面,可以看到属于该地址的资产。如下图:# C7 z: N1 V- A
以上就是BMIP002协议在blockmeta中的具体展示。
BMIPs:https://github.com/Bytom/bmips
成为第一个吐槽的人