又来?Brc-20协议的改进版BOP是什么?

avatar
MarsBit
04-27

不得不感慨,“币圈一天,人间一年” 这句话不是白叫的。web3的创新速度快地惊人。距离Brc-20协议发布仅两天之后,就有另外一位Hirosystem的开发者Hugo受其启发并提出了一个改进版的协议BOP(Bitcoin ordinals protocols,比特币序数协议)。

该协议同样也是实验性质的,brc-20协议的作者对其也表示了认可,并转发了推文。“改进brc20协议”就像接力棒一样在一个个开发者手中传递下去。(注:Hiro是一个帮助在比特币二层网络stacks上构建智能合约的基础设施)

比特币

BOP的由来

Hugo发明BOP协议是基于一次对于brc-20协议的讨论,有人提出了质疑,“任何有意义的同质化代币协议都不应该使用JSON格式”(不清楚brc-20协议格式的,可以查看《BTC链上也能自主发币了?带你了解brc-20协议》),理由是:“作为底层协议,我们可以铭刻任意字节,json虽然提高了可读性,但是同时也增大了铭文的体积,第三方服务读取数据时,无需考虑协议的可读性,我们需要一个更加轻量的协议”。于是,Hugo受此启发,就创作了BOP协议(https://github.com/hugocaillard/bop)。

比特币

BOP的协议的格式

作者已经将第一版草案制作成铭文永久刻在了区块链上,编号是#420142

2575466c50a2137ac12b8cfb55e38609018264cbb9b1b0091c56c8992b7d1917i0

比特币

当我看到的第一眼,心里直呼:“好家伙好家伙,这是个啥?”,第二眼能看懂但又没完全看懂,接下来让我带大家一步一步拆解这个协议。

比特币

#d.0.bft的意思就是声明一个ID为0,名称为bft的代币标准,并且以后使用同样ID号或者名称的协议都会被忽略。

从第二行开始就声明了bft协议的发行标准,包括deploy,mint 和 transfer三个方法声明。

首先来看方法0:deploy

比特币

接下来再来看方法1:mint

比特币

方法2:transfer

比特币

如果有过编程经验的朋友看到这里肯定会联想到初学编程时的“函数声明”,函数声明的意思是给功能起名字和规定参数,方便在程序得其他地方直接调用。有了“函数声明”,那必然就有“函数实现”,调用bop协议的过程称为"Call a BOP",都要以"#c"开头,接下来我将以作者发行的第一个代币"idro"作为例子进行讲解。

部署idro

#c.0.0,调用ID号为0的协议(也就是上面的bft)的第0个方法(即部署方法)

0,idro这个代币的ID号,其他代币的ID号会递增

idro, 代币名称

21e12, 代币总量,一共是 21000000000000个

[[144,2048] ....[1728,1]],表示从部署的区块开始(区块高度780310)每隔144个区块,每次mint的数量减半,从2048开始,差不多每隔一天就会减半。

比特币

以下是代币减产表,可以根据当前的区块高度算出每次可以mint的最大数量。

比特币

铸造idro

下一步就是大家最关心的如何铸造的问题,铸造的代码很短,就一行

#c.0.1 调用ID号为0的协议(也就是上面的bft)的第1个方法(即铸造方法)

0,idro这个代币的ID号

这里缺省了数量,会根据当前区块高度按照最大的数量铸造,如果想要指定数量可以在后面添加数量,如一次铸造10个,"#c.0.1&0,10"

比特币

还有两点特别值得注意:

1.在使用第三方铸造工具时,如果它是先mint到自己的内置钱包,然后再转移到你的钱包,代币的余额会保存在工具的钱包中,所以不能使用。

2.如果同一区块内发生两个余额变化事件,则费用较高的优先。因此,每个地址每个块只能实现 1 个铸币操作。所以不能使用同一个钱包批量铸造

在这里介绍一下我们国人团队开发的铸造工具unisat的使用方法:

输入网址:https://unisat.io/inscribe 来到主页,选择 "Text"

比特币

选择”Single“(单次铸造,旁边是批量铸造),粘贴文本 "#c.0.1&0" ,点击"Next"

比特币

粘贴自己的Taproot 钱包地址(bc1p开头),然后选择合适的费率,推荐使用“Normal”以上。

比特币

下拉到付款按钮,点击 “submit & pay invoice”

比特币

最后用你自己的钱包,向指定的地址付相应数量的btc即可。

比特币

转移idro

#c.0.2  调用ID号为0的协议(也就是上面的bft)的第2个方法(即转移方法)

0,idro这个代币的ID号

100,转移的代币数量

将该文本铸造成铭文之后,并且发送到要转移的地址即可。

比特币

和ERC20对比

说到代币标准,那么不可避免地会提到以太坊上的代币标准erc20,这是由Fabian Vogelsteller 于2015年11月提出的标准,主要包括名称、符号、总供给量、账户余额和转移等方法。

比特币

从目前Bop的标准来看,名称、ID、最大供应量、铸造和转移方法都有了,账户余额和转移代币都还需要一个链上索引器和一个前端来展示,和erc20相比已经初具雏形。

和brc20相比,我觉得该协议标准更像一门编程语言,更具有编程性,可扩展性和可组合性并且更加轻量化,我觉得这是它的进步。

当然作者也多次强调这是实验性质的,希望别的开发者可以在此基础上继续优化。

总结

整个btc上的同质化代币协议还处于设想阶段,我们没有办法确认哪一个协议最终会被认可,但我们能做的是一直跟随生态的发展,一直到一套完整的解决方案出现。如果还有其他问题,

来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
3
收藏
3
评论