bigchaindb原始碼分析(十) 總結

2021-08-04 19:40:10 字數 625 閱讀 6317

根據我們耗時如此長的原始碼分析,我們可以對bigchaindb進行一些初步的總結了

區塊:多個事務組成區塊,乙個區塊記錄了前乙個區塊的資訊,從而形成鏈。區塊的狀態有三種

投票:當乙個區塊被建立時,聯盟中的所有節點將會對區塊進行投票,這個投票主要驗證了寫區塊的節點的合法性、區塊簽名、區塊中所有事務的簽名

選舉:當乙個區塊被投票後,選舉用來根據投票結果來確定區塊的合法性。當半數投票節點投票valid或者invalid後,區塊的狀態被確定。選舉的另乙個作用還在於確定區塊的前乙個區塊,做法是對所有投票本區塊為valid的投票節點所投票的上乙個區塊進行計數,數目最多的上乙個區塊為本區塊的上乙個區塊

分配:當乙個事務被建立後,將分配乙個節點來處理該事務,如是否建立區塊

節點按照功能可以分為三類:

後端儲存有四個表:

bigchaindb所啟動一直在無限執行的、與區塊鏈邏輯有關的程序有四種:

vote:

stale:

election:

當客戶端使用api對bigchaindb寫事務時,整個流程為:

client bigchaindb:

block:

vote:

election:

stale:

spring原始碼分析 spring原始碼分析

1.spring 執行原理 spring 啟動時讀取應用程式提供的 bean 配置資訊,並在 spring 容器中生成乙份相應的 bean 配置登錄檔,然後根據這張登錄檔例項化 bean,裝配好 bean 之間的依賴關係,為上 層應用提供準備就緒的執行環境。二 spring 原始碼分析 1.1spr...

思科VPP原始碼分析(dpo機制原始碼分析)

vpp的dpo機制跟路由緊密結合在一起。路由表查詢 ip4 lookup 的最後結果是乙個load balance t結構。該結構可以看做是乙個hash表,裡面包含了很多dpo,指向為下一步處理動作。每個dpo都是新增路由時的乙個path的結果。dpo標準型別有 dpo drop,dpo ip nu...

redux原始碼分析(三) 原始碼部分

下面是每個部分的一些解讀 createstore apicreatestore reducer,initialstate enhancer 曾經非常好奇這個函式的第二個引數到底是initialstate還是enhancer,因為見過兩種寫法都有的,以為是版本問題。看了原始碼才發現,都可以的。如果你不...