首页 > 解决方案 > Solana 拉取与给定地址相关的质押(通货膨胀)奖励历史

问题描述

我可以使用以下方法提取与特定 Solana 地址相关的质押奖励(通货膨胀奖励):

import requests
import json

url = "https://api.mainnet-beta.solana.com"


payload = {
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getInflationReward",
  "params": [
     [my_staking_address], {"epoch": 231}
  ]
}


response = requests.post(url, json=payload).json()
print(response)

问题是我必须指定时代。是否有可能在单个请求中获得与该地址相关的所有质押奖励的列表?遍历每个 epoch 需要一段时间。

我只是希望有一种更好的方法来获取通货膨胀奖励的历史,而不是为每个时期创建一个新请求。

标签: pythonjsonjson-rpcsolana

解决方案


不幸的是,目前这是不可能的,因此您必须遍历这些时期才能知道给定帐户的奖励。如果有什么安慰的话,通货膨胀仅在主网上的插槽 64800004,纪元 150 中启用,因此对于撰写本文时的当前纪元 (235),它是可行的。我们需要向 RPC 调用添加更多功能以完全支持您的要求。

另一种可能的选择是根据来自getVoteAccounts https://docs.solana.com/developing/clients/jsonrpc-api#getvoteaccounts的投票帐户计算奖励,但我相信您仍然需要每个时期的通货膨胀调节器来获得灯的实际奖励金额,使


推荐阅读