erc20根据合约地址获取所有交易记录
1.etherscan api地址
https://etherscan.io/apis
2.获取特定区块段,中的特定合约的交易记录
https://api.etherscan.io/api?module=account&action=tokentx&contractaddress=填入合约地址&startblock=0&endblock=10000&page=1&offset=100&sort=asc&apikey=YourApiKeyToken接口原理:按照区块获取交易记录(eth上的es设置只有10000,所以采取这种方式)
部分参数示例:
contractaddress 自己的合约地址
startblock 开始区块
endblock 结束区块
page 页数
offset 每页数量
&apikey=YourApiKeyToken 测试时(最好修改)可不修改,只是限制调用次数
3.获取eth区块高度
https://api.etherscan.io/api?module=proxy&action=eth_blockNumber&apikey=YourApiKeyToken
实现代码:
@Scheduled(cron = "0/1 * * * * ? ") // 间隔1秒执行public synchronized void tokenTranferRec() {try {logger.info("获取交易记录");ErcConfigEntity ercConfigEntity = ercConfigService.selectById(1);String result = GetApi.getApi(TOKENTRANSFERRECSTART +STARTBLOCK + ercConfigEntity.getStartBlock() +ENDBLOCK + ercConfigEntity.getEndBlock() +PAGE + ercConfigEntity.getPage() +OFFSET + ercConfigEntity.getOffset() +TOKENTRANSFERRECEND);JSONObject object = JSON.parseObject(result);//判断接口调用返回值if ("1".equals(object.getString("status"))) {logger.info("已获取到交易记录");JSONArray list = object.getJSONArray("result");for (int i = 0; i < list.size(); i++) {JSONObject ercTraTec = list.getJSONObject(i);ErcTraRecEntity ercTraRecEntity = new ErcTraRecEntity();ercTraRecEntity = JSONObject.toJavaObject(ercTraTec, ErcTraRecEntity.class);logger.info(ercTraRecEntity.getHash());ercTraRecService.insertByHash(ercTraRecEntity);}ercConfigEntity.setPage(ercConfigEntity.getPage() + 1);ercConfigEntity.setOffseted(ercConfigEntity.getOffset());ercConfigService.updateById(ercConfigEntity);}//当前区块有数据时,不执行区块+10000,page=1的操作if (object.getJSONArray("result").size() <= 0) {//当前区段的块中没有记录时,将endBlock赋值给startBlock,endBlock+10000-->判断是否大于当前eth区块高度,//将startBlock,endBlock以及page=1入库。logger.info("start" + ercConfigEntity.getStartBlock());logger.info("end" + ercConfigEntity.getEndBlock());//获取区块高度String resul = GetApi.getApi(ETHBLOCKNUMBER);JSONObject object1 = JSON.parseObject(resul);long out = Integer.parseInt(object1.get("result").toString().substring(2, object1.get("result").toString().length()), 16) + 100000000L;//if (ercConfigEntity.getEndBlock() <= out) {ercConfigEntity.setStartBlock(ercConfigEntity.getEndBlock());ercConfigEntity.setPage(1L);}if ((ercConfigEntity.getEndBlock() + 10000) < out) {ercConfigEntity.setEndBlock(ercConfigEntity.getEndBlock() + 10000);} else {ercConfigEntity.setEndBlock(out);}ercConfigService.updateById(ercConfigEntity);}} catch (Exception e) {logger.error(e.toString());} finally {try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}
erc20根据合约地址获取所有交易记录相关推荐
- 利用BSCScan获取账户交易记录
文章目录 一.BSCScan账户 1.1 BSCScan注册 1.2 请求速率限制 1.3 常用文档参考 二.接口调用方法 2.1 获取地址的平台币交易记录 2.1.1 使用方法 2.1.2 curl ...
- (二)requests爬取智能合约账户地址及其交易记录
1 背景 之前使用Selenium爬取 https://eth.btc.com/accounts 上的账户地址及其交易记录,但是运行时间很长,而且老报一些错误,所以想到换一种方式来爬取智能合约. ...
- eos获取用户的交易记录
获取用户交易记录的方法:get_actions 调用此方法必须 配置 filter-on = * 或者打开mongodb插件
- 井通区块链API接口介绍02-挂单类+交易记录+交易效果
本节介绍井通区块链的挂单接口和交易记录接口. 井通区块链是一个原生支持多资产,原生支持多资产之间相互交易的底层区块链系统,因此用户可以直接在链上挂单,用一种资产 交换另外一种资产,价格和数量可以自由定 ...
- Web3j通过合约地址监听transfer事件获取以太坊交易数据
Web3j通过合约地址监听transfer事件获取以太坊交易数据 We3j web3j是一个轻量级的Java库,用于在Ethereum网络上集成客户端(节点). 核心特性 通过Java类型的JSON- ...
- 获取地址eth,usdt 余额及最早一次交易记录
import csv import json import os import timeimport pandas as pd import requests import threading imp ...
- Python通过snmp获取交换机VLAN号、VLAN默认网关、VLAN子网掩码和ARP表中的IP地址与MAC对应记录数据
自己做项目时,自己封装的Python通过snmp获取交换机VLAN号.VLAN默认网关.VLAN子网掩码和ARP表中的IP地址与MAC对应记录数据. myPySnmp.py源代码 "&quo ...
- 解决过帐时提示“无法获取内部公司交易记录的帐户”
错误 当在 Microsoft Dynamics AX 2009 中启动了中国式凭证系统后,在进行凭证复核或过帐时提示: 英文:Fail to get the account for intercom ...
- ethereum扫描区块,获取区块内的交易记录
初始化客户端 ⽤Go初始化以太坊客户端是和区块链交互所需的基本步骤.⾸先,导⼊go-etherem的 ethclient 包并 通过调⽤接收区块链服务提供者URL的 Dial 来初始化它. 若没有现有 ...
最新文章
- torch.empty()
- python多线程加速for循环_多线程-如何在Python的循环中对操作进行多线程
- Property ‘configuration‘ and ‘configLocation‘ can not specified with together
- OSMboxPost()
- 利用win7的applocker功能来有组织的阻止相关软件运行
- windows共享文件服务器迁移(NTFS权限,共享权限,磁盘配额迁移)
- cpp 原子操作_C++ 新特性学习(八) — 原子操作和多线程库[多工内存模型]
- STM32F103C8T6单片机IAP升级
- 椭圆极点极线性质_圆锥曲线(18)———圆锥曲线题目背后的性质总结(1)
- 耳挂式蓝牙耳机原理_专为运动而生的DOSS T63无线蓝牙耳挂式运动耳机
- mysql开发与运维_专业的MySQL开发规范
- 如何从知网下载学位论文的PDF?
- Opencores 无法点击submit的问题解决方案
- 我为什么要学习 Python(2020版)
- 原型工具MockingBot 墨刀
- 2021 iOS面试题大全---全方面剖析面试(二)
- [阿里天池]Baby Goods Info Data
- xcode 可以打开xmind_如何在 iPad 上玩转 XMind?
- 基于HSI颜色模型实现去除照片的“红眼现象”
- 向图档插入外部DWG图片 auto CAD .NET二次开发
热门文章
- Java中怎么将Long类型转换成Integer或int类型
- 【渝粤教育】电大中专Windows操作系统 (2)作业 题库
- Sniffing and sending packets is not available: winpcap is not installed
- css颜色和长度简写
- 《 种子用户方法论》读书笔记
- 大数据开发之Hive篇14-Hive归档(Archiving)
- rac archiving
- 使用docker安装mysql5.7
- MATLAB | 绘图复刻(二) | 折线图+误差棒+柱状图+散点抖动+灰色背景+图片叠加
- php gif 透明背景,php缩放gif和png图透明背景变成黑色的解决方法,缩放png_PHP教程...