見出し画像

Mempool Explorerで流動性の追加を確認する方法

この記事は仮想通貨コミュニティ、Crypto流星街によって運営されています。
こんにちは、Crypto流星街の0x_Riceです。

こちらでは文字数制限の関係でツイッターには書きづらい内容や、比較的アーカイブする価値のありそうな情報を不定期で投稿できたらいいなと思っています!

ぜひフォローしていただけると嬉しいです!


※本記事はリリース時より¥500の有料記事でしたが、Mempool Explorerのアップデートによって内容が古くなってきたため2023/10/30をもって無償公開へと切り替えさせていただきます。
これまでにご購入いただいた皆様に深く感謝いたします。

※Mempool Expolorerのアップデートにより、Ethereum Mainnet/Testnet以外のチェーンは有料プランのみとなりました。ご注意ください。

概要

いつもニッチなツールネタばっかり書いてますが、今回ははじめて魔界っぽい話題について書こうと思います。「Mempool Explorer」を使って特定のトークンに流動性が追加されたことをリアルタイムで確認する方法について紹介します。

画像1

さて、皆さん。Mempool Explorerって知ってますか?

Mempool Explorerとは、Mempool上に存在するTxについてリアルタイムで監視することのできる監視ツールです。

この例えはネットワーク機器とか扱う方にしか刺さらないですが、イメージ的にはブロックチェーン版のWireSharkみたいなもんです。

ちなみにMempoolとはメモリプールのことで、ユーザーによって送信された取引のTxが一時的に置かれるプールのことを言います。

このMempool Explorerを使うことでブロックチェーンネットワーク上に流れている膨大なTxを監視し、必要な条件に沿ってフィルタリングしていくことで特定のイベント(今回で言うと流動性の追加)を最速で見つけよう!というのが本記事の大筋になります。


Mempool Explorerの使い方

ここからはざっくりMempool Explorerの使い方を解説します。

ちなみに僕も達人ではないので基礎的な内容になります。詳しい人いたら教えてください!

基本GUIについて

ここではMempool Explorer(リンクはこちら)のGUIについてファンクションごとにざっくり紹介します。

スクリーンショット 2021-08-26 12.30.35

アカウント作成することで作ったSubscription(プリセット的な)を保存しておいたりできます。無料で作れるので、取り急ぎまずはアカウント作っておきましょう。

ちなみに有償版だともっと色々できるみたいです。詳しくはこちらを参照。

②Create Subscription

ここからSubscriptionを作成することができます。監視対象のコントラクトアドレスを入力することで監視をスタートすることができます。

③Configurationサイドバー

画像3

ConfigurationとはSubscriptionをAPI キーに保存してプリセット化なものです。

APIごとに別々のSubscriptionを割り当てて管理したり、Webhookを吐いたりできます。

ちなみにConfigurationはネットワークごとに別々の物を作る必要があります。

④テンプレート選択

みんながよく使うであろうテンプレートがあらかじめいくつか用意されています。これらを使用することで1から作り始めるより楽にスタートできます。また既に組まれたテンプレートの中身を見ることで「何をやってるのか」を理解しやすいので、一度触ってみることをオススメします!


Mempool Explorerの基本操作

さて、GUIの解説もしたことですし、まずは基本操作を覚えてみましょう。

おそらく一番単純であると思われる、自分のウォレットのTxの監視をやってみましょう。

①Subscriotionを作成する

スクリーンショット 2021-08-26 13.20.50

まずは、自分のウォレットアドレスを入力してSubscriptionを「Create」してください。

スクリーンショット 2021-08-26 13.21.55

これでSubscriptionが完成しました。ちなみに左端の「・・・」メニューからSubscriotionに名前をつけられます。

ここではわかりやすいように「My Wallet」とでもしておきましょう。


②Networkを選択する。

次に自分が監視を行いたいネットワークを選択してください。

スクリーンショット 2021-08-26 13.22.37

赤枠のボタンからネットワークを選べます。今回はbsc:mainnetを選択。

Listeining・・・になっていればTxを監視する準備は完了です。


③自分宛に適当なTxを流す。

あとは同じウォレットから同じウォレットへ適当なTxを流してみてください。リアルタイムで反応するはずです。

ダウンロード

反応めっちゃ速くて草ですね。

スクリーンショット 2021-08-26 13.35.50

ちなみに今のログはこんな感じ。(画像はみ出ててごめんね)

2021-08-26T04:31:12.425ZにTxがPending状態としてMempoolにあがり、

2021-08-26T04:31:16.497ZにTxがconfirmedになる様子がわかります。

更にその際のGasがいくらでーTx hashが何でーナンスが何番でーといったBSCScanで確認できるような諸々が全部リアルタイムで見れる感じです。

ちなみにログ上のHash関連はクリック可能で、クリックするとBSCScanの該当ページに遷移可能です。便利!


④フィルタリングして情報を整理する

でもぶっちゃけ全部の情報とかいらなくないですか?

ここではフィルターとセレクトの2つを使って情報を整理する方法について解説します。

画像9

まず上記の概念について。

フィルター

表示されるイベントを特定の基準に合うトランザクションに限定したい場合に使う。フィルターの条件に合わないイベントはそもそもモニター画面に上がってこない。例えばGweiが6以上のイベントのみを表示する、といった場合に有効。

セレクト

イベントに対して、表示する項目を限定するときに使う。セレクトで選択された項目以外は表示されない。例えば各イベントのGas priceだけを表示する、といった場合に有効。

フィルターは検索条件自体の指定、セレクトは表示される情報の整理に使うイメージです。

スクリーンショット 2021-08-26 13.55.15

先ほど上に貼ったログをセレクトで整理したらこんな感じに。

めっちゃスッキリ!

基本の使い方は大体こんな感じで、後は応用です。

調べるの大変だったので、恐縮ながらこの先は有料記事になります!


特定のトークンの流動性追加を検知するには

さて、ここからが本番です。

さっきの基本操作をよく理解した方はもうピンときているかもしれませんが、ざっくりアウトラインをまとめると、

Pancake Router V2に対してのSubscriptionを作成して、特定のコントラクトアドレスへの流動性追加Txをフィルタリングすることでトークンの流動性追加を最速で検知する

というフローになります。

今回はBSCでやりますのでPancake Swapを使いますが、ETHの方はUniswapだったりと読み替えてくださいますと幸いです。

なおこれには前提条件として、トークンのコントラクトアドレスが事前にわかっている必要があります。ですのでギリギリまでコントラクトアドレスが出てこないタイプのステロン/フェアロンでは使えません。

さて、では実際に設定していきましょう。


①Pancake Swap Router V2のSubscriptionを作成する。

Pancake Swap Router V2のコントラクトアドレスは以下。

0x10ed43c718714eb63d5aa57b78b54704e256024e

上記入力してSubscriptionを作成すると、Pancake Swap Router V2に関連する全てのTxが洪水のように流れ始めます。

画像11

あっという間にイベントがカンストしました。(イベントは50個まで表示可能)

これからフィルタリングを行いますが、その前に一旦セレクトを使って見たい項目をある程度絞っておきましょう。(シンプルに見辛い)

例:

僕は以下のようにセレクトを設定しています。最後まで読めばそれぞれ意味わかると思いますので一旦この通り設定してみてください!

"hash"
"contractCall.methodName"
"status"
"timeStamp"
"contractCall.params.token" ※ 

※場合によってtokenではなくtoken A,token Bなどの場合あり(後述します)

②フィルターを作成する 1/2 addLiquidityETH

上記から洪水の中から特定のトークンの流動性追加Txを抽出するため、フィルターを設定していきます。

なおフィルターに設定できる項目値はまじでアホほどあるので今回は関係あるパラメーターだけ紹介します。

画像12


{ "contractCall.methodName": "addLiquidityETH" }

上記のように設定してください。

なおそれぞれざっくりこんな感じのニュアンスです。

contractCall → 関数を呼び出し

methodName → どの関数か

matches → マッチする

addLiquidityETH → ​流動性追加(WBNBやETHペア)

つまり、「””addLiquidityETHという関数を呼び出す””を行なったTx」を条件として定義する感じです。

※スマートコントラクト自体の知識は浅いのでざっくりですいません。


ちなみに留意点として、

addLiquidity ETHはWETH/WBNBなど基軸通貨とのペアのときに使う関数

addLiquidity はBUSDペアなどBEP20(ERC20)トークン同士のペアとのときに使う関数です。

これで「addLiquidity ETHの関数を呼び出したTx」を絞り込めます。


実際にフィルタリングして待ってみたところ、適当なトークンの流動性が追加されたようでイベントにひっかかりました。

画像14

Tx hash(リンク)を辿ってみると・・・

画像13

確かにBNBペアで流動性が追加されていることがわかります。


③フィルターを作成する 2/2  トークンコントラクト

②で流動性追加Txをフィルタリングすることができました。これに加えてコントラクトアドレスによるフィルターを追加することで、特定のコントラクトアドレスの流動性が追加されたタイミングを最速で知ることができると言うわけです。

早速フィルターを追加します。以下のように設定してください。

画像15

なお、この"token"は "addLiquidity ETH" の場合に使える関数です。

"addLiquidity" を使いたい場合は "token A"を使用してください。

token Bもあります。「token A/token B = xxx/BUSD」 みたいなイメージ。


おわりに

これでSubscriptionの設定が完了です!お疲れ様でした。あとはListeingさせながら全裸待機しておけばOKです。

スマートコントラクトの使用上、Txが送信されると実際に流動性が追加される前にPendingが発生し、その数秒後にTxが承認されますよね?

つまりPendingのTxがMempoolに上がったタイミングで直コン待機しておけば物理的にかなり有利にTxを飛ばすことができるというわけです。

皆さんの魔界ライフが少しでも快適になることを祈ります!(ハニーポットにはくれぐれも気をつけて・・・)

最後までお付き合いいただきましてありがとうございました!


コミュニティ紹介


Crypto流星街(Crypto Meteor City)は、仮想通貨コミュニティおよび投資グループです。
Crypto流星街は常に新しいコミュニティメンバーを募集しています。
仮想通貨(暗号資産)やNFTについて質問や困ったことがあればお気軽に初心者部屋へお越しください。

Crypto流星街 初心者部屋🔰オープンチャット

Crypto流星街 ディスコードサーバー

Crypto流星街 コミュニティ紹介note


いいなと思ったら応援しよう!