以太坊原始碼之 資料持久化

2021-08-30 08:56:03 字數 1421 閱讀 2517

leveldb是乙個持久化儲存的kv系統,與redis相比,leveldb是將大部分資料儲存到磁碟中。而redis是乙個記憶體型的kv儲存系統,會吃記憶體。

leveldb在儲存資料時,是有序儲存的,也就是相鄰的key值在儲存檔案中是按照順序儲存的

與其它kv系統一樣,leveldb操作介面簡單,基本操作也只包括增、刪、改、查。也支援批量操作

leveldb支援資料快照(snapshot)功能,可以使得讀取操作不受到寫操作的影響

leveldb支援資料壓縮,可以很好的減少儲存空間,提高io效率。

非關係型資料庫,不支援sql查詢,不支援索引

一次只允許乙個程序訪問乙個特定的資料庫

package ethdb

// 批處理資料的最大值

const idealbatchsize = 100 * 1024

// 同時支援單條資料寫入與批量寫入的操作

type putter inte***ce

// 併發安全的資料庫操作介面

type database inte***ce

// 批量操作,不能併發操作

單條資料操作

批量操作

初始化創世區塊

從指定的區塊鏈資料庫中建立本地區塊鏈

概念:系統效能度量框架,如果我們需要為某個系統或者服務做監控、統計 等,就可以用到它。通常有5種型別

meters:監控一系列事件發生的速率,在以太坊最大的作用就是監控tps。meters會統計最近1min, 5min, 15min以及全部時間的速率。

gauges:最簡單的度量指標,統計瞬時狀態,只有乙個簡單的返回值

histograms:統計資料的分布情況。比如最小值,最大值,中間值。中位數

timers:和meters類似,它是meters和histograms結果,histograms統計耗時,meter統計tps

counter:計數器

原始碼安裝以太坊 wtc

1 安裝go 先更新一下 sudo apt get update sudo apt get y upgradesudo tar xvf go1.9 2.linux amd64.tar gzsudo mv go usr local設定路徑vi etc profile export path path ...

以太坊原始碼 交易(一)

交易是區塊鏈中最基本也是最核心的乙個概念,在以太坊中,交易更是重中之重,因為以太坊是乙個智慧型合約平台,以太坊上的應用都是通過智慧型合約與區塊鏈進行互動,而智慧型合約的執行是由交易觸發的,沒有交易,智慧型合約就是一段死的 可以說在以太坊中,一切都源於交易。下面就來看看在以太坊中交易是什麼樣的,交易裡...

以太坊原始碼分析 Whisper

whisper具有以下基本特性和概念 通訊加密 每一條whisper訊息在網路上都是加密傳輸的,可以選擇非對稱加密 橢圓曲線 和對稱加密 aes gsm 兩種加密演算法之一。envelope 信封 envelope是網路中傳輸的whisper訊息的基本單位,它包含已加密的原始訊息以及訊息相關的控制資...