Feeds作成 [SOL/Switchboard]

調べたけどあんまり情報がなかったので作成。
SwitchboardはPythの競合オラクルという話を聞いて調べ始めたけどそんなものに収まらなかったよという。

こういうチャートが自動作成できるようになる↓

jitoSOL/SOLのチャート

Jitoの乖離率なんてあんまり需要ないだろうけど、これは一例。
Feedsはノーコード的な感じで機能作成ができる。Functionsはその上位でRustを組めればそれをスケジュールで動かすことも出来るらしい
Rustはわからないので割愛。
パット見だけど自動でJupiterのSwapさせたりSanctumのLST価格取ってきたりとかなんか色々できそう

How to Create

とりあえず簡単なSOLの価格取得をするフィードを作成
※詳細はDocを確認してもらったほうが確実

  1. Feed作成画面へ移動
    Switchboardのトップ画面右上の自分のウォレットアドレス→My Profile

"My Profile"を選択

2.Feed作成
  "Build a Feed+"を選択

3.JOBを作成
  ”Add a Job”を選択

JOB作成画面

4.Feedsにやらせるタスクを左の方から選んで設定していく
  とりあえず今回はSOLの価格を取得したいだけなので、
  Web3 Fetchの"OracleTask"を”Drag and drop a task to build your job”の部分にD&Dする

OracleTaskは価格を取得するTask

5."OracleTask"の設定を行う
  Task名は自由(今回はgetSolPriceとした)
  Oracleは"Switchboard"を選択し、取得したいSOLのOracle Addressを入力
  (※Oracle Address≠Contract Address)

SOLのOracle Address:

GvDMxPzN1sCj7L26YDK2HnMRXEQmQ2aemov8YBtPS7vR

https://docs.switchboard.xyz/api/next/protos/OracleTask
Task設定画面

ここで"Test Job"を選択してResultが想定通りのものであることを確認
問題ないなら"Add Job"

6.Configuration
  次に”Configuration Feed >”を選択する
  ここでは何秒おきにさっき設定したTaskを動作させるかを指定する
  正直作成するだけなら”Feed Name”の設定だけでOK
  右下の"Create Feed Account"を選択してガス代(0.1Sol位)を払う

Configuration

Feed Name:Feed名。何でも良いけど公開されるのでそれっぽい名前付けが良い気がする
Min Update Delay:最小更新時間(秒)。後述するけどお金かけたくないなら大きい値が良さそう

7.FundとHistory Buffer
  6で支払いをすると設定できるようになる
  ”Fund Lease"はこのFeedを稼働させるための金額チャージ
  "History Buffer"はどれだけデータを溜め込むかの設定

”Fund Lease"は勿論頻繁に稼働させるTaskの場合はお金が掛かる
6で”Min Update Delay”を大きな値にしておけば更新頻度が下がるのでお金の減りが小さくなると思われる

"History Buffer"は大きな値にするほど多くのデータを溜め込める
”Min Update Delay”:300で"History Buffer":30の場合だと2時間半(150分)のチャートとなる感じ

以上

Oracle AddressとトークンのContract Addressは別物なので非常にややこしい


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