比特幣原始碼研讀之一
比特幣原始碼研讀之一
——區塊鏈研習社 《比特幣原始碼研讀班》
一看資料夾結構 和 github編譯依賴,分析的依賴庫
src
compat //工作臺程式碼 base58等
config
consensus //交易相關 merkle樹
crypto //加解密(aes sha)
leveldb //檔案資料庫 leveldb
obj
obj-test
policy //背書
primitives //區塊和交易的資料結構
qt //ui框架 qt
rpc //rpc 遠端程式呼叫
script //交易指令碼
secp256k1 //橢圓曲線
support
test //測試程式碼
univalue
wallet //錢包相關
zmq //訊息佇列庫 zmq
Library | Purpose | Description |
---|---|---|
libssl | Crypto | Random Number Generation, Elliptic Curve Cryptography |
libboost | Utility | Library for threading, data structures, etc |
libevent | Networking | OS independent asynchronous networking |
miniupnpc | UPnP Support | Firewall-jumping support |
libdb4.8 | Berkeley DB | Wallet storage (only needed when wallet enabled) |
qt | GUI | GUI toolkit (only needed when GUI enabled) |
protobuf | Payments in GUI | Data interchange format used for payment protocol (only needed when GUI enabled) |
libqrencode | QR codes in GUI | Optional for generating QR codes (only needed when GUI enabled) |
univalue | Utility | JSON parsing and encoding (bundled version will be used unless --with-system-univalue passed to configure) |
libzmq3 | ZMQ notification | Optional, allows generating ZMQ notifications (requires ZMQ version >= 4.x) |
二 看main.cpp檔案 (src/bitcoind.cpp)
int main(int argc, char* argv[])
{
SetupEnvironment(); //設定執行環境變數
// Connect bitcoind signal handlers
noui_connect(); //連線訊號和槽
//根據輸入的argc argv 引數初始化程式
return (AppInit(argc, argv) ? EXIT_SUCCESS : EXIT_FAILURE);
}
三 附main函式的結構圖
相關文章
- 比特幣原始碼研讀(1)bitcoin原始碼結構比特幣原始碼
- 比特幣原始碼研讀(0)bitcoin本地編譯與使用比特幣原始碼編譯
- 比特幣原始碼研讀(3)資料結構-交易Transaction比特幣原始碼資料結構
- 比特幣原始碼研讀(2)資料結構-區塊Block比特幣原始碼資料結構BloC
- 比特幣原始碼研讀(4)資料結構-交易池TransactionPool比特幣原始碼資料結構
- 比特幣原始碼分析--RPC比特幣原始碼RPC
- 比特幣原始碼分析-網路(一)比特幣原始碼
- 比特幣原始碼分析--埠對映比特幣原始碼
- 比特幣挖礦與原始碼解析比特幣原始碼
- 區塊鏈鼻祖比特幣之13:比特幣原始碼編譯詳解區塊鏈比特幣原始碼編譯
- 帶你瞭解比特幣Bitcoin原始碼比特幣原始碼
- 比特幣原始碼分析:多執行緒檢查指令碼比特幣原始碼執行緒指令碼
- JDK 原始碼 Integer解讀之一(parseInt)JDK原始碼
- 比特幣原始碼分析:任務排程器的使用比特幣原始碼
- iOS WebviewJavascriptBridge 原始碼研讀筆記iOSWebViewJavaScript原始碼筆記
- 比特幣指令碼語言比特幣指令碼
- 比特幣擁有最多者之一去世,享年 41 歲比特幣
- 比特幣原始碼分析--P2P網路初始化比特幣原始碼
- 比特幣原始碼分析–P2P網路初始化比特幣原始碼
- gin原始碼閱讀之一 – net/http的大概流程原始碼HTTP
- 一文讀懂比特幣的軟分叉比特幣
- GitHub遭黑客攻擊:竊取數百原始碼並勒索比特幣Github黑客原始碼比特幣
- 比特幣中的密碼學原理比特幣密碼學
- 精通比特幣(第十一章)【比特幣安全】比特幣
- 精通比特幣(第二章)【比特幣原理】比特幣
- 比特幣學習筆記——————2、比特幣原理比特幣筆記
- 比特幣學習筆記————10、比特幣安全比特幣筆記
- 精通比特幣(第三章)【比特幣核心】比特幣
- 比特幣學習筆記——————1、比特幣簡介比特幣筆記
- 比特幣學習筆記——————6、比特幣網路比特幣筆記
- 精通比特幣(第八章)【比特幣網路】比特幣
- 精通比特幣(第十二章)【比特幣應用】比特幣
- 比特幣學習筆記——————3、比特幣客戶端比特幣筆記客戶端
- 比特幣淺析比特幣
- 比特幣入門比特幣
- Electrum 比特幣錢包的 Python 程式碼分析比特幣Python
- 區塊鏈鼻祖比特幣之11:比特幣困難度區塊鏈比特幣
- 【原始碼閱讀】AndPermission原始碼閱讀原始碼
- Python 比特幣教程第三課: 建立比特幣錢包,讀餘額,極速免費轉賬,標準轉賬Python比特幣