Tendermint通过节点访问leveldb

我有一个示例示例,该应用程序运行带有软糖。 我想在应用程序和节点都在运行时访问Tendermint的区块链存储在leveldb中的数据。</ p>

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

这是go脚本,用于遍历tx_index.db </ p>

 < 代码>包main 

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

func main(){
db,err:= leveldb.OpenFile(” tx_index.db“,nil)
如果err!= nil {
panic(err)
}

iter:= db.NewIterator(nil,nil)
for iter.Next(){
键:= iter.Key()
h_key:= fmt.Sprintf(“%X”,键)
值:= iter.Value()
h_value:= fmt.Sprintf(“%X”,value)

fmt.Printf(“键:%v
值:%v
”,h_key,h_value)
}
iter.Release()
err = iter.Error()
延迟db.Close( )

}

</ code> </ pre>

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

  panic:资源暂时不可用

goroutine 1 [正在运行]:
main.main()
$ HOME / tendermint / data / read_db.go:11 + 0x375
exit status 2
</ code> </ pre>

我有兴趣在应用程序和bidmint节点正在运行以获取事务哈希值的同时访问tx_index.db 进行的交易。 </ p>

PS:如果可行,我想知道是否存在一种通过与嫩薄荷节点进行交互来访问tx_index.db来获取tx.hash的方法。</ p>
</ DIV>

展开原文

原文

I have a sample go application running with tendermint. I would like to access the data Tendermint's blockchain stores in leveldb while both the application and the node are running.

I have tried to run a basic go script that iterates over the tx_index.db which stores the tx.hash and the corresponding result of every transaction. But when I try to run the script the program panics with an error message.

Here's the go script to iterate over the 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 
Value: %v 
", h_key, h_value)
    }
    iter.Release()
    err = iter.Error()
    defer db.Close()

}

Upon running the above script while the application and the tendermint node are running. I get the following error message!

panic: resource temporarily unavailable

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

I am interested in accessing the tx_index.db while the application and tendermint node are running to get the transaction hash of the transactions performed.

PS: If it's feasible I'd like to know if there's a way to get tx.hash by accessing the tx_index.db by interacting with the tendermint node.

douwen7475
douwen7475 我正在尝试使我们使用“minimmint.com/rpc”“订阅”方法,但是文档未提供任何示例,并且我无法理解如何运行该方法。我可以参考示例运行其他rpc端点。
一年多之前 回复
douyi3632
douyi3632 数据库副本是否可以与原始数据库bidmint并行访问进行更新。原始数据库是否可以同时与bidmint和副本连接。
一年多之前 回复
doumi2106
doumi2106 我认为您不能访问相同的数据库。但是您可以复制并使用它。或者更好地使用RPC的技术来获取所需的数据。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问