Solanaでウォレットトラッカーを構築する
構築するもの: Solana上のウォレットトラッカー/残高モニターです。
この短いガイドでは、Heliusを使用してSolana上にウォレットトラッカーを作成する方法を説明します。複数のウォレットを監視し、保有するSolanaの50%以上が送金された場合に通知します。
Webhookの設定
まず、Webhookを設定する必要があります。HeliusでWebhookを設定する方法は2つあります。
- Helius UIを使用する
- Helius APIを介してプログラムで設定する
UIを使用する方法ははるかに速く、コーディング経験も不要ですが、動的に更新することはできません。APIを使用する方法は柔軟性が高く、監視対象のアカウントを動的に追加または削除できます。このチュートリアルでは、わかりやすさを優先してUIを使用します。
前提条件:Webhook用サーバーの設定
始める前に、Helius Webhookからの呼び出しを受け付けるサーバーが必要です。すでに設定済みの場合は、この手順をスキップしてください。まだない場合は、テスト用のサーバーをReplitで簡単に設定できます。すぐに始められるNode JSのサンプルコードを以下に示します。
サーバーを設定したら、実際のWebhookの構築に進めます。
Helius UIを使用したWebhookの設定
まず、Helius開発者ポータルにアクセスしてSolanaウォレットを接続し、まだ作成していない場合はAPIキーを生成します。キーを生成したら、左側のメニューにある「Webhook」タブをクリックします。続行するには、Webhookへのアクセス権が必要です。アクセス権がない場合は、 Discordでお問い合わせください。 これで「新しいWebhook」をクリックできます(以下を参照)。
新しいWebhookを作成すると、トランザクションタイプ、Webhook URL、アカウントアドレスという3つの入力項目が表示されます。
- トランザクションタイプでは、監視するトランザクションを指定できます。NFTのミント、NFTの販売、NFTの出品、DeFiスワップ、トークン転送、Solana転送など、一般的なトランザクションタイプに対応するパーサーを用意しています。「すべて」を選択して、すべてのトランザクションを監視することもできます。
- アカウントアドレスでは、監視するアカウントを指定できます。Webhook APIを使用すると監視対象のアカウントを動的に変更できますが、UIからは変更できません。
- Webhook URLでは、Webhookの条件が満たされたときに呼び出すエンドポイントを指定できます。
UIでこれらの項目を入力してください。
これで、次のアドレスが関係するSOLの転送が発生するたびに、
8cRrU1NzNpjL3k2BwjW3VixAcX6VFc29KHr4KZg8cs2Y
Heliusは対応するトランザクションをテスト用のReplitサーバーに送信します。正確なペイロードについては、こちらを参照してください。
Webhook呼び出しの処理
設定したアドレスが関係する転送が発生すると、そのトランザクションとともにWebhookサーバーが呼び出されます。このケースを処理するコードを書いてみましょう。監視対象のアカウントが保有資産の90%以上を失ったときに、通知関数(Pager Duty、メール、Dialectメッセージなど)を呼び出します。
まとめ
以上です。わずか数行のコードを使い、数分で残高モニターを稼働させることができました。このガイドについて質問や修正点がある場合は、Discordでお問い合わせください。皆さんが何を構築するのか、楽しみにしています!
関連記事
Heliusを購読
Solana開発の最新情報や新しい記事の公開通知を受け取れます


