原文作者:Cookie,律動BlockBeats
昨日,@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 鑄造情況
$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 協議類比為一個遊戲開發工具,我們僅開發到「掃雷」。後面會發展成什麼樣子呢?