原创 比特幣代碼分析6 錢包發送

BITCoin錢包如下: 比特幣發送邏輯如下: 整個過程可以分爲上面幾個步驟。下面分別進行說明。當用戶發送比特幣到某一個地址時,比特幣客戶端會調用SendMoney()方法。該方法包含三個參數:scriptPubKey包含腳本代碼OP_DU

原创 比特幣代碼分析4 節點發現機制

當程序第一啓動時,它並不知道任何活躍節點的ip地址。爲了發現一些全節點的ip地址,他們會查詢硬編碼在比特幣內核或BitCoinJ中的,一個或多個DNS域名,在返回的結果中應該包含一個或多個DNS A記錄,裏面有一些可接受新連接的全節點的ip

原创 比特幣代碼分析5 挖礦代碼分析

本文描述礦工處理線程,通過本文學習,可以瞭解礦工挖礦的大致流程。主要包含挖礦費用交易的產生、當前交易池的打包處理,工作量證明等相關內容。流程圖(參考網絡)如下所示:。 礦工處理函數1.void ThreadBitcoinMiner(void

原创 比特幣代碼分析1 整體架構

Bitcoin 比特幣官方客戶端有兩個版本:一個是圖形界面的版本,通常被稱爲 Bitcoin(首字母大寫),以及一個簡潔命令行的版本(稱爲 bitcoind)。命令行可以有兩種運作方式:節點,RPC命令。節點是持續