1. 程式人生 > >【問鏈-EOS公開課】第十二課 EOS整體程式碼結構

【問鏈-EOS公開課】第十二課 EOS整體程式碼結構

EOS由programs、plugins、librarires、和contracts四部分組成,可以看出石墨烯的架構和EOS的架構是很相近的,EOS增加了對智慧合約的支援。實際上EOS並沒有直接用石墨烯的原始碼,而是重寫了90%的程式碼,不過基本架構是一樣的。

programs(應用層)

cloes:客戶端命令列互動模組,用於解析使用者命令,根據具體命令請求呼叫相應的介面,例如檢視區塊資訊、操作錢包等等。

nodeos:伺服器端,也就是區塊生產節點,用於接受客戶端的遠端請求,並打包區塊,主要包含四個外掛,chain_plugin、http_plugin、net_plugin、producer_plugin。

keosd:錢包管理模組,主要包括三個外掛,wallet_plugin、wallet_api_plugin、http_plugin。
在這裡插入圖片描述
plugins(外掛層)

支援動態載入相關元件,實現了應用層的業務邏輯和區塊鏈底層實現的解耦,同時為應用開發者提供友好的API介面,比較重要的有以下幾個外掛:

chain_plugin

http_plugin

net_plugin

producer_plugin

libraries(庫函式層)

為應用層和外掛層提供基礎能力,實現了區塊鏈的底層關鍵技術,例如,交易處理,生產區塊,加密功能,檔案IO操作,網路通訊能力等等;

appbase

chain

fc

-crypto

-io

-log

-network

-rpc

utilities

constracts(智慧合約層)

主要包含一些智慧合約的示例程式碼。

相關推薦

-EOS開課 EOS整體程式碼結構

EOS由programs、plugins、librarires、和contracts四部分組成,可以看出石墨烯的架構和EOS的架構是很相近的,EOS增加了對智慧合約的支援。實際上EOS並沒有直接用石墨烯的原始碼,而是重寫了90%的程式碼,不過基本架構是一樣的

-EOS開課 EOS從單簽名到多簽名

一、基本知識 賬戶:是儲存在區塊鏈上的人們可識別的ID。 許可權:每個事務都有,它是由已配置許可的賬戶所評估的。 閾值:每個被命名的許可權都有一個有效範圍,必須滿足是在許可下的一個簽名事務,將被視為有效。 簽名:事務的簽名是通過利用一個客戶端來執行,該客戶端擁有一個已載入並已解鎖的錢包。

-EOS開課 EOS 智慧合約相互呼叫

EOS中合約之間是可以相互呼叫的,主要通過inline action完成合約之間的呼叫。 譬如在擲骰子游戲中,存在兩個玩家先下注資金,然後比較骰子大小後決定勝負,贏的那一方將獲得所有的下注資金。在eosio原始碼eos/build/contract/dice 智

-EOS開課 EOS中文白皮書2.0

摘要 EOS.IO軟體引入了一種新的區塊鏈架構,意在實現去中心化應用的效能擴充套件。通過建立類似作業系統的結構,在此基礎上可構建各種應用程式。該軟體提供帳戶、身份驗證、資料庫、非同步通訊以及在數以百計的CPU或群集上的程式排程。該技術的最終形式是形成一個區塊鏈架

-EOS開課 用cleos註冊EOS主網賬戶、投票和發幣

第一步: 安裝docker https://www.docker.com/community-edition #install docker for CentOS. (其他作業系統看上面連結) sudo yum install -y yum-utils device-mapper-

-EOS開課 EOS 錯誤碼整理

EOS 目前大約有180種錯誤型別,雖然有錯誤碼,但是還是很籠統的,具體的報錯資訊還得看detail裡面的內容 一、常見的錯誤碼以及issue上對應的錯誤記錄 3010001 Invalid name 賬戶名格式1-12位(a-z,1-5,“.” ) 且”.”不

-EOS開課 EOS 資料庫與持久化 API(一)

在 EOS 中,智慧合約執行完畢後,所佔用的記憶體會釋放。程式中的所有變數都會丟失。如果智慧合約裡要持久地記錄資訊,比如遊戲智慧合約要記錄每位使用者遊戲記錄,本次合約執行完畢後資料不能丟失,就需要將資料儲存到 EOS 資料庫中。與資料庫互動的 API 被官方成為 Persistence API,中文可以叫做持

-EOS開課 EOS 資料庫與持久化 API()

上次的文章詳細講解了 EOS 資料庫的架構,本文將以官方示例為基礎,詳解 EOS 資料庫的開發實戰。 基本步驟 在智慧合約裡與 EOS 資料庫互動,首先要定義儲存的資料: 定義物件:具體就是定義一個 C++ 類或者 C++ 結構體,資料表就由一個個物件組成。 定

-EOS開課十三 EOS外掛機制深入解析

外掛體系 EOS外掛由三層類來實現。 最頂層是抽象類abstract_plugin,定義了外掛的基本介面。 中間層是外掛模板類plugin,主要用來解決外掛之間依賴呼叫。 最底層是具體外掛類,專注單個外掛的業務功能實現。 nodeos程序啟動後第一步是註冊外掛

財經-區塊基礎知識系列 區塊將變革教育產業,未來有六大應用方向

區塊鏈是什麼? 2008 年中本聰發表的論文《比特幣:一種點對點的電子現金系統》。文章提出,希望可以建立一套新型的電子支付系統,這套系統“基於密碼學原理而不是基於信用,使得任何達成一致的雙方能夠直接進行支付,從而不需要第三方中介參與”。 2009 年 1 月 3 日,區塊鏈的第一個區

財經-區塊基礎知識系列 區塊應用於汽車保險行業所帶來的變革

編者按:在一般汽車保險詐騙案,汽車駕駛會故意安排假車禍,然後向保險公司提出各種不實和非法的索賠。據德勤(Deloitte)統計,這些假車禍每年讓保險業損失約7億新元。汽車駕駛若對不同保險公司索賠,除非共享跨產業資料,否則很難發現欺詐行為。區塊鏈結合汽車保險行業將會產生新的火花。

財經-區塊基礎知識系列 區塊應用於貸款結算

編者按:在金融業務中,企業或個人向金融機構進行借貸,產生貸款業務,貸款結算是當貸款所有本金、利息和費用都收回後,貸款即告結清。貸款結清是信貸資金的風險已不存在,貸款安全回收,併為銀行帶來了收益。那結合區塊鏈,貸款結算會帶來哪些改變? 商業銀行的主要業務有三類:其一,存款

財經-區塊基礎知識系列 區塊應用於電子存證

編者按:在傳統的具有法律效益的存證需要第三方權威公證處進行公證,並且需要繫結時間戳和相關資訊,步驟繁瑣,進度比較慢,後來存證電子化後一定程度上提高了效率、節省了成本,但也會有一些其他的問題,比如第三方篡改電子存證,雖然絕大多數這種情況不會發生,但是當涉及到巨大的利益時,就很難保證

-區塊基礎知識系列 首席架構師談區塊技術演進

一、區塊鏈和比特幣,都有“幣-鏈-網”三層含義 1、第一層含義是“幣”。這個“幣”並不是剛才王行長所說的真正意義上的“貨幣”,而是一種與區塊鏈密切相關的通證(Blockchain Token)。其本質,是記錄在區塊鏈賬本結構中的某個“元資訊”。例如,比特幣區塊鏈的賬本中的記錄的主要元資料

MySQL必知必會章 創建計算字段

客戶機 cat 第十章 去掉 quantity 字段 cme 引用 field 1、字段(field):一般與列(同義),經常互換使用,不過數據庫列一般稱之為列,字段通常用在計算字段的連接上。 2、拼接:將值連接到一起構成單個值。   註:多數DBMS使用+或||來實現拼接

MySQL必知必會六章 創建高級聯結

類型 where子句 contact items order by 其他 mysq custom 必知必會 1、使用表別名   好處:   a、縮短SQL語句。   b、允許在單條SELECT語句中多次使用相同的表。   輸入:   SELECT  cust_name,cu

四組次沖刺會議報告

commit 執行 完成 技術文檔 整體 alt 點擊 轉換 導入 張:做了:美化初始化界面,解決文件沖突  困難:嵌入js的時候傳的是string[],但是只執行string[0]  規劃:多個點的連接(動態添加point),點擊標簽跳轉,導入圖片,顯示界面 孔:做了:細

第一組次沖刺例會紀要

磁貼 什麽 bsp 做了 李白 二次 昨天 png ges 開發小組:Neu Old Driver 沖刺經理:何圖 小組成員:李白洋、王彬宇、李恒雨、黃文睿、安迪 1、 昨天做了什麽 黃文睿:調整界面,重新整理代碼 李白洋:、完成空教室查詢頁面 何圖:完成教師評價頁面

軟工項目組五次會議

運用 安排 nbsp clas gpo 服務器 post 軟工 服務 第十五次會議 時間:2017-12-30 19:00 至 20:30 地點:第三教學樓A樓休息區 集體寫代碼與答疑討論的時間。 樣式設計。 近期任務 賀一純、王越琛:css的運用。 王哲光

軟工項目組七次會議

blog 開始 規劃 class 討論 過程 1-1 完成 數據庫設計 第十七次會議 時間:2018-1-12 19:00 至 20:00 地點:第三教學樓A樓休息區 討論最終規劃。 近期任務 賀一純、王越琛:css的運用。 王哲光、生力軍:前端頁面編寫。 陳