日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

go-ethereum环境搭建及目录结构介绍

發布時間:2025/3/21 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go-ethereum环境搭建及目录结构介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

go-ethereum代碼閱讀環境搭建

Ubuntu 16.04 64bit/Mac

安裝GO

配置環境變量(GOROOT, GOPATH, GOBIN)

下載源碼:

$ cd $GOPATH; $ mkdir src $ cd src #進入go項目目錄,創建src目錄, 并進入src目錄 $ git clone https://github.com/ethereum/go-ethereum

使用vim或其他IDE打開即可

windows 10 64bit

安裝GO

配置環境變量(GOROOT, GOPATH, GOBIN)

安裝git工具,請參考網絡上的教程安裝git工具, go語言從github自動下載代碼需要git工具的支持

打開命令行工具下載 go-ethereum的代碼

go get github.com/ethereum/go-ethereum

命令執行成功之后,代碼就會下載到下面這個目錄,%GOPATH%\src\github.com\ethereum\go-ethereum
如果執行過程中出現

# github.com/ethereum/go-ethereum/crypto/secp256k1 exec: "gcc": executable file not found in %PATH%

則需要安裝gcc工具,我們從下面地址下載并安裝

http://tdm-gcc.tdragon.net/download

安裝相應的IDE(Goland)

環境測試

打開go-ethereum/rlp/decode_test.go. 在編輯框右鍵選擇運行, 如果運行成功,代表環境搭建完成

go ethereum 目錄大概介紹

go-ethereum項目的組織結構基本上是按照功能模塊劃分的目錄,下面簡單介紹一下各個目錄的結構,每個目錄在GO語言里面又被成為一個Package

accounts 實現了一個高等級的以太坊賬戶管理 bmt 二進制的默克爾樹的實現 build 主要是編譯和構建的一些腳本和配置 cmd 命令行工具,又分了很多的命令行工具/abigen Source code generator to convert Ethereum contract definitions into easy to use, compile-time type-safe Go packages/bootnode 啟動一個僅僅實現網絡發現的節點/evm 以太坊虛擬機的開發工具, 用來提供一個可配置的,受隔離的代碼調試環境/faucet /geth 以太坊命令行客戶端,最重要的一個工具/p2psim 提供了一個工具來模擬http的API/puppeth 創建一個新的以太坊網絡的向導/rlpdump 提供了一個RLP數據的格式化輸出/swarm swarm網絡的接入點/util 提供了一些公共的工具/wnode 這是一個簡單的Whisper節點。 它可以用作獨立的引導節點。此外,可以用于不同的測試和診斷目的。 common 提供了一些公共的工具類 compression Package rle implements the run-length encoding used for Ethereum data. consensus 提供了以太坊的一些共識算法,比如ethhash, clique(proof-of-authority) console console類 contracts core 以太坊的核心數據結構和算法(虛擬機,狀態,區塊鏈,布隆過濾器) crypto 加密和hash算法, eth 實現了以太坊的協議 ethclient 提供了以太坊的RPC客戶端 ethdb eth的數據庫(包括實際使用的leveldb和供測試使用的內存數據庫) ethstats 提供網絡狀態的報告 event 處理實時的事件 les 實現了以太坊的輕量級協議子集 light 實現為以太坊輕量級客戶端提供按需檢索的功能 log 提供對人機都友好的日志信息 metrics 提供磁盤計數器 miner 提供以太坊的區塊創建和挖礦 mobile 移動端使用的一些warpper node 以太坊的多種類型的節點 p2p 以太坊p2p網絡協議 rlp 以太坊序列化處理 rpc 遠程方法調用 swarm swarm網絡處理 tests 測試 trie 以太坊重要的數據結構Package trie implements Merkle Patricia Tries. whisper 提供了whisper節點的協議。

總結

以上是生活随笔為你收集整理的go-ethereum环境搭建及目录结构介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。