如何建立比特幣Regtest環境

買賣虛擬貨幣
本系列部落格文章將嘗試實踐“邊做邊學”的原則。因為Bisq(一個分散式比特幣交易所)使用比特幣作為其貿易協議的區塊鏈選擇,還因為DAO的本身特性,我們先了解比特幣的基礎知識是很重要的。首先,我們將建立一個迴歸比特幣測試鏈作為一個操場,我們可以觀察事物的運作方式以及如何與區塊鏈進行互動。因為這個鏈沒有任何價值,我們可以隨時生成新的塊,所以它是學習的理想選擇,而不會有實際損失金錢的風險。稍後,我將展示coinbase交易的樣子以及它的優點。最後,我們將使用比特幣核心附帶的命令列工具Bitcoin -tx建立我們自己的事務。比特幣核心是比特幣協議的參考實現。圖形版本稱為bitcoin-qt,它附帶一個命令列工具,可以建立名為bitcoin-tx的事務。先決條件:你要擁有bitcoin-qt (v0.17.1或更高版本)。那我們開始吧?Mainnet, testnet, regtest——它們是啥意思?比特幣和大多數其他加密貨幣都有三種操作模式。
Mainnet(主網)是作為官方版本使用的網路,它具有一定的價值。所有真實的交易都發生在這個網路上,人們透過mainnet獲得報酬。Testnet(測試網),一個與主網具有幾乎相同規則的網路(一些操作碼在mainnet上是禁止的,而在Testnet上取消了這個限制)。它有對等點發現功能,即它可以在testnet網路上找到類似於mainnet的對等點,並且執行它的是一個對等點(p2p)網路。Regtest是一個私有的區塊鏈,它具有與testnet相同的規則和地址格式,但是沒有要連線到的全域性p2p網路。由於mainnet幣有價值,而testnet/regtest幣沒有價值,所以它們由不同的字首來區分。Mainnet地址以“1”、“3”或“bc1”開頭,testnet/regtest地址以“m”、“n”、“2”或“tb1”開頭。記住,testnet/regtest地址沒有值,所以瞭解它們之間的區別很重要!錢包可以檢測出其中的差別,但也有一些情況下,人們也會被人用testnet的幣忽悠!我們將使用regtest,因為我們可以輕鬆地建立自己的區塊鏈,並且可以使用一個方便的命令在不挖掘硬體的情況下挖掘塊,我將在稍後討論這個命令。

圖形化的比特幣核心客戶端Bitcoin-qt也能在視覺上區分不同的網路,以幫助您識別其執行的模式。當您第一次安裝Bitcoin -qt時,它將執行在使用熟悉的橙色比特幣符號的mainnet上。Testnet使用綠色,regtest使用藍色。

圖1所示。執行mainnet、testnet和regtest時使用Bitcoin-qt。
好的,但是如何切換到regtest呢?不用擔心,切換到regtest非常容易。你只需要編輯比特幣的配置檔案。幸運的是,可以透過GUI選項輕鬆地訪問它。bitcoin-qt開始。當您第一次啟動它時,它將如圖2所示。點選設定->選項->開啟配置檔案。

圖2所示。訪問bitcoin-qt設定

圖3所示。開啟配置檔案。

將以下行新增到配置檔案中,然後儲存:

regtest= 1

關閉bitcoin-qt並重新開啟它。   您的載入螢幕應該如圖3所示。

恭喜你,你現在已經準備好研究比特幣內部了!

熟悉控制檯

Bitcoin-qt使得與比特幣守護程序互動變得非常容易。控制檯在GUI中很容易訪問。您可以在幫助->除錯視窗->控制檯中找到它。

圖4所示,除錯視窗中的資訊頁。
如您所見,將出現一個新視窗,其中包含關於bitcoin-qt及其執行的網路模式的各種資訊。注意,網路名稱是regtest。確保你的也是。讓我們單擊console選項卡,如圖5所示
圖5,除錯視窗資訊頁面。
有幾個命令可以用來與比特幣守護程序互動。要檢視它們,請在視窗底部鍵入help並按Enter。您可以向上滾動檢視命令的完整列表。如果需要對特定命令的幫助,請鍵入help <command name>。
圖6所示。help命令的部分輸出。
如果仔細觀察,第三個命令稱為getblockchaininfo。看看它能做什麼?命令help可以幫到你很多。)輸入help getblockchain資訊。正如help系統所述,這個命令將提供有關區塊鏈的資訊。
圖7所示。getblockchaininfo的help頁面。
在console (RPC)視窗中輸入blockchaininfo命令並檢查輸出。輸出是一種奇怪的(至少對非程式設計師來說)格式,稱為JSON (JavaScript物件表示法)。它是一種計算機可以很容易理解的格式,而且只需瞭解一下相關知識,我們也可以理解。help getblockchaininfo命令描述了每個鍵的含義。

圖8所示。getblockchaininfo的JSON輸出。
生成我們自己的塊Regtest現在已經設定好,但是還沒有塊。什麼樣的區塊鏈沒有塊?Generate 命令救援!正如前面提到的,regtest環境允許我們建立任意數量的塊,而不需要使用任何挖掘asic或專用硬體。這使得測試在比特幣執行過程中可能發生的不同情況這一點,變得很容易,而且我們還可以隨時建立塊來節省時間。
讓我們生成一些塊,以便稍後測試BTC。我們必須考慮挖掘規則,即一個人只能花費一個塊獎勵,前提是他之前已經挖掘了100個塊。這意味著我們必鬚生成101個塊來使50 regtest BTC可使用。開啟控制檯,輸入: generate 101

圖9所示。generate命令輸出。
你會看到很多彈出視窗寫著“傳入的交易”。等幾秒鐘,直到它們消失。奇怪的數字和字母是生成的塊的雜湊。請注意圖11中“balance”標籤下面的數字。我們現在有50個rBTC可用,記住,我們生成了101個塊,所以第1塊已經成熟,獎勵可以使用。對如何使用獎勵、coinbase交易是什麼以及比特幣交易如何工作感興趣?

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;