赞
踩
RLP(Recursive Length Prefix)是一种以太坊中用于序列化数据的编码方式。它被用于将各种数据结构转换为二进制格式,以便在以太坊中传输和存储。RLP 是一种递归的编码方式,允许对复杂的数据结构进行编码。所以分析交易数据就是对数据进行RLP解码
获取的数据如下:
0x02f87283aa36a707843b9aca00847735940083030d40946e006ce71555b03de544f984a0ac28a72b528d52843b9aca0080c001a098abbcc6169baaa6491235d0cee189f6ca97b2f70ed5ec05b8c06780112d507da003320b01aadd5ab06e22fa52e03a70e53020e978e089a17368203ac0acbce3e5
import rlp
from web3 import Web3
## chainId
## nonce
## value
## maxFeePerGas
## gasLimit
## to
## maxPriorityFeePerGas
## v
## r
## s
data_list = []
def decode(i):
for j in i:
if j is list:
decode(j)
else:
if len(j) == 0:
data_list.append('')
else:
data_list.append(j.hex())
if __name__ == "__main__":
raw = 'f87283aa36a707843b9aca00847735940083030d40946e006ce71555b03de544f984a0ac28a72b528d52843b9aca0080c001a098abbcc6169baaa6491235d0cee189f6ca97b2f70ed5ec05b8c06780112d507da003320b01aadd5ab06e22fa52e03a70e53020e978e089a17368203ac0acbce3e5' # 这里开头没有0x02,因为0x02是一个交易版本标识,并不参与RLP编码
decode(rlp.decode(Web3.to_bytes(hexstr=raw)))
print("chainId:".ljust(30), data_list[0])
print("nonce:".ljust(30), data_list[1])
print("value:".ljust(30), data_list[2])
print("maxFeePerGas:".ljust(30), data_list[3])
print("gasLimit:".ljust(30), data_list[4])
print("to:".ljust(30), data_list[5])
print("maxPriorityFeePerGas:".ljust(30), data_list[6])
print("method1:", data_list[7])
print("method2:", data_list[8])
print("v:".ljust(30), data_list[9])
print("r:".ljust(30), data_list[10])
print("s:".ljust(30), data_list[11])
源码地址: Gitee
输出结果:
chainId: aa36a7
nonce: 07
value: 3b9aca00
maxFeePerGas: 77359400
gasLimit: 030d40
to: 6e006ce71555b03de544f984a0ac28a72b528d52
maxPriorityFeePerGas: 3b9aca00
method1:
method2:
v: 01
r: 98abbcc6169baaa6491235d0cee189f6ca97b2f70ed5ec05b8c06780112d507d
s: 03320b01aadd5ab06e22fa52e03a70e53020e978e089a17368203ac0acbce3e5
Item | value | Desc | |
---|---|---|---|
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/190432 推荐阅读 Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。 |