【超絶初心者向け】SerumDEXから板情報を取得する【カムヒア宇宙猿】
こんにちは。ひろぷうんことKT_HIROPNです。
最近SerumDEXを介して行われている某セール🛸、
「板どこまであんねん!」てなりますよね。
そんな人向けに「Pythonを使ってSerumDEXから板情報を取得する」ことを
誰でも出来る感じでやることだけまとめてみましたよ!
お急ぎの方もいるかもなので超QuickGuideです。
キーボードは「Ctrl+C」「Ctrl+V」「Backspace」しか使わずに済む形でまとめました。
分かる人からすると「そんな簡単なことでnote書いてドヤるの?」てくらい
どちゃくそ簡単なことしか書いてません。
加工して扱いやすく吐き出すとか、イケてる計算するとか、
何の創造性も含みません。
創造性無さすぎてもはやマナー違反だと思ったら優しく指摘おねしゃす。
Pythonって意外と簡単だよ、という入り口として、これくらいならまとめてみても良いかなって思った次第です。
めちゃくちゃ端折ってやることだけ書くので、
上手くいかない/いかなくなった場合はググって頑張ってみてください。
※一応、既にPython等入ってないクリーンな環境でこの手順を試して成功しています
自己紹介
書いときました。
御託なしで何するかだけ書くんじゃ
〇〇とは××のことで……とか抜きに、
どこをポチポチすれば良いのかだけ書くんじゃ。
気になったら適宜ググってください。
本来は諸々インストール後にバージョン確認とかするのがお作法ですが、
必要最低限以外は全て省くスタイルで書くんじゃ。
まあ、アップデート方法とかはググってください。
環境要因で動かないとかはケアしきれません。がんばってググれ!
注:Windows用です。
Mac?こういう用途に使ったこと無いのでよく分かりませんが、超基本的なことしかしないので、だいたい同じじゃね?(適当)
Linux?多分この記事はあなたに必要ありません。
スマホ?ママにPC買ってもらいな!
①Pythonのインストール(最初だけ)
https://www.python.org/
↑「DOWNLOADS」からインストールじゃ
「Add Python X.X to PATH」にチェックを入れましょう。
入れないととても面倒なことになります。
②コマンドプロンプトを開く
画面左下の「ここに入力して検索」に「cmd」て打ったら出てくるので、
これを右クリックして「管理者として実行」じゃ。(最初だけ)
2回目以降は、左クリックして普通に立ち上げて問題ないのじゃ。
③pyserumのインストール(最初だけ)
pip install pyserum
↑コピペしてEnter
(勢いがウリのお猿さんのために念のため説明すると、
ドラッグして「Ctrl+C」でコピー、
⇒コマンドプロンプトをクリックして「Ctrl+V」でペーストじゃ)
※よくあるミスとして、Python実行中だとsyntax errorで失敗します。
④をすでに実行してたらコマンドプロンプト閉じて②からやり直そう
④Pythonの実行
python
↑コピペしてEnter
※上手くいかない場合、PATHを通せてない可能性が高いです。ググってね。
無理だった。python3でやった
⑤板の取得
買い板だけ取得版
from pyserum.connection import conn
from pyserum.market import Market
cc = conn("https://api.mainnet-beta.solana.com/")
market_address = "MarketAddress" # 左のMarketAddressを書き換えてね
# 買い板
market = Market.load(cc, market_address)
print("Bid Orders:")
bids = market.load_bids()
for bid in bids:
print(f"price: {bid.info.price}, size: {bid.info.size}.")
↑一回メモ帳とかにコピペして、
「MarketAddress」を見たいマーケットIDに書き換える。
で、それをコマンドプロンプトにコピペして実行。
「…」とか出るんでオラオラ2回くらいEnter押してください。
※書き換えるのは4行目、以下の太字のところ。
「market address = “MarketAddress” # 左のMarketAddressを書き換えてね」
(おまけ:売り・買いどっちも取得版)
from pyserum.connection import conn
from pyserum.market import Market
cc = conn("https://api.mainnet-beta.solana.com/")
market_address = "MarketAddress" # ここにマーケットアドレス入れてね
# 売り板
market = Market.load(cc, market_address)
asks = market.load_asks()
print("Ask Orders:")
for ask in asks:
print(f"price: {ask.info.price}, size: {ask.info.size}.")
# 買い板
print("Bid Orders:")
bids = market.load_bids()
for bid in bids:
print(f"price: {bid.info.price}, size: {bid.info.size}.")
完
↓こんな感じの出てくると思います。例の買い板達です。
簡単ですね。
price: 1.0, size: 1.0.
price: 1.0, size: 1.0.
price: 5.0, size: 3.0.
price: 10.0, size: 1.0.
price: 10.0, size: 1.0.
price: 18.0, size: 1.0.
price: 20.0, size: 1.0.
price: 100.0, size: 1.0.
price: 369.0, size: 1.0.
price: 500.0, size: 1.0.
price: 1000.0, size: 1.0.
price: 1116.0, size: 1.0.
price: 2400.0, size: 1.0.
price: 3000.0, size: 1.0.
price: 4000.0, size: 1.0.
price: 7000.0, size: 1.0.
price: 7600.0, size: 1.0.
price: 8400.0, size: 1.0.
price: 9000.0, size: 1.0.
price: 9000.0, size: 2.0.
price: 9000.0, size: 1.0.
price: 9101.0, size: 1.0.
price: 9105.0, size: 1.0.
price: 9119.0, size: 1.0.
price: 9300.0, size: 1.0.
price: 9303.0, size: 1.0.
price: 9400.0, size: 1.0.
price: 9450.0, size: 1.0.
price: 9500.0, size: 1.0.
price: 9600.0, size: 1.0.
price: 9601.0, size: 1.0.
price: 9900.0, size: 1.0.
price: 9901.0, size: 1.0.
price: 9901.01, size: 1.0.
>>>
活用方法はあなた次第!
Serumさんが思ったより簡単に触れる親切設計だったので、
私も色々試してみようと思います。
でも多分、これ以上の情報はタダで教えたら怒られるやつ。
参考リンク
見てみたらわかると思いますが、ここに書いてあるものの不要な情報削ってコピペしただけです。
このページ見て「ん、それだけで見れるの?」と思ったのですが、
・環境構築でつまづく人が多そう
・英語見ただけで全くワカランって人が多そう
・例の黒い画面無理って人が多そう
だったので、環境構築の仕方を加筆しただけの記事でした。
Pythonの解説って、コマンドの羅列ばっかで、
「コマンドプロンプトを使う」という超初歩的な内容書いてなかったりするしね。
クリプト投げ銭歓迎(SPL)
CqreGmYjRZLoQMqY4dXuuB5kcvQ5MQKtTDLaRWkoJ26C
マジで大したこと書いてないので、
超少額にしてください……罪悪感で死ぬので……
あ……でも、それでもたくさんくれたいなら、止めはしないけど……
SPLなら何でもいいですし、ク〇コインのゴミ箱代わりにしても良いです。ミント割れして見たくもなくなったNFTの火葬場にしても良いです。
ただし、これを入口に超大物botterになっちゃったら
利益半分ください!!!!😋
※有料記事ですが、投げ銭用の設定なので課金しても文章は増えません。
ただし、反響次第で、投げ銭受付取り下げるかもだし、逆にギリギリワンコイン価格で有料限定にするかもです。
【超絶初心者向け】SerumDEXから板情報を取得する【カムヒア宇宙猿】
100円
気軽にクリエイターの支援と、記事のオススメができます!