BMIP002协议介绍
飞儿506
发表于 2023-1-1 11:46:38
290
0
0
概述1 r- n* x4 ~7 K3 L- ~$ E
比原链技术社区最近提出了一套资产规范提议,该提议允许在issue类型的交易中实现标准资产token。该标准定义资产在链上的基本功能,以及发行人通过智能合约管理资产的规范。
功能, [) u% ^; M( t% d% f
资产是一种可以在区块链上发行的价值,给定资产的的所有单位都是可替代的。
每个资产都有全球唯一的资产ID,该资产ID来自发行程序和资产定义,发行程序通常定义一组可能的签名秘钥和阀值数量的签名,这些签名必需被提供以授权发布资产的新单元。
资产定义由提交给区块链的任意键值数据组成,提供所有参与者查看。
该标准为用户提供了一种发行资产的简单方法。它允许任何满足Bytom标准的token很容易被其他应用程序支持:比如钱包,区块链浏览器,到交易所。) N! d5 D) C" f2 J+ y
一个例子是商家可以在很短的时间内在他们的商业应用中列出token。
规则
资产定义
以下规范使用标准均JSON模式的语法; t1 U6 Y! H; m% ]7 d9 c) F
语法
介绍0 g6 N. S) j8 N, X, S7 S) l
O( @$ u. E, S
: y% G5 A& c& i2 G" ~6 A$ M$ x, {
name' I3 L' B1 p- `4 J c, @$ |. S0 X" k5 w! y
定义的资产token名字
/ x& Z( t5 ~1 U# z5 q( X
, O/ L" \ I# }7 m# i4 w0 B
symbol* H5 N. s7 |. b; [4 T
定义的资产+ w3 h1 u% `5 Z( Z' D6 K# X. m
5 m) e; T4 S2 w
decimals8 }6 b3 T4 f2 l" j) t
定义token使用的小数位数
4 H, @+ U0 ]' Y1 y
quorum
定义必须交易签名以发出此token单位的可能签名密钥的阈值数。
reissue
定义标志是否可以多次发布资产' _3 f- `; \+ {3 K" b+ r- [
6 Z$ B. L7 g" T8 Y( I& T
description- |: S6 ]0 N) `5 @* g% J3 c5 i% k
包括由任意键值数据组成的资产描述
( C2 C' u0 ~( T# j1 S% G
Issuance Program1 @( t& q/ {* p6 S& Z
创建资产时,Bytom会自动创建具有智能合约的发行程序。发行人可以根据需要多次发布任意数量的单位。自定义发行计划可能会对何时,以及由谁发布新单位强制执行进一步的限制。
+ c7 c8 Q- ~, h4 d0 [, P
提示: 以下代码片段未在Equity0.1.1(或更高版本)中编写。我们建议没有限制的发行资产程序和至少2个签名秘钥* c& G4 a5 }) W! j: G" i
contract IssueAsset(publicKey1: PublicKey,2 q. |' o6 V) G( r% R) \
publicKey2: PublicKey,
publicKey3: PublicKey) locks valueAmount of valueAsset ' z2 r0 X1 ]. _( G5 G
{8 V3 z0 }! } W- i
clause spend(sig1: Signature, sig2: Signature) {4 e0 o7 J f1 W: e3 B
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])
unlock valueAmount of valueAsset4 \. i# U9 L1 l% i
}
}7 f; b5 V: v4 p- N5 C7 @2 A6 ]1 K' H
Issuance Program will be inactive after certain block height by adding the limitHeight parameter.
contract IssueAssetWithLimit(publicKey1: PublicKey,. M2 B+ ^0 R& U3 o2 K- Y
publicKey2: PublicKey,
publicKey3: PublicKey,3 f& C( S- E7 z7 r
limitHeight: Integer) locks valueAmount of valueAsset
{
clause spend(sig1: Signature, sig2: Signature, limitHeight: Integer) {/ j/ b1 U# Y- x! g4 l4 b
verify below(limitHeight)
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])& T8 i2 K! `8 X
unlock valueAmount of valueAsset
}3 e8 B0 M0 V0 }7 X$ e
}8 \4 M, g5 n. ]2 q/ F7 c
比原BMIP002协议在blockmeta中的展示
通过上面对BMIP002协议的介绍,我们知道BMIP002协议本质是对发行在比原链上的资产的一个规范,那接下来我们介绍一下这套规范在blockmeta中的具体展示。
blockmeta官网:https://blockmeta.com/
在blockmeta中主要展示在3个地方,第一点:我们打开我们发行的资产详情页面,如图中圈起来的标识,如果满足BMIP002协议的资产,会显示YES。下图中的资产不支持BMIP002协议,所以显示NO。
6 z% D+ g4 |0 W0 s: o, I; j1 B
第二点,打开资产列表页面,如果发行的资产支持BMIP002协议,资产名的又下角会显示logo。且在整个资产列表中,支持BMIP002协议的资产排序是靠前的。
最后一点是,我们打开一笔交易的详情,找到一笔交易的地址,我们打开地址详情页面,可以看到属于该地址的资产。如下图:
以上就是BMIP002协议在blockmeta中的具体展示。
BMIPs:https://github.com/Bytom/bmips
成为第一个吐槽的人