由于web3.js的使用颇为广泛,所以今天笔者尝试用python实现通过zkSync提供的WebSocket URL方式获取zk数据。
思路:1.链接上zkSync -> 2.获取所有block的高度 -> 3.遍历block,取出block中所包含的所有交易的hash -> 4.依据hash取出所有交易的信息
通过官网api文档,获取zkSync的WebSocket URL
wss://zksync2-testnet.zksync.dev/ws
最重要的获取链接的方式已经拿到了,那么就可以开始写我们的代码了
获取链接:
#导包
from web3 import Web3
#获取链接
w3=Web3(Web3.WebsocketProvider('wss://zksync2-testnet.zksync.dev/ws'))
接下来拿到最新的区块高度
#查询区块
max_block = w3.eth.block_number
接下来依次遍历取区块数据
在这一部步中,返回的block_info已经是字典类型,所以要得到交易的hash直接取transactions即可
start = 0
while start <= max_block:
# 获取block信息
block_info = w3.eth.get_block(start)