星云鏈源代碼分析

很早就想寫點(diǎn)長(zhǎng)一點(diǎn)的源代碼分析的文章。平時(shí)總是在網(wǎng)上學(xué)習(xí)別人的文章,也希望自己寫點(diǎn)文章幫助到別人。技術(shù)開發(fā)者可能都有這么個(gè)壞習(xí)慣,看不懂的東西不會(huì)寫,看懂的東西不想寫。寫文章是個(gè)細(xì)水長(zhǎng)流的活,希望以后能多寫點(diǎn)好文章。

最近把之前看星云鏈代碼的分析總結(jié)在一起,寫了一篇比較長(zhǎng),相對(duì)完整的介紹文章。?

整個(gè)文章太大,放在百度云盤上:https://pan.baidu.com/s/1WpfSsbZkl6kCJGVLxTeeIQ。感興趣的小伙伴,直接點(diǎn)擊下載吧。

文章詳細(xì)分析了星云鏈的整體結(jié)構(gòu)以及各種功能模塊。比如說,虛擬機(jī)部分。NVM是星云鏈的虛擬機(jī)。NVM是Nebulas Virtual Machine的縮寫。從源代碼的目錄來看,Nebulas支持兩種虛擬機(jī):1)V8(Chrome V8)2)LLVM。邏輯上,Nebulas目前只支持V8虛擬機(jī)。NebulasV8Engine是個(gè)核心模塊,承上啟下,連接區(qū)塊鏈和V8沙盒(V8 Engine)。NebulasV8Engine建立go函數(shù)和C++函數(shù)(Nebulas Native Library)之間的聯(lián)系。Nebulas Native Libaray調(diào)用Native V8引擎執(zhí)行JS代碼。在V8沙盒中,預(yù)先提供了一些js庫(blockchain.js,crypto.js,event.js,storage.js等等)。這些js庫最后依賴go函數(shù)實(shí)現(xiàn)和區(qū)塊鏈進(jìn)行交互。

文章的目錄如下:


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文對(duì)星云鏈Nebulas的簡(jiǎn)介和環(huán)境搭建作介紹,后續(xù)再添加其他方面相關(guān)內(nèi)容。 1、星云鏈的簡(jiǎn)介 星云鏈?zhǔn)澜缬^星云...
    良__閱讀 1,672評(píng)論 0 3
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,300評(píng)論 25 708
  • 今天我開始寫項(xiàng)目解讀這個(gè)系列專題。 要搞懂一個(gè)區(qū)塊鏈項(xiàng)目,首先要從白皮書閱讀開始。區(qū)塊鏈?zhǔn)且环N數(shù)據(jù)庫技術(shù),如果懂技...
    小波有話說閱讀 1,674評(píng)論 0 5
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,086評(píng)論 2 59
  • (稻盛哲學(xué)學(xué)習(xí)會(huì))打卡第45天 姓名:洪波 部門:分水碶 組別:待定 【知~學(xué)習(xí)】 閱讀《活法》第二章 人類一旦覺...
    洪波66閱讀 1,046評(píng)論 0 0

友情鏈接更多精彩內(nèi)容