文章目錄
- 區塊鏈技術與應用實驗報告(實驗一)
- 關于作者
- 作者介紹
- 一、實驗目的
- 二、實驗原理簡介
- 三、實驗環境
- 四、區塊鏈基礎概念
- 4.1 區塊鏈簡介
- 4.2 位元幣簡介
- 五、實驗環境部署
- 5.1 實驗環境說明
- 5.2 軟體安裝
- 5.3 配置環境變數
- 5.4 win+R,輸入cmd,回車進入命令列
- 5.5 輸入 bitcoind -version 測驗是否安裝成功
- 5.6 打開創建一個記事本,輸入內容 regtest=1,保存xx.conf
- 5. 7 創建三個節點,同時運行,進行通信
- 5.7.1 組態檔 xx.conf 介紹
- 5.7.2 此時實驗準備的組態檔
- 5.7.3 呼叫3次cmd ,分別運行以下命令
- 5.7.4 查看3個節點連接正常的資訊
- 總結
區塊鏈技術與應用實驗報告(實驗一)
關于作者
-
作者介紹
🍊 博客主頁:作者主頁
🍊 簡介:云計算領域優質創作者🏆、學長的it故事 公眾號創作者🎓、在校期間參與眾多計算機相關的省賽、國賽,斬獲系列榮譽,考取華為資深工程師、紅帽工程師等系列認證,🍊 關注我:簡歷模板、學習資料、檔案下載、技術支持 都可以私信我哦!
讓生命像一團熱烈燃燒的火,直到死亡才能使它熄滅
一、實驗目的
-
實驗目的
# 掌握位元幣客戶端BitcoinCore的基本原理知識 # 掌握位元幣客戶端BitcoinCore的安裝與配置方法
二、實驗原理簡介
-
實驗簡介
# bitcoin Core是位元幣官方開發的節點客戶端,提供了成為全節點所需的全面功能,并為位元幣的開發、測驗和實際運行提供了友好的工具,包含3個主要程式, (1) bitcoin-qt: 封裝了完整的位元幣全節點,并提供了一個帶有GUI的錢包程式,可以實作交易資料可視化,錢包的“幫助”選單中提供了控制臺,以發布多類RPC命令,對普通用戶更加友好, (2) bitcoind:提供了一個輕量級的封裝好的位元幣全節點,在部署后,可以通過向其發布RPC命令與之互動,對開發者更加友好, (3) bitcoin-cli:提供了通過命令列全節點發送RPC命令的功能,一般用于與bitcoind配合進行除錯, 借助前面建立的回歸測驗網路,可以采用bitcoin-cli向相關節點發布RPC命令與測驗鏈進行互動,新打開一個命令列,輸入如下命令,查看工具的使用方法, bitcoin-cli –h 在每次使用bitcoin-cli時,同樣需要使用”-datadir=<dir>”標記組態檔的路徑,再承接要發送的RPC命令,例如,對于節點alice,我們希望查詢其視角內與之相連的節點資訊,則應該輸入: bitcoin-cli –datadir=%appdata%\bitocin\alic\ getpeerinfo
三、實驗環境
-
實驗環境
# 實驗環境 本實驗在PC機上即可進行,作業系統可以是Windows10或Linux,注意,在Linux系統中實驗的部署方法類似甚至更方便,增加了對于-daemon命令(后臺運行)的支持, # 這里使用 windows 平臺做演示 windows 10 專業版
四、區塊鏈基礎概念
4.1 區塊鏈簡介
- 2008年 11月 日裔美國人 —位元幣的開發者兼創始者 中本聰 發表 位元幣白皮書 ,提出了區塊鏈的概念
- 區塊鏈是 一種分布式共享賬本 技術,記錄了資產轉移的程序、交易資料,具有資料庫相似功能
- 它是一種點對點的關系,本質上是 去中心化、分布式的,主要1.0和2.0兩個階段
- 區塊鏈的特點:去中心化、防篡改、防丟失、易溯源
- 區塊鏈的關鍵技術:
- 共識機制:
- Pow:作業量證明
- PoS:權益證明
- DPoS:委任權益證明
- PBFT:實用拜占庭容錯演算法
- 智能合約:
- 安全技術:
- 哈希演算法
- 非對稱加密演算法(RSA、ECC)
- 資料庫存盤:
- 組網技術:
- 共識機制:
- 其它主流區塊鏈平臺:以太坊、超級賬本、Corda、梧桐鏈
4.2 位元幣簡介
- 位元幣 是區塊鏈最成功的、最重要的應用
- 位元幣是 基于密碼學和 經濟博弈的 一種數字加密貨幣,也是歷史上首個經過 大規模長時間運作檢驗的虛擬貨幣系統,
- 演算法處理流程:挖礦和 記賬的程序
- 位元幣 官網:官網
五、實驗環境部署
5.1 實驗環境說明
-
使用環境
作業系統 軟體版本 windows 10 專業版 bitcoin-core-0.15.2 -
軟體下載地址:bitcoin-core-0.15.2
-

5.2 軟體安裝
-
安裝介紹
# 這里正常安裝吧,沒事要說明的,可以安裝C盤,也可以安裝其他盤, # 注意下宿主機是否 關閉防火墻
5.3 配置環境變數
- 打開你安裝的路徑,然后復制路徑
- 點擊此電腦、右鍵屬性、高級系統設定、環境變數、找到 系統變數(S)里的PATH、
后面輸入;你安裝的路徑如:;D:\bitcoin\daemon - 或者參考下圖配置環境變數,

5.4 win+R,輸入cmd,回車進入命令列
- 進入命令列

5.5 輸入 bitcoind -version 測驗是否安裝成功
- bitcoind -version

5.6 打開創建一個記事本,輸入內容 regtest=1,保存xx.conf
-
1.先查看 bitcoin 安裝目錄在哪
-

-
2. 嘗試打開以上路徑,新建檔案bitcoin.conf,通過文本編輯器編輯,在檔案第1行添加“regtest=1”,保存后調出CMD命令列,運行“bitcoind”命令,觀察daemon檔案夾的變化,
-

# 多了一個regtest 的目錄,同時檔案和bitcoin 目錄檔案一樣的
5. 7 創建三個節點,同時運行,進行通信
5.7.1 組態檔 xx.conf 介紹
-
相關引數:
# regtest=1 開啟回歸測驗網路的關鍵命令,若遺漏,則會自動連入主網,開始同步高達GB的區塊資料, # port=XXXX 這條命令用來配置節點連接時使用的網路埠,回歸測驗下默認為18444,如果設定多個節點同時運行,則需要自定義配置不同的埠,盡量避免與系統已有的服務發生沖突, # connect=<ip:port>和addnode=<ip:port> 二者都是手動添加已知節點的手段,區別是:connect命令配置后,節點將只從配置的特定地址接收資料,拒絕其他節點的連接,而addnode命令沒有此類限制,Addnode命令的IP地址在回歸測驗中一般設定為系統默認回送地址,即127.0.0.1, # server=0/1 這條命令用來配置節點是否作為服務節點,即是否接受RPC命令,默認值為1,因此不用額外配置, # rpcport=XXXX 這條命令配置RPC命令的監聽埠,同樣,如果設定多個節點同時運行,則需要自定義配置不同的埠,盡量避免與系統已有的服務發生沖突, # rpcuser=XXXXhe rpcpassword=XXX 這條命令用來設定RPC的訪問用戶名和密碼,是安全使用RPC命令的必備命令,即使是節點也不會希望自己的客戶端莫名接受了他人的命令,從而失去錢包中的所有代幣, 配合以上命令,在回歸測驗網路中建立3個節點:alice、bob、network,并使它們相互連接,可以進行互動,
5.7.2 此時實驗準備的組態檔
-
1.準備實驗目錄及檔案
-

-
alice.conf 內容
regtest=1 port=22222 rpcport=18332 addnode=127.0.0.1:22224 addnode=127.0.0.1:22226 -
bob.conf 檔案內容
regtest=1 port=22224 rpcport=18334 addnode=127.0.0.1:22222 addnode=127.0.0.1:22226 -
network 檔案內容
regtest=1 port=22226 rpcport=18336 addnode=127.0.0.1:22222 addnode=127.0.0.1:22224 -
2.洗掉之前的bitcoin 目錄,將準好好的檔案目錄復制到安裝目錄(C:\Users\hbs\AppData\Roaming)
5.7.3 呼叫3次cmd ,分別運行以下命令
-
1.將alice 節點運行
# bitcoind -conf=%APPDATA%\Bitcoin\alice.conf -datadir=%APPDATA%\Bitcoin\alice -
2.將bob 節點運行
# bitcoind -conf=%APPDATA%\Bitcoin\bob.conf -datadir=%APPDATA%\Bitcoin\bob -
3.將network 節點運行
# bitcoind -conf=%APPDATA%\Bitcoin\network.conf -datadir=%APPDATA%\Bitcoin\network
此時,我們打開 C:\Users\hbs\AppData\Roaming\bitcoin\ 目錄下的任何一個目錄(alice、bob、network),里面都有一個regtest的目錄,里面類容是一樣的
5.7.4 查看3個節點連接正常的資訊
- 隨機打開一個目錄,查看debug

總結
初次環境搭建不難,只需要安裝步驟去做即可,然后我們的實驗一就完成了,寫作不易,支持原創,歡迎讀者點贊、收藏
區塊鏈技術與應用實驗報告 實驗二
以夢為馬,不負韶華,流年笑擲,未來可期!
?????????????????????—黃昏
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/302853.html
標籤:區塊鏈

