以太坊原始碼解讀 資料整理
github上面最全的以太坊原始碼解讀
https://github.com/ZtesoftCS/go-ethereum-code-analysis
寫的比較專業,p2p相關的有點少
https://blog.csdn.net/teaspring
https://blog.csdn.net/turkeycock
寫network中fetcher寫的不錯,download有點含糊
相關推薦
以太坊原始碼解讀 資料整理
github上面最全的以太坊原始碼解讀 https://github.com/ZtesoftCS/go-ethereum-code-analysis 寫的比較專業,p2p相關的有點少 https://blog.csdn.net/teaspring https:/
以太坊原始碼解讀(5)BlockChain類的解析及NewBlockChain()分析
一、blockchain的資料結構 type BlockChain struct { chainConfig *params.ChainConfig // 初始化配置 cacheConfig *CacheConfig // 快取配置 db ethdb.Databas
以太坊原始碼解讀(4)Block類及其儲存
一、Block類 type Block struct { /******header*******/ header *Header /******header*******/ /******body*********/ uncle
以太坊原始碼解讀(6)blockchain區塊插入和校驗分析
以太坊blockchain的管理事務: 1、blockchain模組初始化 2、blockchain模組插入校驗分析 3、blockchain模組區塊鏈分叉處理 4、blockchian模組規範鏈更新 上一節分析了blockchain的初始化,這一節來分析blockchain區塊的插入和校驗
以太坊原始碼解讀(7)以太坊的P2P網路基礎
一、分散式網路的來歷 基於P2P技術的應用有很多,包括檔案分享,即時通訊,協同處理,流媒體通訊等等。其中檔案分享和下載是p2p技術最集中體現。其中,DHT技術是目前很多分散式系統所普遍採用的方案,也包括以太坊。所以這裡先要對DHT技術有所瞭解。 二、DHT(Distributed Ha
以太坊原始碼解讀(1)以太坊核心概念
一、定義 以太坊是一個開源的帶有智慧合約功能的公共區塊鏈平臺。 特點: 1、支援智慧合約,以太坊不是給使用者一系列預先設定好的操作,而是充分允許使用者按照自己的意願建立複雜的邏輯操作; 2、以太坊同時還構建了較完整的、開源的生態系統:有底層的geth、程式設計的solid
以太坊原始碼解讀(9)以太坊的P2P模組解析——底層網路構建和啟動
以太坊的底層p2pServer,大約可以分為三層: 1、底層:table物件、node物件,它們分別定義了底層的路由表以及本地節點的資料結構、搜尋和驗證; 1)database.go //封裝node資料庫相關操作 2)node.go
以太坊原始碼解讀(2)以太坊客戶端geth原始碼目錄解析
下面我們來從Geth原始碼的目錄來看看以太坊都有哪些模組。 一、目錄分析 go-etherreum-master |- accounts /* 實現了高層級Ethereum賬號管理 */ | |- abi // 該包實現了Ether
以太坊原始碼解讀(8)以太坊的P2P模組解析——節點發現和K-桶維護
回顧一下,前面說到以太坊分散式網路採用了Kademlia協議,它的特點是: 1、採用了二叉樹的拓撲結構; 2、每個節點都對整樹進行拆分,分成n棵子樹; 3、從每棵樹中取K個節點,構成“k-桶”,每個節點控制著n個k-桶; 4、節點的距離是通過異或的二進位制運算得到的; 5、k
以太坊原始碼解讀(3)以太坊啟動流程簡析
啟動命令: geth --identity "TestNode1" --datadir "data0" --rpc --rpcapi "db,eth,net,web3" --port "30303" --networkid "29382" --ws --wsorigins
區塊鏈入門教程以太坊原始碼分析交易資料分析eth
交易的資料結構 交易的資料結構定義在core.types.transaction.go中,結構如下: type Transaction struct { data txdata // caches hash atomic.Value size atomic.Value from atomic.Value
25.以太坊原始碼分析(25)core-txlist交易池的一些資料結構原始碼分析
nonceHeap nonceHeap實現了一個heap.Interface的資料結構,用來實現了一個堆的資料結構。 在heap.Interface的文件介紹中,預設實現的是最小堆。 如果h是一個數組,只要陣列中的資料滿足下面的要求。那麼就認為h是一個最小堆。 !h.Less(j
以太坊原始碼分析(11)eth目前的共識演算法pow的整理
### eth共識演算法分析,從本地節點挖到塊開始分析##### 首先目前生產環境上面,肯定不是以CPU的形式挖礦的,那麼就是`remoteAgent`這種形式,也就是礦機通過網路請求從以太的節點獲取當前節點的出塊任務,然後礦機根據算出符合該塊難度hash值,提交給節點,也就是對應的以下方法.```func
死磕以太坊原始碼分析之EVM固定長度資料型別表示
> 死磕以太坊原始碼分析之EVM固定長度資料型別表示 > > 配合以下程式碼進行閱讀:https://github.com/blockchainGuide/ > > 寫文不易,給個小關注,有什麼問題可以指出,便於大家交流學習。 > > 翻譯自 https://medi
死磕以太坊原始碼分析之EVM動態資料型別
> 死磕以太坊原始碼分析之EVM動態資料型別 > > 配合以下程式碼進行閱讀:https://github.com/blockchainGuide/ > > 寫文不易,給個小關注,有什麼問題可以指出,便於大家交流學習。 > ![image-2021011318550029
以太坊原始碼探究之交易與簽名
與比特幣相比,以太坊中的交易結構有相當明顯的不同。下面是以太坊中Transaction資料結構的UML圖: 以太坊交易類圖 右邊的txdata
兄弟連區塊鏈教程以太坊原始碼分析CMD深入分析(一)
cmd包分析 cmd下面總共有13個子包,除了util包之外,每個子包都有一個主函式,每個主函式的init方法中都定義了該主函式支援的命令,如 geth包下面的: func init() { // Initialize the CLI app and st
以太坊原始碼學習 – EVM
學習文件連結:here 一、虛擬機器外 主要功能: 執行前將Transaction型別轉化成Message,建立虛擬機器(EVM)物件,計算一些Gas消耗,以及執行交易完畢後建立收據(Receipt)物件並返回 1 1.1
solidity智慧合約[37]-以太坊虛擬機器資料儲存
EVM 當呼叫solidity函式時,都會在以太坊虛擬機器當中來執行。因此瞭解以太坊虛擬機器的細節,瞭解其資料的儲存機制變得尤為重要。以太坊虛擬機器中的空間分為3大部分。分別為storage、stack與memory。 storage空間非常特殊,其值會被礦工提交到區塊鏈上,改變區塊鏈的狀態。 下面我
34.以太坊原始碼分析(34)eth-downloader原始碼分析
downloader主要負責區塊鏈最開始的同步工作,當前的同步有兩種模式,一種是傳統的fullmode,這種模式通過下載區塊頭,和區塊體來構建區塊鏈,同步的過程就和普通的區塊插入的過程一樣,包括區塊頭的驗證,交易的驗證,交易執行,賬戶狀態的改變等操作,這其實是一個比較消耗CPU和磁碟的一個過