go-ethereum源碼解析

go ethereum 目錄大概介紹

go-ethereum項目的組織結(jié)構(gòu)基本上是按照功能模塊劃分的目錄,下面簡單介紹一下各個目錄的結(jié)構(gòu)奕剃,每個目錄在GO語言里面又被成為一個Package,我理解跟Java里面的Package應該是差不多的意思。

accounts? ? ? ? 實現(xiàn)了一個高等級的以太坊賬戶管理

bmt 二進制的默克爾樹的實現(xiàn)

build 主要是編譯和構(gòu)建的一些腳本和配置

cmd 命令行工具布讹,又分了很多的命令行工具笆檀,下面一個一個介紹

/abigen Source code generator to convert Ethereum contract definitions into easy to use, compile-time type-safe Go packages

/bootnode 啟動一個僅僅實現(xiàn)網(wǎng)絡發(fā)現(xiàn)的節(jié)點

/evm 以太坊虛擬機的開發(fā)工具, 用來提供一個可配置的证舟,受隔離的代碼調(diào)試環(huán)境

/faucet

/geth 以太坊命令行客戶端盈魁,最重要的一個工具

/p2psim 提供了一個工具來模擬http的API

/puppeth 創(chuàng)建一個新的以太坊網(wǎng)絡的向?qū)?/p>

/rlpdump 提供了一個RLP數(shù)據(jù)的格式化輸出

/swarm swarm網(wǎng)絡的接入點

/util 提供了一些公共的工具

/wnode 這是一個簡單的Whisper節(jié)點捶箱。 它可以用作獨立的引導節(jié)點。此外湿蛔,可以用于不同的測試和診斷目的创译。

common 提供了一些公共的工具類

compression Package rle implements the run-length encoding used for Ethereum data.

consensus 提供了以太坊的一些共識算法抵知,比如ethhash, clique(proof-of-authority)

console console類

contracts

core 以太坊的核心數(shù)據(jù)結(jié)構(gòu)和算法(虛擬機,狀態(tài),區(qū)塊鏈刷喜,布隆過濾器)

crypto 加密和hash算法残制,

eth 實現(xiàn)了以太坊的協(xié)議

ethclient 提供了以太坊的RPC客戶端

ethdb eth的數(shù)據(jù)庫(包括實際使用的leveldb和供測試使用的內(nèi)存數(shù)據(jù)庫)

ethstats 提供網(wǎng)絡狀態(tài)的報告

event 處理實時的事件

les 實現(xiàn)了以太坊的輕量級協(xié)議子集

light 實現(xiàn)為以太坊輕量級客戶端提供按需檢索的功能

log 提供對人機都友好的日志信息

metrics 提供磁盤計數(shù)器

miner 提供以太坊的區(qū)塊創(chuàng)建和挖礦

mobile 移動端使用的一些warpper

node 以太坊的多種類型的節(jié)點

p2p 以太坊p2p網(wǎng)絡協(xié)議

rlp 以太坊序列化處理

rpc 遠程方法調(diào)用

swarm swarm網(wǎng)絡處理

tests 測試

trie 以太坊重要的數(shù)據(jù)結(jié)構(gòu)Package trie implements Merkle Patricia Tries.

whisper 提供了whisper節(jié)點的協(xié)議。

可以看到以太坊的代碼量還是挺大的掖疮,但是粗略看初茶,代碼結(jié)構(gòu)還是挺好的。我希望先從一些比較獨立的模塊來進行分析浊闪。然后在深入分析內(nèi)部的代碼恼布。重點可能集中在黃皮書里面沒有涉及到的p2p網(wǎng)絡等模塊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搁宾,一起剝皮案震驚了整個濱河市折汞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌猛铅,老刑警劉巖字支,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凤藏,死亡現(xiàn)場離奇詭異奸忽,居然都是意外死亡,警方通過查閱死者的電腦和手機揖庄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門栗菜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蹄梢,你說我怎么就攤上這事疙筹。” “怎么了禁炒?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵而咆,是天一觀的道長。 經(jīng)常有香客問我幕袱,道長暴备,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任们豌,我火速辦了婚禮涯捻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘望迎。我一直安慰自己障癌,他們只是感情好,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布辩尊。 她就那樣靜靜地躺著涛浙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上轿亮,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天晾捏,我揣著相機與錄音,去河邊找鬼哀托。 笑死惦辛,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的仓手。 我是一名探鬼主播胖齐,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼嗽冒!你這毒婦竟也來了呀伙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤添坊,失蹤者是張志新(化名)和其女友劉穎剿另,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贬蛙,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡雨女,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了阳准。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氛堕。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖野蝇,靈堂內(nèi)的尸體忽然破棺而出讼稚,到底是詐尸還是另有隱情,我是刑警寧澤绕沈,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布锐想,位于F島的核電站,受9級特大地震影響乍狐,放射性物質(zhì)發(fā)生泄漏赠摇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一澜躺、第九天 我趴在偏房一處隱蔽的房頂上張望蝉稳。 院中可真熱鬧,春花似錦掘鄙、人聲如沸耘戚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽收津。三九已至饿这,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間撞秋,已是汗流浹背长捧。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吻贿,地道東北人串结。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像舅列,于是被迫代替她去往敵國和親肌割。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容