[C#] 比特幣冒險:掌握BRC-20標準及Witness資料的抽取技巧

2023-12-22

最近幣圈風風火火關於比特幣銘文(Ordinals),這時候要說到 BRC-20,我相信前幾年如果你有聽過 NFT 或是乙太幣,應該對這名詞覺得有點熟悉但是又陌生

BRC-20 是一個實驗性的比特幣同質化代幣標準,由推特用戶 @domodata 於 2023 年 3 月 8 日基於 Ordinal 協議創建它類似於以太坊的 ERC20 標準,

規定了比特幣上發行代幣的名稱、發行量、轉帳等功能BRC-20 代幣可以通過 Ordinal 協議在比特幣網路上鑄造和轉移

如果您對 BRC-20 代幣等虛擬貨幣感興趣可以看看下面這影片,說的是淺顯易懂

看完之後,簡單的說,就是一群想在比特幣老大哥的鏈上搞事情的人們,至於 NFT 這東西會不會在紅一波我不知道

今天主要就是既然都把銘文寫在鏈上面,我們是不是有辦法透過程式碼,把那張銘文取出

網路上我有找到,講解銘文放置的地方 ,基本上他就是基於升級後的 Bitcoin 鏈上,一個叫做  Segregated Witness 的地方變大了,可以放到 4M 左右的資料

這邊有相關的資料 比特幣、以太坊的一些問題介紹,我就不贅述 

至於規格上面要怎麼提取,這邊有不用程式的做法,而且講解的很詳細,我也慢慢的看完且跟著做了一遍去好好理解到底在幹嘛

這影片有興趣也可以看一下,會有點無聊,但是研究技術就是這樣要搞懂都是需要時間

接下來就是 如何使用 C# 來提取 鏈上面 Witness 中的資料

這邊是我示範用的 TXID : 12d980d930ae49a9aa69d81cf466116259617410bf1c0f89ec1f1ba0c2c3bfc9

1. 我這邊是用 .Net 7 做編譯,首先先安裝套件 NBitcoin , Newtonsoft.Json

2. 之後就是程碼的部份了,這邊我是取用  https://blockchain.info 這網站的資料來調用 Bitcoin 上面的鏈上資料


之後就會下載到一張 這樣的圖片

大概就是這樣吧,基本上我也是改寫,一個網路大大的分享的專案,抽取這部份來用,最近有需要用到,想說就整理一下分享給大家

參考程式碼: 

https://github.com/lastbattle/ordinal_inscription.netcore


這範例我放在這有需要的自己取用

https://github.com/donma/DownloadOrdinalSample






當麻許的超技八 2014 | Donma Hsu Design.