🐡

DuneでJito MEV報酬取得ガイド

2025/02/24に公開

はじめに

確定申告の季節が今年もやってまいりました。
最近では日本の仮想通貨帳簿サイトもSolanaに対応してきましたが、やはり漏れがないか念の為別の方法でも確認したいものです。

Solanaのトランザクションから取得するという方法もありますが、バリデーターの場合はほとんど不可能なのでは?と思っています。
そこで今回はDuneを使って、JitoのMEV報酬を取得する方法について解説していきます。

Jito報酬はどこに受け取るの?

これはあなたがステーカーバリデーターかで異なります。

ステーカーというのはSOLを使ってバリデーターに委任ステークをする人のことです。通常のステーキングする人のことですね。ほとんどの人はステーカーになると思います。ステーカーの場合、ステーキング開始時にステークアカウントを作成し、SOLをそのアカウントに移し、バリデーターに委任することになります。このアカウントでステーキング報酬を受け取ることになります。

もしもバリデーターの場合、おそらくvote accountに入れられるのだと思います。おそらくというのは、identityアカウントにそれらしい動きがないので、残る可能性がvote accountしかないためです。

いつ受け取るの?

エポック境界と呼ばれるタイミングですが、たいていは「次のエポックが開始してからちょっとしたら」の意味です。

どこで確認する?

バリデーターの場合

バリデーターの場合はJitoのダッシュボードで一つ前のエポックのMEV報酬データが見れます

https://jito.retool.com/embedded/public/e9932354-a5bb-44ef-bce3-6fbb7b187a89

実際に投票アカウントに入れられているのがnet revenueというものです。

バリデーターには受け取る報酬の割合であるコミッション率があるため、MEV revenueにコミッション率を掛けた値が実際の受け取り額になります。

計算は以下のようになります。

MEV revenue * mev_commission

claim_status_accountを見て、その送信された額を見ても良いと思います。

ステーカーの場合

あなたがステーカーの場合、あなたのステーキングアカウントで確認できるはずです。

DuneでMEV報酬を取得するには?

バリデーターの場合

以下のようになります。

SELECT
  *
FROM
  jito_tip_distribution_solana.jito_tip_distribution_call_claim
WHERE
  -- 投票アカウント
  account_claimant = 'xxxxxx'
ORDER BY
  call_block_date DESC;

これで投票アカウントに渡されたJito tipを取得できます。

call_tx_idが、このインストラクションが呼んだトランザクションのid(ハッシュ)で、amountnet revenueに相当するものです。

ステーカーの場合

以下のようになります

SELECT
  *
FROM
    jito_tip_distribution_solana.jito_tip_distribution_call_claim
WHERE
    account_claimant= 'ステーキングアカウント'
ORDER BY
  call_block_date DESC;

終わりに

これらは確定申告時に自分が使っているDuneのクエリです。一応他のエクスプローラーサイトと突合させながら確認はしているつもりですが、Duneを頻繁に使うわけではないので各自で再確認して頂けると助かります。また内容に間違いなどありましたらコメント頂けると助かります。

Discussion