当前位置: 首页 > news >正文

Ethersacn的交易数据是什么样的(2)

分析 Raw Transanction

RLP(Recursive Length Prefix)是一种以太坊中用于序列化数据编码方式。它被用于将各种数据结构转换为二进制格式,以便在以太坊中传输和存储。RLP 是一种递归的编码方式,允许对复杂的数据结构进行编码。所以分析交易数据就是对数据进行RLP解码

选取一个交易

get origin data

获取的数据如下:

0x02f87283aa36a707843b9aca00847735940083030d40946e006ce71555b03de544f984a0ac28a72b528d52843b9aca0080c001a098abbcc6169baaa6491235d0cee189f6ca97b2f70ed5ec05b8c06780112d507da003320b01aadd5ab06e22fa52e03a70e53020e978e089a17368203ac0acbce3e5

代码解析

import rlp
from web3 import Web3## chainId
## nonce
## value
## maxFeePerGas
## gasLimit
## to
## maxPriorityFeePerGas
## v
## r
## sdata_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

输出结果分析

ItemvalueDesc
👓ChainIdaa26a7转成10进制的结果是:11151015,这个是Sepolia测试网的ChainId
🦺nonce07交易数量
👔value3b9aca00转账金额,10进制是:1000000000(0.000000001 ETH)
👕maxFeePerGas77359400表示你愿意支付的每单位燃气的最高费率。以 Gwei 为单位,它决定了交易中每一单位燃气的费用
👜gasLimit030d40表示你愿意为这笔交易分配的最大燃气量。燃气是以太坊中的计算资源单位,用于执行智能合约或发送以太
👟to6e006ce71555b03de544f984a0ac28a72b528d52转入地址
🩰maxPriorityFeePerGas3b9aca00用户愿意支付的额外费用,用于提高交易的优先级
💎v,r,s签名数据

关注我,一起走进Web3的世界

相关文章:

Ethersacn的交易数据是什么样的(2)

分析 Raw Transanction RLP(Recursive Length Prefix)是一种以太坊中用于序列化数据的编码方式。它被用于将各种数据结构转换为二进制格式,以便在以太坊中传输和存储。RLP 是一种递归的编码方式,允许对复杂的数据结构进行编码。所…...

学习Android的第二十二天

目录 Android ContextMenu 上下文菜单 ContextMenu 范例 参考文档 Android SubMenu 子菜单 范例 参考文档 Android PopupMenu 弹出菜单 范例 参考文档 Android ContextMenu 上下文菜单 在Android开发中,ContextMenu(上下文菜单)为…...

JavaScript——流程控制(程序结构)

JavaScript——流程控制(程序结构) 流程控制就是来控制我们的代码按照什么结构顺序来执行。更倾向于一种思想结构。 流程控制分为三大结构:顺序结构、分支结构、循环结构 1、顺序结构 ​ 代码从上往下依次执行,从A到B执行&#x…...

如何用ChatGPT+GEE+ENVI+Python进行高光谱,多光谱成像遥感数据处理?

原文链接:如何用ChatGPTGEEENVIPython进行高光谱,多光谱成像遥感数据处理? 第一:遥感科学 从摄影侦察到卫星图像 遥感的基本原理 遥感的典型应用 第二:ChatGPT ChatGPT可以做什么? ChatGPT演示使用 …...

AIGC工具( 7个 )

人工智能技术有好的一方面,又不好的地方,要区别对待,吸取精华,去其糟粕。目前市场上有很多AI大模型,可以支持聊天,写文稿,创作等,部分可以生成图片,以下是7个很不错的免费…...

学习Java的第一天

一、Java简介 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。 后来 Sun 公司被 Oracle (甲骨文)公司收购,Jav…...

【设计模式】工厂模式与抽象工厂模式

工厂方法 以图书馆管理系统为例,需要API提供查询不同专业分类的书目列表,一般实现, class LibraryManager { public:LibraryManager() {}//按专业分类查询BookList Query(Type type) {if(type TA) {return ...;} else if (type TB) {} el…...

使用plasmo框架开发浏览器插件,注入contents脚本和给页面添加UI组件

plasmo:GitHub - PlasmoHQ/plasmo: 🧩 The Browser Extension Framework plasmo是一个开发浏览器插件的框架,支持使用react和vue等技术,而且不用手动管理manifest.json文件,框架会根据你在框架中的使用,自…...

python并发 惰性处理大型数据集

惰性计算是一种编程策略,它使得程序在何时执行计算的决定推迟到需要结果时才进行。这种策略的好处在于,它允许程序处理大规模数据或者需要大量计算的任务时节省内存和计算资源。 举例来说,当我们调用 Python 中的 range() 函数时&#xff0c…...

Docker将本地的镜像上传到私有仓库

使用register镜像创建私有仓库 [rootopenEuler-node1 ~]# docker run --restartalways -d -p 5000:5000 -v /opt/data/regostry:/var/lib/registry registry:2[rootopenEuler-node1 ~]# docker images REPOSITORY TAG IMAGE…...

[LeetBook]【学习日记】有效数字——状态机

题目 有效数字 有效数字(按顺序)可以分成以下几个部分: 若干空格一个小数或者整数(可选)一个’e’或’E’,后面跟着一个整数若干空格 小数(按顺序)可以分成以下几个部分&#xff1a…...

学习目标2024

技术: 什么是 Nacos apifox 业务: 域统一...

引入js,刷新清除缓存

一、这种会让所有的css/js资源重新加载 <meta http-equiv"pragram" content"no-cache"> <meta http-equiv"cache-control" content"no-cache, no-store, must-revalidate">二、加时间戳 每次引入&#xff0c;后面版本号都…...

【VSCODE修改代码行间距】解决方案

在我们编码的过程中&#xff0c;由于显示字体和显示器的不同&#xff0c;会需要调整行间距&#xff0c;在vscode默认的选项中没有看到设定行间距的选项&#xff0c;不过&#xff0c;可以手动修改配置档达到目的。 1.打开设置 2.打开配置档&#xff0c;手动进行设定 3.在选项中添…...

lvs+keepalive

虚拟路由冗余协议(Virtual Router Redundancy Protocol&#xff0c;简称VRRP) VRRP能够在不改变组网的情况下&#xff0c;将多台路由器虚拟成一个虚拟路由器&#xff0c;通过配置虚拟路由器的IP地址为默认网关&#xff0c;实现网关的备份。 协议版本: VRRPv2&#xff08;常用&…...

用spark读取及存储数据

文章目录 读取数据存储数据 读取数据 data spark.sql("""select * from temp.tables""") data.show(3)# 转成pandas方式 # df data.toPandas() # df.head(3)存储数据 table "temp.new_tables" data.write.format("hive"…...

蓝牙 | 软件: Qualcomm BT Audio 问题分析(4)----检查MIPS使用情况

大家好&#xff01; 我是“声波电波还看今朝”成员的一位FAE Devin.wen&#xff0c;欢迎大家关注我们的账号。 今天给大家大概讲解“如何排查Qualcomm BT Audio”的疑难杂症&#xff08;四&#xff09;&#xff1a;MIPS检查。 如果大家还没有注册我们大大通的账号&#xff0c…...

【实战】K8S集群部署nacos并接入Springcloud项目容器化运维

文章目录 前言Nacos集群搭建Spring cloud配置nacos将Springcloud项目部署在k8s写在最后 前言 相信很多同学都开发过以微服务为架构的系统&#xff0c;开发微服务必不可少要使用注册中心&#xff0c;比如nacos\consul等等。当然在自动化运维流行的今天&#xff0c;我们也会将注…...

prometheus监控zookeeper方案

这里要求zookeeper版本必须达到3.6或以上&#xff0c;用的是官方自带的监控信息。 官方下载地址 https://zookeeper.apache.org/releases.html#download 然后在zookeeper的配置文件&#xff0c;比如zoo.cfg最后面加上这一段 metricsProvider.classNameorg.apache.zookeeper.…...

智能照明控制系统的优点有哪些

智能照明控制系统在会展中心中应用的功能和优点&#xff1a; 1实现照明控制智能化 在使用智能照明控制系统之后&#xff0c;能够将系统工作在全自动的状态下&#xff0c;系统能够预先设置好若干个基本切换状态&#xff0c;并且还能够根据预先设定的时间自动的在展馆各种工作状…...

AI时代的程序员应该如何就业突击找工作?编程语言该如何选择才不会被时代所淘汰?

AI时代的程序员应该如何就业突击找工作&#xff1f;编程语言该如何选择才不会被时代所淘汰&#xff1f; AI时代程序员就业突击与编程语言选择指南 一、就业突击策略 核心能力强化 算法与数据结构&#xff1a;掌握基础算法&#xff08;排序/搜索&#xff09;和高级结构&#x…...

嵌入式系统中void指针与函数指针的高级应用

void指针与函数指针在嵌入式系统中的高级应用1. void指针的工程应用1.1 void指针的本质特性void指针(void*)在C语言中表示一个"不知道类型"的指针变量&#xff0c;其核心特性在于&#xff1a;int nums[] {3, 5, 6, 7, 9}; void* ptr1 nums; int* ptr2 (int*)nums;…...

Ubuntu22.04上ROS1 Noetic安装避坑指南:从编译错误到完美运行

Ubuntu 22.04上ROS1 Noetic终极安装指南&#xff1a;解决C17兼容性与依赖冲突 当Ubuntu 22.04成为主流开发环境时&#xff0c;许多机器人开发者面临一个尴尬局面&#xff1a;官方支持的ROS1 Noetic仅适配到Ubuntu 20.04。但现实项目中&#xff0c;我们常被迫在新系统上运行旧版…...

Netgear路由器Telnet功能启用工具:技术解析与实践指南

Netgear路由器Telnet功能启用工具&#xff1a;技术解析与实践指南 【免费下载链接】netgear_telnet Netgear Enable Telnet (New Crypto) 项目地址: https://gitcode.com/gh_mirrors/ne/netgear_telnet 一、功能价值&#xff1a;技术突破点与应用场景 1.1 核心功能概述…...

Qwen3-TTS-Tokenizer-12Hz实操手册:音频峰值检测与动态范围压缩联动

Qwen3-TTS-Tokenizer-12Hz实操手册&#xff1a;音频峰值检测与动态范围压缩联动 1. 引言&#xff1a;音频处理的关键挑战 音频处理中经常遇到两个棘手问题&#xff1a;一是音频信号动态范围过大导致某些部分听不清&#xff0c;二是峰值过高造成失真。传统方法需要分别处理这两…...

内存检测从入门到精通:Memtest86+实战指南

内存检测从入门到精通&#xff1a;Memtest86实战指南 【免费下载链接】memtest86plus memtest86plus: 一个独立的内存测试工具&#xff0c;用于x86和x86-64架构的计算机&#xff0c;提供比BIOS内存测试更全面的检查。 项目地址: https://gitcode.com/gh_mirrors/me/memtest86…...

别再只调参了!从NeurIPS 2025看时间序列预测的7个新思路:标签对齐、隐式解码与后处理修正

别再只调参了&#xff01;从NeurIPS 2025看时间序列预测的7个新思路&#xff1a;标签对齐、隐式解码与后处理修正 当算法工程师们还在为LSTM的超参数调优争论不休时&#xff0c;NeurIPS 2025的最新研究已经将时间序列预测推向了全新的技术范式。这场全球顶会揭示了一个关键趋势…...

VLP-16数据包解析实战:从原始字节到三维点云

1. VLP-16数据包解析入门指南 第一次拿到VLP-16激光雷达的原始UDP数据流时&#xff0c;我完全被那一串串十六进制数字搞懵了。这就像收到一封用密码写成的信&#xff0c;明明知道里面藏着宝贵的三维环境信息&#xff0c;却不知道如何破译。经过几个项目的实战积累&#xff0c;我…...

dry插件系统解析:如何扩展自定义Docker管理功能

dry插件系统解析&#xff1a;如何扩展自定义Docker管理功能 【免费下载链接】dry moncho/dry: dry&#xff08;Docker Run Commands&#xff09;是一款命令行工具&#xff0c;旨在简化对Docker容器的操作管理&#xff0c;提供了一种简洁的方式创建、启动、停止和删除Docker容器…...

4大价值点:旧设备复活开源工具如何让经典iOS设备重获新生?

4大价值点&#xff1a;旧设备复活开源工具如何让经典iOS设备重获新生&#xff1f; 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-…...