BMIP002协议介绍
飞儿506
发表于 2023-1-1 11:46:38
391
0
0
概述
比原链技术社区最近提出了一套资产规范提议,该提议允许在issue类型的交易中实现标准资产token。该标准定义资产在链上的基本功能,以及发行人通过智能合约管理资产的规范。
功能
资产是一种可以在区块链上发行的价值,给定资产的的所有单位都是可替代的。9 m# h' ~6 L# v$ M6 }
每个资产都有全球唯一的资产ID,该资产ID来自发行程序和资产定义,发行程序通常定义一组可能的签名秘钥和阀值数量的签名,这些签名必需被提供以授权发布资产的新单元。
资产定义由提交给区块链的任意键值数据组成,提供所有参与者查看。
该标准为用户提供了一种发行资产的简单方法。它允许任何满足Bytom标准的token很容易被其他应用程序支持:比如钱包,区块链浏览器,到交易所。
一个例子是商家可以在很短的时间内在他们的商业应用中列出token。: ~3 q4 _# y5 D+ u2 K( @, g
规则
资产定义
以下规范使用标准均JSON模式的语法
5 h. ~- F2 l B! i
语法- G* K, B. A9 y% |$ w
介绍
H- e0 { w$ n( ?% Y2 h
name$ z6 Y2 _: Y1 c% X; u; B2 _
定义的资产token名字
symbol" T) z, G4 q% A9 I5 O$ a
定义的资产
* K" y+ ]( P9 R, |2 G
decimals
定义token使用的小数位数. U$ E% Q! x n
$ R0 ~* l' `% W' \; Z
quorum
定义必须交易签名以发出此token单位的可能签名密钥的阈值数。* w! X0 A0 M2 i+ \
8 C! B1 i2 U5 I: _; C; v2 K
reissue, F$ ^8 j+ ]. ]$ b0 Q1 \
定义标志是否可以多次发布资产7 f9 s/ X/ v. Q2 }. k8 e9 b
( i0 @: k: _ V& [8 c. U) A+ g
- T( Q1 A/ S- _2 u6 g% ]
description& Q: X% @' c7 u" h/ }0 M
包括由任意键值数据组成的资产描述; M2 M. n# f' Z7 R' C% b r/ u; w
Issuance Program
创建资产时,Bytom会自动创建具有智能合约的发行程序。发行人可以根据需要多次发布任意数量的单位。自定义发行计划可能会对何时,以及由谁发布新单位强制执行进一步的限制。
提示: 以下代码片段未在Equity0.1.1(或更高版本)中编写。我们建议没有限制的发行资产程序和至少2个签名秘钥
contract IssueAsset(publicKey1: PublicKey,
publicKey2: PublicKey,2 o' C v0 J. ~( `1 u
publicKey3: PublicKey) locks valueAmount of valueAsset
{
clause spend(sig1: Signature, sig2: Signature) {, n* i6 e3 z3 R" H
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])
unlock valueAmount of valueAsset1 S2 V) U# J6 K, S- A
}
}
Issuance Program will be inactive after certain block height by adding the limitHeight parameter.1 Q% d% S! u6 r" n
contract IssueAssetWithLimit(publicKey1: PublicKey,
publicKey2: PublicKey,
publicKey3: PublicKey,
limitHeight: Integer) locks valueAmount of valueAsset - W& p! ?. t+ H0 V
{
clause spend(sig1: Signature, sig2: Signature, limitHeight: Integer) {
verify below(limitHeight)
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])
unlock valueAmount of valueAsset
}: G0 W5 o8 |; s3 A( }. {- D
}
比原BMIP002协议在blockmeta中的展示- J/ Q8 ^1 X/ a
通过上面对BMIP002协议的介绍,我们知道BMIP002协议本质是对发行在比原链上的资产的一个规范,那接下来我们介绍一下这套规范在blockmeta中的具体展示。# X ]! w0 N: e9 y( B1 M
blockmeta官网:https://blockmeta.com/: h5 c- x: b5 o2 r' j: @. v
在blockmeta中主要展示在3个地方,第一点:我们打开我们发行的资产详情页面,如图中圈起来的标识,如果满足BMIP002协议的资产,会显示YES。下图中的资产不支持BMIP002协议,所以显示NO。5 P! o6 a( S" b
- h9 G$ H# T( U# }5 \% E
第二点,打开资产列表页面,如果发行的资产支持BMIP002协议,资产名的又下角会显示logo。且在整个资产列表中,支持BMIP002协议的资产排序是靠前的。7 ]" O/ ~1 s4 k$ ]2 W& j
最后一点是,我们打开一笔交易的详情,找到一笔交易的地址,我们打开地址详情页面,可以看到属于该地址的资产。如下图:# J1 F* G/ ^: [0 {' I/ P: F5 j
$ i9 l% n/ i- Y
以上就是BMIP002协议在blockmeta中的具体展示。
BMIPs:https://github.com/Bytom/bmips
成为第一个吐槽的人