昨日,@domodata 启动了一场基于 Ordinals 协议的创新实验「BRC-20」。该实验旨在测试 Ordinals 协议是否能够促进比特币的「可替代性」,即通过 Ordinals 协议在比特币网络上实现像在以太坊网络上发行 ERC-20 Token 的效果。
BRC-20 让比特币网络再一次疯狂。3 月 9 日一天有超过 30000 个「铭文」被铸造,其中文本类型「铭文」数量接近 27000 个。
让我们一起看看 BRC-20 Token 的玩法。
Deploy 部署
使用 Ordinals 协议刻录下图所示文本来部署 BRC-20 Token:
各关键词的含义如下:
「p」:协议类型。必须包含的关键词,该关键词定义操作基于 BRC-20 协议进行,帮助其它系统识别与处理 BRC-20 事件。
「op」:事件类型。必须包含的关键词,该关键词定义事件类型,是 Deploy 部署、Mint 铸造还是 Transfer 转账。
「tick」:BRC-20 Token 标识。必须包含的关键词,该关键词定义 BRC-20 Token 名称,由 4 个字母组成。
「max」:最大供应量。必须包含的关键词,该关键词定义 BRC-20 Token 的最大供应量。
「lim」:单个铭文可容纳的最大 BRC-20 Token 数量。非必须包含的关键词,该关键词定义用户铸造一个铭文最多可以获取多少 BRC-20 Token。若此项设置为 1000,则铸造单个铭文最多可获取 1000 个 BRC-20 Token。
「dec」:十进制精度。非必须包含的关键词,该关键词定义 BRC-20 Token 的十进制精度,默认设置为 18。
Dune上的数据显示,目前已有$ordi、$meme 与 $punk 三个 BRC-20 Token 被成功部署。
Mint 铸造
使用 Ordinals 协议刻录下图所示文本来铸造 BRC-20 Token:
各关键词的含义如下:
「p」:协议类型。必须包含的关键词,该关键词定义操作基于 BRC-20 协议进行,帮助其它系统识别与处理 BRC-20 事件。
「op」:事件类型。必须包含的关键词,该关键词定义事件类型,是 Deploy 部署、Mint 铸造还是 Transfer 转账。
「tick」:BRC-20 Token 标识。必须包含的关键词,该关键词定义 BRC-20 Token 名称,由 4 个字母组成。在这里「tick」的内容为「ordi」意味着铸造的 BRC-20 Token 为 $ordi。
「amt」:所铸造的 BRC-20 Token 数量。必须包含的关键词,该关键词定义所铸造的单个铭文将等于多少个 BRC-20 Token,给定该关键词的数值必须小于该 BRC-20 Token 所部署的「lim」值。比如,ordi 所部署的「lim」值为 1000,那么在铸造铭文时该关键词可给定 1-1000 范围内的任意数值,通常会给定 1000 拉满铸造单个铭文可获得的 ordi 数量。
Transfer 转账
使用 Ordinals 协议刻录下图所示文本来转账 BRC-20 Token:
各关键词的含义如下:
「p」:协议类型。必须包含的关键词,该关键词定义操作基于 BRC-20 协议进行,帮助其它系统识别与处理 BRC-20 事件。
「op」:事件类型。必须包含的关键词,该关键词定义事件类型,是 Deploy 部署、Mint 铸造还是 Transfer 转账。在这里「op」的内容为「transfer」意味着事件类型为转账。
「tick」:BRC-20 Token 标识。必须包含的关键词,该关键词定义 BRC-20 Token 名称,由 4 个字母组成。在这里「tick」的内容为「ordi」意味着转账的 BRC-20 Token 为 $ordi。
「amt」:所转账的 BRC-20 Token 数量。必须包含的关键词,该关键词定义将要转账多少个 BRC-20 Token。
「to」:转账目标。非必须包含的关键词,该关键词定义转账接收方的地址。若此项留空,默认接收方地址是正确的。目前,该关键词只是为了用于 Dune 看板的数据跟踪测试。
「fee」:转账费用。非必须包含的关键词,该关键词定义转账费用数额。目前,该关键词只是为了用于 Dune 看板的数据跟踪测试(在没有 Taproot 数据的情况下)。
先到先得规则
无论是 Deploy 部署、Mint 铸造还是 Transfer 转账都遵循先到先得的规则。
对于 Deploy 部署,若有同名的 BRC-20 Token 被部署,最先部署的视为唯一成功的部署。
对于 Mint 铸造,所有超出总量的 Mint 都被视为无效,有效性依据 Mint 成功的时间排序得出,「先到先得」。
对于 Transfer 转账,若同一区块内发生了 2 次转账事件,则优先考虑费用较高的事件。
铸造情况
$ordi 是第一个被部署的 BRC-20 Token。通过 UniSat 的 BRC-20 搜索功能,可以看到目前已经有 23161 个与 $ordi 铸造相关的铭文。
假设这 23161 个铭文的「amt」值全部都拉满设置为 1000,那么此时再铸造 $ordi 已经会被视为无效了,因为 $ordi 的总量被设置为 2100 万个。
如果是通过 Mint Bot 铸造的朋友要特别注意一下,Mint Bot 是先将铭文铸造到自己的地址再转移给你,还是在铸造的时候将你的地址作为接收地址。如果是「先将铭文铸造到自己的地址再转移」,这种情况就是被坑了,因为余额还挂在 Mint Bot 地址下,只要 Mint Bot 再铸造一个 Transfer 铭文就可以用掉余额。可以在 Ordinals 浏览器上对查看自己 Mint 铭文的 Genesis Transaction 进行确认(是否直接 output 到自己的地址里)。
同时也要注意,Mint 铭文并不代表余额的归属。也就是说,目前在二级市场直接买入 Mint 铭文以获得 $ordi 是不对的,必须要当前余额地址进行 Transfer 铭文的铸造来转移 $ordi。
如何 Mint BRC-20 Token?
使用UniSat可以很流畅地实现批量 Mint。
首先,进入页面,选择「BRC-20」。
之后的设置也很简单:
「Tick」栏里填写要 Mint 的 BRC-20 Token 名称。「Amount」栏里填写每个铭文包含的 Token 数量(比如$ordi 部署时设定的最高值是 1000,这里就填 1000)。最下面的「Repeat Mint」设定的是批量 Mint 的数量。(注:上文已提及 $ordi 已经大概率全部 Mint 完成。上图只做示例作用,此时不要再冒无效 Mint 的风险)
点击「Next」二次确认要 Mint 的内容无误:
再点击「Next」,在红框处填写用于接收的比特币地址。同时也可以选择 Gas 费级别,想最快完成 Mint 的话选「Custom」。
然后点击「Submit & Pay invoice」,进入支付窗口:
「Copy address below」下方显示的是打款地址,「Total Amount」显示的是打款金额。使用自己的比特币钱包完成转账以后等待铭文到账即可。
但是用 UniSat Mint 出来的铭文只有 546 个聪,社区用户担心这会在 Transfer 时因为预留用作 Gas 的聪不足造成铭文丢失。
对此,官方在 Discord 的答复是「在钱包内存入额外的手续费就可以支持转账」。
结语
大家可能会觉得,在比特币上搞这种 ERC-20 Token 的尝试有什么意义?智能合约好歹还算 ERC-20 Token 的印钞机,实打实地制造出了新 Token。这个 BRC-20 和在一张纸钞上写上我自己的名字然后把这张纸钞命名为「我的币」有什么区别?
这恰恰是 Ordinals 协议的魅力。Ordinals 协议的意义远大于带来了所谓「比特币 NFT」本身——它给了所有比特币爱好者自由赋予比特币新的意义的能力。有人认为比特币可以是「艺术载体」,有人认为比特币可以是「铸币厂」... 每个人不同的理解会让每个 Satoshi 被刻录上不同的内容,这些内容就是比特币价值多样性的种子。
@domodata 将自己称为一个「实验者」。他感谢大家对 BRC-20 这个「实验」的喜爱,也劝大家不要在 Mint 上浪费大量的资金,Salute。
越来越多的「实验者」在思考通过 Ordinals 协议能做些什么,每天都有新鲜玩意。Ordinals 协议,正让比特币的价值多样性探索进入「扫雷阶段」...
把 Ordinals 协议类比为一个游戏开发工具,我们仅开发到「扫雷」。后面会发展成什么样子呢?