如何解决如何通过leveldb解析geth / nodes目录中的节点信息?
我想获取ETH的所有节点IP地址,因此我需要解析geth / nodes目录,但是我找不到特定的数据格式,也无法解析它。
我发现了同样的问题,但是没有解决方案: https://ethereum.stackexchange.com/questions/5999/format-of-leveldb-files-in-nodes-directory-trouble-pulling-contents-with-python
我的代码:
import leveldb
import rlp
db = leveldb.LevelDB("../nodes")
for k in db.RangeIter():
print(k)
print(rlp.decode(k[0]))
break
结果:
(bytearray(b'local:\xc6\x83\x00\xb8LX\xcc+\xcd\x98CDd\x96\x89R\x92\x1a\xaeV\xe1\x93\xfeV\x95)\t~$e\xfa|:seq'),bytearray(b'\x97\x08'))
Traceback (most recent call last):
File "temp.py",line 7,in <module>
print(rlp.decode(k[0]))
File "PATH/.local/lib/python3.6/site-packages/rlp/codec.py",line 235,in decode
raise DecodingError(msg,rlp)
rlp.exceptions.DecodingError: RLP string ends with 41 superfluous bytes
我搜索了很多信息,发现解码时需要指定rlp.sedes。我无法确定它是哪种类型。我是ETH的新手,需要帮助。也可以使用其他编程语言进行解析的示例。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。