DuneでJito MEV報酬取得ガイド
はじめに
確定申告の季節が今年もやってまいりました。
最近では日本の仮想通貨帳簿サイトもSolanaに対応してきましたが、やはり漏れがないか念の為別の方法でも確認したいものです。
Solanaのトランザクションから取得するという方法もありますが、バリデーターの場合はほとんど不可能なのでは?と思っています。
そこで今回はDuneを使って、JitoのMEV報酬を取得する方法について解説していきます。
Jito報酬はどこに受け取るの?
これはあなたがステーカーかバリデーターかで異なります。
ステーカーというのはSOLを使ってバリデーターに委任ステークをする人のことです。通常のステーキングする人のことですね。ほとんどの人はステーカーになると思います。ステーカーの場合、ステーキング開始時にステークアカウントを作成し、SOLをそのアカウントに移し、バリデーターに委任することになります。このアカウントでステーキング報酬を受け取ることになります。
もしもバリデーターの場合、おそらくvote accountに入れられるのだと思います。おそらくというのは、identityアカウントにそれらしい動きがないので、残る可能性がvote accountしかないためです。
いつ受け取るの?
エポック境界と呼ばれるタイミングですが、たいていは「次のエポックが開始してからちょっとしたら」の意味です。
どこで確認する?
バリデーターの場合
バリデーターの場合はJitoのダッシュボードで一つ前のエポックのMEV報酬データが見れます
実際に投票アカウントに入れられているのが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(ハッシュ)で、amount
がnet revenue
に相当するものです。
ステーカーの場合
以下のようになります
SELECT
*
FROM
jito_tip_distribution_solana.jito_tip_distribution_call_claim
WHERE
account_claimant= 'ステーキングアカウント'
ORDER BY
call_block_date DESC;
終わりに
これらは確定申告時に自分が使っているDuneのクエリです。一応他のエクスプローラーサイトと突合させながら確認はしているつもりですが、Duneを頻繁に使うわけではないので各自で再確認して頂けると助かります。また内容に間違いなどありましたらコメント頂けると助かります。
Discussion