摘要:區(qū)塊長啥樣對于一個區(qū)塊鏈項目來說,最核心的數(shù)據(jù)莫過于區(qū)塊數(shù)據(jù),區(qū)塊數(shù)據(jù)結(jié)構(gòu)是整個區(qū)塊鏈項目的技術(shù)基礎(chǔ)。區(qū)塊頭首先是區(qū)塊頭數(shù)據(jù)結(jié)構(gòu),包括了哈希時間戳默克爾根見證人賬戶等。完整交易信息總結(jié)我們用圖形繪出了區(qū)塊數(shù)據(jù)結(jié)構(gòu),便于大家理解。
EOS 區(qū)塊長啥樣?
對于一個區(qū)塊鏈項目來說,最核心的數(shù)據(jù)莫過于區(qū)塊數(shù)據(jù),區(qū)塊數(shù)據(jù)結(jié)構(gòu)是整個區(qū)塊鏈項目的技術(shù)基礎(chǔ)。不過由于 EOS 項目一直在快速迭代,區(qū)塊數(shù)據(jù)結(jié)構(gòu)也不斷更新,所以今天才向大家介紹。
區(qū)塊頭(block_header)首先是區(qū)塊頭數(shù)據(jù)結(jié)構(gòu),包括了哈希、時間戳、默克爾根、見證人賬戶等。
//區(qū)塊頭結(jié)構(gòu)體 struct block_header { //前一區(qū)塊哈希 block_id_type previous; //區(qū)塊時間戳 block_timestamp_type timestam 交易的默克爾根 checksum256_type transaction_mroot; /// mroot of cycles_summary //Action 的默克爾根 checksum256_type action_mroot; //區(qū)塊默克爾根 checksum256_type block_mroot; //見證人賬號 account_name producer; //見證人排序版本號 uint32_t schedule_version = 0; //下一個見證人(可以為空) optional區(qū)塊頭(已簽名)(signed_block_header)new_producers; };
在區(qū)塊頭的基礎(chǔ)上,出塊見證人進(jìn)行簽名,就是簽名區(qū)塊頭:
//簽名區(qū)塊頭結(jié)構(gòu)體 struct signed_block_header : public block_header { 見證人簽名 signature_type producer_signature; };區(qū)塊摘要(已簽名)(signed_block_summary)
簽名區(qū)塊摘要的目的是將區(qū)塊中的交易(Transactions)分配到各個層級中,這里并沒有交易的完整信息,只展示了交易的層級和分組結(jié)構(gòu)。
struct signed_block_summary : public signed_block_header { vectorregions; };
EOS 白皮書里說明了區(qū)塊摘要的結(jié)構(gòu):
Region Cycles (sequential)(串行) Shards (parallel)(并行) Transactions (sequential)(串行)
可以看到,多個 Transactions 組成了一個 Shards(片區(qū)),多個 Shards 組成了一個 Cycles(周期),多個周期組成一個 Region(區(qū)域)。每個區(qū)塊所包含的交易就被這樣的層級結(jié)構(gòu)組織起來,并將最終的組織結(jié)構(gòu)多帶帶記錄在區(qū)塊中。這也是 EOS 以后開發(fā)并行執(zhí)行的基礎(chǔ)。
區(qū)塊(已簽名)(signed_block)前面提到區(qū)塊摘要只說明了交易的組織結(jié)構(gòu),并沒有具體的交易信息,我們要在區(qū)塊最后添加完整的交易信息,就形成了一個 EOS 完整區(qū)塊。
struct signed_block : public signed_block_summary { //完整交易信息 vector總結(jié)input_transactions; };
我們用圖形繪出了 EOS 區(qū)塊數(shù)據(jù)結(jié)構(gòu),便于大家理解。
[【許曉笛】49行代碼就能發(fā)幣?而且EOS連例子都給你了]()
圓方圓學(xué)院匯集大批區(qū)塊鏈名師,打造精品的區(qū)塊鏈技術(shù)課程。 在各大平臺都長期有優(yōu)質(zhì)免費公開課,歡迎報名收看。
公開課地址:https://ke.qq.com/course/345101
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24414.html
摘要:了解系統(tǒng)架構(gòu)之前我們先看看目前系統(tǒng)的主要組成部分系統(tǒng)的核心進(jìn)程,也就是所謂的節(jié)點。 其實沒有那么復(fù)雜 相信關(guān)心 EOS 系統(tǒng)的同學(xué)肯定見過下面這張藍(lán)圖。對,目前只是一個藍(lán)圖,而且以 BM 的尿性,肯定在心理已經(jīng)把這張圖改的面目全非了(比如圖中的 eosd 早就改名了)。所以這張圖只能作為未來 EOS 發(fā)展方向的參考而已,目前的 EOS 還遠(yuǎn)沒有這么復(fù)雜和完善。 showImg(http...
摘要:的跟其他區(qū)塊鏈項目是類似的,都是一個基本功能本地儲存密鑰,僅此而已。公網(wǎng)上線后,一定要將存有密鑰的加密,并且將文件單獨備份好。字面意思是賬戶,但我覺得有個概念更適合法人。代幣就是由持有的。對于權(quán)限,則需要列表里至少兩個賬戶的授權(quán)才能行使。 如果你曾經(jīng)嘗試在本地運行 EOS 測試節(jié)點,會發(fā)現(xiàn)編譯、運行并不是特別復(fù)雜,但官方教程里兩個概念很容易把人搞暈: Account(賬戶) 和 Wal...
摘要:寫在前面,這一篇文章是許曉笛在北京開發(fā)者圓桌會議上的發(fā)言實錄,感謝主辦方戴嘉樂和董天一的邀請,感謝編輯們。我這次分享題目是有可能有點標(biāo)題黨,前面拉了三個字有可能是落地的一個非常重要的途徑。共識機制共識機制,就是所有代幣持有人選舉。 寫在前面,這一篇文章是許曉笛 2018.05.20 在北京 《IPFS開發(fā)者圓桌會議》上的發(fā)言實錄,感謝主辦方戴嘉樂和董天一的邀請,感謝編輯們。先介紹一下《...
摘要:所以想要實現(xiàn)真正實用的智能合約平臺,就要脫離比特幣系統(tǒng)的架構(gòu),尋找新的系統(tǒng)組織形式。比特幣和以太坊之所以設(shè)計了手續(xù)費機制,就是防止大量垃圾交易使得系統(tǒng)擁堵。 區(qū)塊鏈系統(tǒng)中,去中心化程度與效率之間天然地存在矛盾關(guān)系。 如果區(qū)塊鏈智能合約系統(tǒng)想追求類似比特幣的去中心化程度,理論上效率就會大打折扣?,F(xiàn)實也是這樣的:比特幣每秒鐘只能處理7筆左右的交易,每一筆交易要用至少30分鐘才能確認(rèn),這種效...
摘要:說點題外話如果你想提高英語的話,持有一點代幣吧,你會急于搞清楚白皮書在講什么,要是想短時間快速提高英語,持有大量代幣吧,別問我是怎么知道的。 最近發(fā)現(xiàn)很多人投資了EOS,卻并不關(guān)心 EOS 目前的開發(fā)進(jìn)度和技術(shù)細(xì)節(jié),如果你投資了 EOS, 還有一定的技術(shù)基礎(chǔ),那就更應(yīng)該關(guān)心 EOS 的開發(fā)情況了,下面我們就從 EOS 的源代碼說起: Github 是目前最流行的源碼管理網(wǎng)站,無數(shù)明星項...
閱讀 740·2021-11-17 09:33
閱讀 3771·2021-09-01 10:46
閱讀 1762·2019-08-30 11:02
閱讀 3290·2019-08-29 15:05
閱讀 1407·2019-08-26 11:39
閱讀 2283·2019-08-23 17:04
閱讀 1982·2019-08-23 15:43
閱讀 1379·2019-08-23 14:12