見出し画像

Tour de Whirlpool

Tour de Whirlpool とは?

Orca は Solana 上のトレーディング・プラットフォームです。
Tour de Whirlpool は Orca の集中流動性 AMM である Whirlpool を typescript の SDK を通して利用するためのチュートリアルです。

すべて Devnet で行えるチュートリアルのため、メインネットでお金を使う必要もなく、税金面での厄介事も発生しません。

プログラムからスワップしてみたいが、そもそも Devnet にプログラムがあるのかわからない、トークンは何を使えばいいのか・・・そんな悩みがある場合にもお役に立つと思います。

このチュートリアルを学ぶことで、以下の操作をプログラムから行えるようになります。Whirlpool の操作に入る前に、基本的なウォレットの操作として残高確認やトークン送信なども扱っています。

  • SOLとトークンの残高確認

  • SOLとトークンの送金

  • トークンのスワップ

  • Whirlpoolのポジション管理

    • ポジションのオープン

    • ポジションの一覧取得

    • ポジションの状態確認

    • ポジションへの流動性追加

    • ポジションからの流動性引き出し

    • ポジションからの手数料とリワードの回収

    • ポジションのクローズ

想定読者

  • Solana と Orca の Whirlpool を画面から利用した経験がある

  • typescript によるコーディングの経験がある
    (または適応できる他言語の経験がある)

環境前提

  • 利用するプログラミング言語は typescript です

  • 実行環境は node.js です

  • ウォレットの管理に Phantom を使用します

  • ウォレットの管理に Solana CLI を併用します

  • Devnet を使います(費用はかかりません)

  • 必要なトークンはすべてチュートリアル内で入手できます

ソースコード

チュートリアル内のソースコードは全てこちらに登録されています。

https://github.com/everlastingsong/tour-de-whirlpool/tree/main/src/JP

困った時には

  • Orca の Discord にぜひ参加してください。

  • #dev -questions チャネルで開発者を支援しています。

チュートリアル

準備

環境のセットアップ
SOLとトークンの入手

ウォレットの基本操作

ウォレットの基本操作(残高確認)
ウォレットの基本操作(送信)

スワップ

トークンのスワップ
トークンのスワップ(手数料追加)

ポジション管理

ポジションのオープン
ポジションの一覧取得・状態表示
ポジションへの流動性追加
ポジションからの流動性引き出し
ポジションから手数料と報酬を回収
ポジションのクローズ

補足

ポジションのオープン(Metadataなし)

コード提供のみ

https://github.com/everlastingsong/tour-de-whirlpool/tree/main/src/JP

  • PositionBundle: 09x

  • WhirlpoolRouter: 10x

リファレンス

Developer Portal

Whirlpool のコンセプトや SDK の利用方法が解説されています(英語)

エラーの一覧

Whirlpool を使う中で発生したエラーコードを調べることができます

  • 6000(0x1770)以上のエラーは Whirlpool 固有のエラー

  • 6000(0x1770)未満のエラーは Anchor や Solana のエラー

SDK のリファレンス (TypeDoc)

Whirlpool のソースコード

Whirlpool はオープンソースのソフトウェアです。
SDK やオンチェーンのプログラムの詳細・実装を確認することができます。


この記事が気に入ったらサポートをしてみませんか?