Тендерминт доступ на уровень через узел - PullRequest
0 голосов
/ 18 июня 2019

У меня есть пример приложения go, запущенного с приложением 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

Я заинтересован в доступе к tx_index.db, пока приложение и узел tendermint работают, чтобы получить хэш транзакции выполненных транзакций.

PS: Если это возможно, я бы хотел узнать, есть ли способ получить tx.hash, обратившись к tx_index.db, взаимодействуя с узлом tendermint.

...