今回はDeFiのコントラクトを探す時に「_pid(プールID)」を使うことがあると思うのですが、その_pid(プールID)を素早く見つける方法について紹介します。
「_pid」を見つけるスキルを持つと、ラグプルやハッキングが起きた時に素早く自分の資金を運用先から抜くことができます。
他にも、『サイトが飛んでしまった』『サイトにアクセスできなくなった』このような時に、もたもたしているとその間に運営に資金を抜かれてしまうパターンもあります。そういったことが起きる前に事前に知識をつけて対策をしましょう。
自分の資産を守る為にも、今回の内容はとても大切なスキルですので是非最後まで読んでみてください。
資産を守るために「_pid」を探せるスキルを持とう!
イールドファーミングでファームする際にいろんな通過ペアがありますが「どの通過ペアでファームしているのか?」を特定する必要があります。特定後、そのプールからLPを抜くことをやらないといけないのですが、今回はそのやり方を3つ紹介します。
この中から、状況に応じて方法を選んだり自分が操作しやすい方法を学んでいただけたらと思います。
- MasterChefのReadContractから総当たりで探す
- Depositした時のトランザクションから確認する
- 外部ツールを使う 例)https://vfat.tools/
上から順番に解説していきます。
MasterChefのReadContractから総当たりで探す
おそらくこの方法を使うことが一番多いです。今回はSpiritSwapを使って説明していきます。
このやり方を簡単に言うと、
例えば画像の「SPIRIT-FTM」のプールがMasterChefのプールの「_pid」が何番か?というのを特定する時に、MasterChefを総当たりで検索していく方法になります。
まずSpiritSwapのトップページからドキュメント(Docs)を開きます。
MasterChefのコントラクトをタップします。
「Read Contract」をタップします。
続いて「7.poolInfo」に数字を打ち込みます。
打ち込む数字は「8.poolLength」をもとにして探します。「8.poolLength」に31unitと表示されていますが、これは「SpiritSwapには31個のプールがあります」と言う意味です。
なので今から31個のプールを探していくのですが、プールは1から始まるのではなく0から始まります。なので、1〜31ではなく0〜30を探していきます。
試しにまずは0から入力していきます。
すると「0番目」のプールの詳細が表示されます。これが今探している「SPIRIT-FTM」のプールなのか確認するので「lpToken address」をタップします。
すると画像のページに飛びます。
右下を確認すると「SpiritSwap Token」と表示されています。
なので「0番」はステーキングのほうにある「SPIRIT」だと言うことがわかります。
さらにこの時にポイントなのが「alocPoint(アロケーションポイント)」になります。
この0番目のプールはアロケーションポイントが200と書かれています。
そして先ほどのステーキングのほうにあった「SPIRIT」の表示を見てみるとマルチプライヤーが「2x」と表示されていて、二倍であることが分かります。
なのでこれを他のプールにも当てはめていくと、
今探している「SPIRIT-FTM」のプールはマルチプライヤーが「6x」と表示されているので、alocPoint(アロケーションポイント)が600と表示されるであろうことがわかります。
これを頭に入れて探していくと見つけやすいと思います。
なので先ほどのFtmScanのページに戻り、今度は「1」を入力します。
するとalocPoint(アロケーションポイント)が600と表示されました。これが今探しているプールである可能性が高いです。確認するためlpTokenアドレスを見てみます。
右下を見てみると「SpiritLPs(SPIRIT-LP)」と表示されています。
さらに詳細を見たいのでそこをタップします。
コントラクトを確認してみると末尾が「7789」で終わっていることがわかります。先ほど「1」を入力した際に表示された「lpToken address」を見てみると同じだとわかります。
ということでこれが今回探しているpoolIDだと判明しました。「_pid」は「1」となります。
次に、一番最初に開いた「MasterChef」のページを開きます。
「WriteContract」をタップします。
下にスクロールして「2.deposit」の_pidの欄に「1」を入力します。
これが1つ目のやり方になります。どんな場合にも使える方法なので、やり方としては一番多い方法になると思います。
Depositしたときのトランザクションから確認する
続いて2番目のやり方について解説していきます。
この方法に関しては、一度サイト上からDeposit(emergency withdrawやwithdraw)した後にラグプルなどが起きてサイトが飛んだ場合、コントラクトだけ引き抜くのだけ操作しなきゃいけない時に素早くプールIDを探す方法です。
なのでまずはSpiritSwapを開いてDepositします。これは普通にサイト上から操作するだけなので、この部分の解説は省きます。なお今回は、BNB-SPIRITのLPをプールに入れてファームしています。
ということで今からBNB-SPIRITのプールIDを調べていきます。
まずはウォレットのトランザクションを見ます。
右上のMetamaskのアイコンをタップして先ほどDepositしたトランザクションをタップします。
「↗︎」をタップします。
「Logs」をタップします。
下にスクロールすると「Deposit」と表示されている欄があり、その下に「22」と表示されています。これが「BNB-SPIRIT LP」の「_pid(プールID)」になります。
これが2つ目の「_pid」を見つける方法になります。
外部ツールを使う(https://vfat.tools/)
3つ目の方法は外部ツール『vfat tool』を使った方法になります。
vfattoolはどんなツールなのか>>>
プール情報を全てまとめてくれて、自分がいくら入れているのか?やUnstakeの処理やHarvestの処理をやれるようにしてくれるUIツールになります。
サイトを開いてみるとわかりますが、見た目はとても簡素です。
今回はFTMのネットワークだと少し重たいのでBSCのRamenSwapを例にやっていきます。
まずはvfat toolを開いて一番上にあるRamenの「Various」をタップします。
「You are connected to Fantom……(FTMのネットワークに繋いでいるのでBSCに繋ぎ直してください)」と表示されます。なので下にある「SWITCH NETWORK」をタップして、右側に表示されたネットワーク一覧から「BSC」を選択します。
すると画像のように表示されます。(時間がかかる場合もあります。)
左側に0、1、2と表示されていますがこれが_pid(プールID)になります。
自分がステークしているとStakeのところは数字が反映されています。
ここから追加でStake・Unstake・Harvestすることもできます。
まとめ
今回は「_pid(プールID)」を探す方法を3つ紹介しました。
この方法を覚えておくとどんな時でも素早くプールIDを見つけることができ自分の資金をトラブルから守ることができます。
是非試しに一度やってみることをおすすめします。そして今後もしラグプルなどに遭遇してしまった時にはぜひ活用してもらえたらと思います。
この記事以外にも緊急時の対策をまとめているのでそちらも読んでいただけたらと思います。
最後まで読んでいただきありがとうございました。