比特幣網路有可能像以太坊網路一樣發行ERC-20 Token嗎? 本文將介紹如何鑄造「BRC-20」。
(前情提要:比特幣Layer2》STX單日暴漲107%! 已獲SEC准許、可提供Ordinals NFT擴容 )
(背景補充: 觀點|從不同角度看,比特幣網路距離 Visa、萬事達卡還有多遠?)
今年 3 月,@domodata 啟動了一場基於 Ordinals 協議的創新實驗「BRC-20」。該實驗旨在測試 Ordinals 協議是否能夠促進比特幣的「可替代性」,即通過 Ordinals 協議在比特幣網路上實現像在以太坊網路上發行 ERC-20 代幣的效果。
BRC-20 讓比特幣網路再一次瘋狂。3 月 9 日一天有超過 30000 個「銘文」被鑄造,其中文字類別「銘文」數量接近 27000 個。
讓我們一起看看 BRC-20 代幣的玩法。
Deploy 部署
使用 Ordinals 協議燒錄下圖所示文字來部署 BRC-20 代幣:
各關鍵詞的含義如下:
「p」:協議型別。必須包含的關鍵詞,該關鍵詞定義操作基於 BRC-20 協議進行,幫助其它系統識別與處理 BRC-20 事件。
「op」:事件型別。必須包含的關鍵詞,該關鍵詞定義事件型別,是 Deploy 部署、Mint 鑄造還是 Transfer 轉帳。
「tick」:BRC-20 代幣標示。必須包含的關鍵詞,該關鍵詞定義 BRC-20 代幣名稱,由 4 個字母組成。
「max」:最大供應量。必須包含的關鍵詞,該關鍵詞定義 BRC-20 代幣的最大供應量。
「lim」:單個銘文可容納的最大 BRC-20 代幣數量。非必須包含的關鍵詞,該關鍵詞定義使用者鑄造一個銘文最多可以獲取多少 BRC-20 代幣。若此項設定為 1000,則鑄造單個銘文最多可獲取 1000 個 BRC-20 代幣。
「dec」:十進位制精度。非必須包含的關鍵詞,該關鍵詞定義 BRC-20 代幣的十進位制精度,預設設定為 18。
Dune 上的資料顯示,目前已有 $ordi、$meme 與 $punk 三個 BRC-20 代幣被成功部署。
Mint 鑄造
使用 Ordinals 協議燒錄下圖所示文字來鑄造 BRC-20 代幣:
各關鍵詞的含義如下:
「p」:協議型別。必須包含的關鍵詞,該關鍵詞定義操作基於 BRC-20 協議進行,幫助其它系統識別與處理 BRC-20 事件。
「op」:事件型別。必須包含的關鍵詞,該關鍵詞定義事件型別,是 Deploy 部署、Mint 鑄造還是 Transfer 轉帳。
「tick」:BRC-20 代幣標示。必須包含的關鍵詞,該關鍵詞定義 BRC-20 代幣名稱,由 4 個字母組成。在這裡「tick」的內容為「ordi」意味著鑄造的 BRC-20 代幣為 $ordi。
「amt」:所鑄造的 BRC-20 代幣數量。必須包含的關鍵詞,該關鍵詞定義所鑄造的單個銘文將等於多少個 BRC-20 代幣,給定該關鍵詞的數值必須小於該 BRC-20 代幣所部署的「lim」值。比如,ordi 所部署的「lim」值為 1000,那麼在鑄造銘文時該關鍵詞可給定 1-1000 範圍內的任意數值,通常會給定 1000 拉滿鑄造單個銘文可獲得的 ordi 數量。
Transfer 轉帳
使用 Ordinals 協議燒錄下圖所示文字來轉帳 BRC-20 代幣:
各關鍵詞的含義如下:
「p」:協議型別。必須包含的關鍵詞,該關鍵詞定義操作基於 BRC-20 協議進行,幫助其它系統識別與處理 BRC-20 事件。
「op」:事件型別。必須包含的關鍵詞,該關鍵詞定義事件型別,是 Deploy 部署、Mint 鑄造還是 Transfer 轉帳。在這裡「op」的內容為「transfer」意味著事件型別為轉帳。
「tick」:BRC-20 代幣標識。必須包含的關鍵詞,該關鍵詞定義 BRC-20 代幣名稱,由 4 個字母組成。在這裡「tick」的內容為「ordi」意味著轉帳的 BRC-20 代幣為 $ordi。
「amt」:所轉帳的 BRC-20 代幣數量。必須包含的關鍵詞,該關鍵詞定義將要轉帳多少個 BRC-20 代幣。
「to」:轉帳目標。非必須包含的關鍵詞,該關鍵詞定義轉帳接收方的地址。若此項留空,預設接收方地址是正確的。目前,該關鍵詞只是為了用於 Dune 看板的資料追蹤測試。
「fee」:轉帳費用。非必須包含的關鍵詞,該關鍵詞定義轉帳費用數額。目前,該關鍵詞只是為了用於 Dune 看板的資料追蹤測試(在沒有 Taproot 資料的情況下)。
先到先得規則
無論是 Deploy 部署、Mint 鑄造還是 Transfer 轉帳都遵循先到先得的規則。
對於 Deploy 部署,若有同名的 BRC-20 代幣被部署,最先部署的視為唯一成功的部署。
對於 Mint 鑄造,所有超出總量的 Mint 都被視為無效,有效性依據 Mint 成功的時間排序得出,「先到先得」。
對於 Transfer 轉帳,若同一區塊內發生了 2 次轉帳事件,則優先考慮費用較高的事件。
$ordi 鑄造情況
$ordi 是第一個被部署的 BRC-20 代幣。通過 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 代幣?
使用 UniSat 可以很流暢地實現批量 Mint。
首先,進入頁面,選擇「BRC-20」。
之後的設定也很簡單:
「Tick」欄裡填寫要 Mint 的 BRC-20 代幣名稱。「Amount」欄裡填寫每個銘文包含的代幣數量(比如 $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 代幣的嘗試有什麼意義?智慧合約好歹還算 ERC-20 代幣的印鈔機,實打實地製造出了新代幣。這個 BRC-20 和在一張紙鈔上寫上我自己的名字然後把這張紙鈔命名為「我的幣」有什麼區別?
這恰恰是 Ordinals 協議的魅力。Ordinals 協議的意義遠大於帶來了所謂「比特幣 NFT」本身 —— 它給了所有比特幣愛好者自由賦予比特幣新的意義的能力。有人認為比特幣可以是「藝術載體」,有人認為比特幣可以是「鑄幣廠」… 每個人不同的理解會讓每個 Satoshi 被燒錄上不同的內容,這些內容就是比特幣價值多樣性的種子。
@domodata 將自己稱為一個「實驗者」。他感謝大家對 BRC-20 這個「實驗」的喜愛,也勸大家不要在 Mint 上浪費大量的資金,Salute。
越來越多的「實驗者」在思考通過 Ordinals 協議能做些什麼,每天都有新鮮玩意。Ordinals 協議,正讓比特幣的價值多樣性探索進入「掃雷階段」…
把 Ordinals 協議類比為一個遊戲開發工具,我們僅開發到「掃雷」。後面會發展成什麼樣子呢?
📍相關報導📍
富爸爸作者:比特幣是「人民的錢」將漲破10萬美元!BTC失守28,000