问题描述
我想获取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 (将#修改为@)