原创 8.4 EOS共識代碼實現

共識相關的對象 我們先來看看block_header_state的結構: struct block_header_state { ​ block_id_type id;//塊id ​ ui

原创 8.3 EOS兩輪共識原因

背景介紹 曾經一篇標題爲"震驚!V神和BM竟如此互懟!"的文章在網上熱議起來,這是一篇BM和V神在issue上對於DPOS的機制的討論,接下來我們具體討論下他們的討論內容: 先看一下英文版的:翻譯成中文版的: 單輪共識引起不可逆塊衝突 我們

原创 8.2EOS區塊共識流程

背景 上一章節已經簡單的介紹了EOS節點的共識流程,下面舉例說明節點生產的區塊是如何達成共識的: EOS共識分爲兩個部分:1.共識出備選不可逆塊:當區塊有(2/3 + 1)個節點確認後,則這個區塊被加入到備選不可逆塊列表中。2.從備選不可逆

原创 3.7 錢包、帳戶、token、智能合約、action、權限、權重和閥值之間關係

3.7.1 賬戶、錢包和密鑰的關係 如圖所示,右邊是EOS Wallet錢包,裏面只存放私鑰及由該私鑰產生的公鑰(公私鑰對),而且錢包有一個密碼,需要輸入密碼才能解鎖錢包,讀取私鑰。錢包和賬戶沒有直接的關係左邊是EOS Account賬戶,

原创 2.6 visual studio開發linux程序

2.6.1 前言   在linux環境下開發C++程序,除了需要掌握C++的知識外,還需要掌握如何寫makefile和使用GDB進行調試,這對於不熟悉makefile和GDB的開發人員是比較麻煩的,目前vs2015及以上的版本能夠支持lin

原创 2.5 visual studio調試nodeos

2.5.1 前言   Visual Studio在調試c++程序時,調式信息通是過界面的方式展示出來的,這很方便了我們的開發人員,那麼如果只有源代碼,而沒有把源代碼創建成解決方案,比如,linux環境下的C++工程,沒有Visual Stu