У меня есть пример приложения 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.