EOS原始碼分析(7)目錄結構
eos主目錄下有以下資料夾:
我們挨個來看一下:
第一部分:CMakeModules主要是cmake編譯所需要使用的一些配置資訊。
cotire是加快編譯速度的cmake檔案。
doxygen可以將程式碼中的一些註釋生成相關文件。
gperftools包含了效能分析相關的配置。
findWasm檢測當前機器是否可以生成wasm32。
insatall提供安裝的相關配置資訊。
上文我們們說過eos的編譯需要wasm的支援,因此wasm.cmake檔案提供wasm相關的配置資訊。
第二部分:Contracts中包含有智慧合約的相關內容:
asserter中定義了assert的相關結構體,並完成對智慧合約事件的分發。
bancor即班科,定義了bancor結構體,包含有凱恩斯國際貨幣單位的相關內容,主要是貨幣單位之間的轉換。
currency定義了currency結構體,同樣為貨幣的相關內容。
dice中實現了一個擲骰子的小遊戲。
eosio.system包含有eosio系統的相關內容,這個接下來會做相關專題介紹。
eosiolib中包含有eos執行所依賴的庫的標頭檔案。
exchange中包含有交易相關結構體的定義。
identity中包含有身份的相關定義,在eos中身份和賬戶是兩個相互分離的概念,身份和賬戶的對映需要服從一定的共識。
infinite從字面意義上理解是無限,程式碼中實現了一個不停的去列印的函式。
libc++中主要是c++所以來的庫。
musl是linux作業系統下的一個標準庫。
noop實現一個空的智慧合約。
proxy實現代理的相關內容。
simpleDB 包含了資料庫相關內容。
skeleton看不出有什麼內容。
social主要是方便使用者建立屬於自己的貨幣同時可以讓其進行投票等舉動(馬上要開始的21節點競爭就是通過投票來進行的)。
storage方便使用者去修改賬戶的名字。
第三部分:一些文件說明
docker方便使用者在Docker上執行eos。不多做介紹。
docs中是一些文件。
externals裡面是一些依賴的外部檔案。
第四部分:Libraries是eos依賴的一些庫,其中有:
abi_generator用於生成abi檔案。
appbase為一系列的外掛編譯提供了一個框架,他可以確保外掛正常配置、初始化、啟動、關閉這一個流程。
chain這裡麵包含有eos作為區塊鏈的核心內容。
chainbase是為了滿足區塊鏈應用設計的一個資料庫,但是也使用於任意需要一個魯棒性較高的交易資料庫。
egenesis主要是測試P2P網路用的。
utilitiles主要是一些通用的標準函式。
第五部分:eos編譯執行所需要的外掛:
account_history_api_plugin 賬戶歷史記錄的介面外掛。
account_history_plugin 賬戶歷史記錄外掛。
chain_api_plugin 鏈的介面外掛。
chain_plugin 鏈的外掛。
faucet_testnet_plugin水龍頭測試網路外掛。
http_plugin http外掛。
mongo_db_plugin mongoDB外掛。
net_api_plugin 網路介面外掛。
net_plugin 網路外掛。
wallet_api_plugin 錢包介面外掛。
wallet_plugin 錢包外掛。
第六部分:build資料夾下的內容
debug_node供開發者執行一些有趣的測試。比如當下一個硬分叉到來之前我生產了足夠多的區塊時會發生什麼。
eosio-abigen用於生成abi檔案。
eosd是eos的核心,它可以根據使用者的配置啟用外掛來執行一個節點。現在可用來產生區塊,封裝介面,本地開發等功能。
eosc其實是提供了命令列操作的eosd。要使用eosc首先要在初始化eosd的時候配置好ip和埠,同時載入eosio::chain_api_plugin。
eos-walletd eos的錢包核心執行緒,載入一些核心控制元件如http介面和PRC介面。
launcher launcher簡化了eosd節點跨區域網或者跨更寬泛的網路的分佈。
網址:http://www.qukuailianxueyuan.io/
欲領取造幣技術與全套虛擬機器資料
區塊鏈技術交流QQ群:756146052 備註:CSDN
尹成學院微信:備註:CSDN
網址:http://www.qukuailianxueyuan.io/
欲領取造幣技術與全套虛擬機器資料
區塊鏈技術交流QQ群:756146052 備註:CSDN
尹成學院微信:備註:CSDN
相關文章
- libevent原始碼初識及目錄結構分析原始碼
- PostgreSQL:原始碼目錄結構SQL原始碼
- Kubernetes原始碼系列:Kubernetes目錄結構原始碼
- Android 目錄結構分析Android
- 分析Angular目錄結構Angular
- Netty 原始碼分析-目錄Netty原始碼
- EOS原始碼分析(2)EOS執行原始碼
- Linux 目錄結構:/lib 分析Linux
- 程式碼目錄結構記錄
- 深入Vue - 原始碼目錄及構建過程分析Vue原始碼
- EOS原始碼分析(3)案例分析原始碼
- 人人都能懂的Vue原始碼系列(一)—Vue原始碼目錄結構Vue原始碼
- EOS原始碼分析(6)Token原始碼
- EOS原始碼分析(1)安裝原始碼
- EOS原始碼分析(4)錢包原始碼
- EOS原始碼分析(5)賬號原始碼
- Dubbo原始碼分析(七)服務目錄原始碼
- vue 原始碼學習(一) 目錄結構和構建過程簡介Vue原始碼
- fabric 目錄結構
- Tomcat目錄結構Tomcat
- PostgreSQL 目錄結構SQL
- Tomcat目錄結構解析Tomcat
- 系統目錄結構
- django的目錄結構Django
- linux的目錄結構Linux
- Linux核心原始碼目錄Linux原始碼
- Faiss原始碼剖析:類結構分析AI原始碼
- Android系統架構與系統原始碼目錄Android架構原始碼
- Macbook磁碟系統結構/檔案/目錄介紹分析Mac
- 初識Linux目錄結構Linux
- 2.3 sqlmap目錄及結構SQL
- SpringBoot中的目錄結構Spring Boot
- postgre目錄結構簡介
- linux文件和目錄結構Linux
- Ubuntu系統目錄結構Ubuntu
- (一)Linux之目錄結構Linux
- ThinkPHP5.0目錄結構PHP
- Helm目錄結構講解