Hi 游客

更多精彩,请登录!

比特池塘 Just discuss 正文

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

嘿嘿嘿qqw
31 0 0
不得不感慨,“币圈一天,人间一年” 这句话不是白叫的。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,minttransfer三个方法声明。
首先来看方法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上的同质化代币协议还处于设想阶段,我们没有办法确认哪一个协议最终会被认可,但我们能做的是一直跟随生态的发展,一直到一套完整的解决方案出现。如果还有其他问题,
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

嘿嘿嘿qqw 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    6