BMIP002协议介绍
飞儿506
发表于 2023-1-1 11:46:38
382
0
0
概述, A" }& p1 F" |' v6 m* m! W& g( A
比原链技术社区最近提出了一套资产规范提议,该提议允许在issue类型的交易中实现标准资产token。该标准定义资产在链上的基本功能,以及发行人通过智能合约管理资产的规范。4 o- _( q7 J& O8 g% _
功能4 ?9 m/ j0 n; T5 L8 a
资产是一种可以在区块链上发行的价值,给定资产的的所有单位都是可替代的。
每个资产都有全球唯一的资产ID,该资产ID来自发行程序和资产定义,发行程序通常定义一组可能的签名秘钥和阀值数量的签名,这些签名必需被提供以授权发布资产的新单元。
资产定义由提交给区块链的任意键值数据组成,提供所有参与者查看。' G- F+ I1 o) f. X
该标准为用户提供了一种发行资产的简单方法。它允许任何满足Bytom标准的token很容易被其他应用程序支持:比如钱包,区块链浏览器,到交易所。
一个例子是商家可以在很短的时间内在他们的商业应用中列出token。
规则
资产定义
以下规范使用标准均JSON模式的语法
) o! j0 h0 E0 I' N5 n7 W8 _
语法/ ?9 V- J' O; A/ \/ N& n, R; e7 A# |
介绍: W& I; ?. U$ w, g5 v
" Y# @* z. F1 G3 d, B* {
name
定义的资产token名字" P% V9 C; `" z: ]
2 ^* j* v. i4 C3 Q9 Z
! z) ^! J% O+ y, X; c4 f
symbol v) y6 z. B! q; \
定义的资产: [* K& W! X4 l) H
2 y0 [8 a. p" [( d% K% w% n( n
" m f' S% \5 K1 O2 C
decimals
定义token使用的小数位数* K* h9 j; t0 V" r, ?7 Q+ L8 r
quorum- M1 ^ _; P3 W- v+ G7 G( k
定义必须交易签名以发出此token单位的可能签名密钥的阈值数。
reissue5 O1 X: m3 l" D4 ^5 i8 @6 \5 u( k
定义标志是否可以多次发布资产
1 E* L$ n( A Y/ U$ ` m
description. R( V( w0 n/ i) p& e8 k
包括由任意键值数据组成的资产描述
2 y7 @" `7 U4 L2 I5 M+ E
Issuance Program4 A/ Y) s- N' @6 R' L* J
创建资产时,Bytom会自动创建具有智能合约的发行程序。发行人可以根据需要多次发布任意数量的单位。自定义发行计划可能会对何时,以及由谁发布新单位强制执行进一步的限制。
提示: 以下代码片段未在Equity0.1.1(或更高版本)中编写。我们建议没有限制的发行资产程序和至少2个签名秘钥
4 O, y3 I4 V$ N( v/ q- @
contract IssueAsset(publicKey1: PublicKey,, U3 @0 k( d9 J' o& O. |
publicKey2: PublicKey,
publicKey3: PublicKey) locks valueAmount of valueAsset
{
clause spend(sig1: Signature, sig2: Signature) {$ `& c, S6 y7 p. D+ q7 Q
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])
unlock valueAmount of valueAsset) I5 R, {# M, s$ t8 L7 b! @# R
}: ~3 J" @3 N- d3 ~1 h! _7 I9 ~
}
Issuance Program will be inactive after certain block height by adding the limitHeight parameter.
contract IssueAssetWithLimit(publicKey1: PublicKey,
publicKey2: PublicKey, h/ ]) F( x5 K) ]' H6 z
publicKey3: PublicKey,
limitHeight: Integer) locks valueAmount of valueAsset
{
clause spend(sig1: Signature, sig2: Signature, limitHeight: Integer) {
verify below(limitHeight)
verify checkTxMultiSig([publicKey1, publicKey2, publicKey3], [sig1, sig2])" S3 @8 a1 I1 w4 W" V
unlock valueAmount of valueAsset
}3 L4 o0 c- L$ \$ |& S
}- o R3 ^8 P5 C3 `+ I- L [) z
比原BMIP002协议在blockmeta中的展示! F+ v: J( z0 m* V
通过上面对BMIP002协议的介绍,我们知道BMIP002协议本质是对发行在比原链上的资产的一个规范,那接下来我们介绍一下这套规范在blockmeta中的具体展示。
blockmeta官网:https://blockmeta.com/8 w6 _5 _7 @. } ]; _2 n3 }: w6 f% s
在blockmeta中主要展示在3个地方,第一点:我们打开我们发行的资产详情页面,如图中圈起来的标识,如果满足BMIP002协议的资产,会显示YES。下图中的资产不支持BMIP002协议,所以显示NO。% \+ Y6 w2 B' q3 S4 Q9 n: p1 N
第二点,打开资产列表页面,如果发行的资产支持BMIP002协议,资产名的又下角会显示logo。且在整个资产列表中,支持BMIP002协议的资产排序是靠前的。
, }# ]7 r+ k4 R# U& c
最后一点是,我们打开一笔交易的详情,找到一笔交易的地址,我们打开地址详情页面,可以看到属于该地址的资产。如下图:
以上就是BMIP002协议在blockmeta中的具体展示。
BMIPs:https://github.com/Bytom/bmips
成为第一个吐槽的人