0

テンダーミントで実行されているサンプルの go アプリケーションがあります。アプリケーションとノードの両方が実行されている間に、leveldb にある Tendermint のブロックチェーン ストアのデータにアクセスしたいと思います。

tx.hash とすべてのトランザクションの対応する結果を格納する tx_index.db を反復処理する基本的な go スクリプトを実行しようとしました。しかし、スクリプトを実行しようとすると、プログラムがパニックになり、エラー メッセージが表示されます。

tx_index.db を反復処理する go スクリプトを次に示します。

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()

}

アプリケーションとtendermintノードの実行中に上記のスクリプトを実行すると。次のエラー メッセージが表示されます。

panic: resource temporarily unavailable

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

アプリケーションとテンダーミント ノードの実行中に tx_index.db にアクセスして、実行されたトランザクションのトランザクション ハッシュを取得することに関心があります。

PS: 可能であれば、tx_index.db にアクセスして、tendermint ノードとやり取りして tx.hash を取得する方法があるかどうかを知りたいです。

4

0 に答える 0