Tendermint通过节点访问leveldb

时间:2019-06-18 12:44:44

标签: go rpc json-rpc leveldb tendermint

我有一个示例示例,应用程序运行着嫩薄荷。我想在应用程序和节点都运行时访问Tendermint的区块链存储在leveldb中的数据。

我尝试运行一个基本的go脚本,该脚本在tx_index.db上进行迭代,该脚本存储tx.hash和每个事务的相应结果。但是,当我尝试运行脚本时,程序会出现错误消息,并且出现紧急情况。

这是go脚本,用于遍历tx_index.db

package main

import (
    "fmt"
    "github.com/syndtr/goleveldb/leveldb"
)

func main() {
    db, err := leveldb.OpenFile("tx_index.db", nil)
    if err != nil {
        panic(err)
    }

    iter := db.NewIterator(nil, nil)
    for iter.Next() {
        key := iter.Key()
        h_key := fmt.Sprintf("%X", key)
        value := iter.Value()
        h_value := fmt.Sprintf("%X", value)
        fmt.Printf("Key: %v \nValue: %v \n", h_key, h_value)
    }
    iter.Release()
    err = iter.Error()
    defer db.Close()

}

在应用程序和投标节点运行时运行上述脚本。我收到以下错误消息!

panic: resource temporarily unavailable

goroutine 1 [running]:
main.main()
    $HOME/tendermint/data/read_db.go:11 +0x375
exit status 2

我对在应用程序和bidmint节点正在运行时获取tx_index.db感兴趣,以获取所执行交易的交易哈希。

PS:如果可行,我想知道是否有一种方法可以通过与嫩薄荷节点进行交互来访问tx_index.db。

0 个答案:

没有答案