我正在寻找LDB文件的格式,以便获取由我的帐户创建的所有合同。
我在reddit (https://www.reddit.com/r/ethereum/comments/64hhp1/getting_区块_数据_从…_ldb_档案/)上的一篇文章中看到,我可能想使用Go API。但是,我无法找到没有通过RPC服务的API。这是一个问题,因为:( a) RPC服务不提供这种服务。( b)即使是这样,也可能太慢了。
有人能向我指出一个现有的解决方案,或者一个Go API库,或者解释我在Geth的哪一部分访问链文件,因为它能够自己开发它?
非常感谢!!
发布于 2017-07-13 14:58:28
...or是一个Go API库,还是解释一下Geth的哪一部分可以访问链文件,因为它能够自己开发?
看看Geth的database.go,它是ethdb包的一部分。
对于提供的实际接口,请检查interface.go:
type Database interface {
Put(key []byte, value []byte) error
Get(key []byte) ([]byte, error)
Delete(key []byte) error
Close()
NewBatch() Batch
}对于如何使用提供的函数的示例,bench_test.go可能很有用。
如果您想要复制一些东西,那么就有一个教程,说明如何使用Node.js,这里读取ldb数据。显然,您必须将这些想法移植到不同的位置,但这可能有助于理解数据的布局方式。
https://ethereum.stackexchange.com/questions/15624
复制相似问题