如何將區塊鏈交易解析到 Google 雲端硬盤文件夾


在本文中,我們將分析比特幣交易並學習如何從區塊鍊網絡快速解析 RawTX 到 Google Drive 文件夾,所有這些將幫助我們更好地了解比特幣交易的工作原理以及區塊鍊網絡上的所有內容。
首先,我們需要知道所有的比特幣交易都存儲在 [txid] 中。

txid 是存儲在比特幣區塊鏈上的交易 ID,RawTX 以雙哈希的形式存儲。

這意味著 RawTX 兩次通過 SHA256 算法以獲得我們在區塊鏈上看到的交易哈希。

例如,具有此哈希的事務:  d76641afb4d0cc648a2f74db09f86ea264498341c49434a933ba8eef9352ab6f

比特幣區塊鏈上的交易以雙哈希的形式存儲:

SHA256(SHA256(0100000001f2068914e2fea859cacd8df990daf4008f11296b3cb953794051147a265d850a000000008b483045022043784344e1e0cb498c1d73b4cee970fb0f9adf38b7891d0b1310fdb9cbc23929022100a734f4e97a05bd169a9f0eb296fc841fa57f8753db09869f8f6f8cc1232616d4014104d6597d465408e6e11264c116dd98b539740e802dc756d7eb88741696e20dfe7d3588695d2e7ad23cbf0aa056d42afada63036d66a1d9b97070dd6bc0c87ceb0dffffffff0100b864d9450000001976a9142df31a60b02cce392822c9a87198753578ef7de888ac00000000) = d76641afb4d0cc648a2f74db09f86ea264498341c49434a933ba8eef9352ab6f

要獲取 RawTX,我們只需要輸入交易 ID [txid],

https://blockchain.info/rawtx/[txid]?format=hex

此外,我們將收到 HEX 格式的信息,這是我們珍愛的 RawTX。

https://blockchain.info/rawtx/d76641afb4d0cc648a2f74db09f86ea264498341c49434a933ba8eef9352ab6f?format=hex

但正如我們所知,一個比特幣地址中可能有很多交易 [txid],這是主要問題,它需要花費大量時間來查找、加載我們的 PC 並佔用大量磁盤空間。

要解決此問題,只需使用 API 網站 https://chain.so/api/

因此,我們在 bash 腳本中指定一個比特幣地址: getrawtx.sh «address» 然後我們提取整個先前的輸出哈希值——所有輸入都參考輸出 (UTXO)

UTXO 是  將用於新輸入的 (未花費的交易輸出) 。其哈希值 UTXO 倒序存儲。

結果,所有未花費的交易輸出將存儲在一個文件中: «RawTX.json»

要獲取 RawTX 比特幣地址,請使用 Bash 腳本:getrawtx.sh

在 Google Drive 中解析區塊鏈
在 Google Drive 中解析區塊鏈

如何解析到 Google Drive 文件夾?

為此,您可以使用 Google Colab 終端 [TerminalGoogleColab]

早些時候我錄製了一個視頻教程:  “Google Colab 中的 TERMINAL 為在 GITHUB 中工作創造了所有便利”

讓我們仔細看看 Bash 腳本是如何工作的:getrawtx.sh

Bash 腳本:getrawtx.sh
Bash 腳本:getrawtx.sh

./getrawtx.sh 12ib7dApVFvg82TXKycWBNpN8kFyiAN1dr

Bitcoin 我們為實用命令指定的地址  wget

如何將區塊鏈交易解析到 Google 雲端硬盤文件夾
所有內容都保存到文件:index.json
所有內容都保存到文件:index.json

https://chain.so/api/v2/get_tx_spent/BTC/12ib7dApVFvg82TXKycWBNpN8kFyiAN1dr

grep 實用程序將所有“txid”交易 ID 保存到一個通用的 index2.json 文件中
grep 實用程序將所有交易 ID“txid”保存到一個公共文件 index2.json 中
所有內容都保存到文件:index2.json
所有內容都保存到文件:index2.json
刪除 index.json
刪除 index.json
使用 sed 實用程序,刪除“txid”前綴和引號逗號
使用 sed 實用程序,刪除“txid”前綴和引號逗號
文件中的最終結果:index2.json
文件中的最終結果:index2.json
使用 Echo 實用程序創建 Python 腳本
使用 Echo 實用程序創建 Python 腳本
運行 Python 腳本文件 open.py
運行 Python 腳本文件 open.py
運行 Python 腳本文件 open.py 後,創建 Bash 腳本 rawscript.sh
運行 Python 腳本文件 open.py 後,創建 Bash 腳本 rawscript.sh
刪除 index2.json
刪除 index2.json
我們獲得了 Bash 腳本 rawscript.sh 的權限並成功運行了它!
我們獲得了 Bash 腳本 rawscript.sh 的權限並成功運行了它!
刪除腳本 fileopen.py // rawscript.sh
刪除腳本 fileopen.py // rawscript.sh
所有交易都保存在文件中:“RawTX.json”
所有交易都保存在文件中:“RawTX.json”

結果我們得到什麼優勢:

  • RawTX 解析速度很快,所有內容都保存在 Google 雲端硬盤文件夾中的一個文件中
  • 不像getrawtransaction命令 «txid»,在控制台 Bitcoin Сore 我們不需要輸入, «txid» 直接輸入比特幣地址 getrawtx.sh “address”
  • bash 腳本:  getrawtx.sh 通過 站點 API https://chain.so/api/ 找到未花費的交易輸出  (UTXO)

源代碼:  https://github.com/demining/CryptoDeepTools/tree/main/01BlockchainGoogleDrive

電報:  https: //t.me/cryptodeeptech

視頻素材:  https: //youtu.be/ECAPypsmMQs

 密碼分析

Crypto Deep Tech