見出し画像

【超絶初心者向け】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を通せてない可能性が高いです。ググってね。

⑤板の取得

買い板だけ取得版

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になっちゃったら
利益半分ください!!!!😋

※有料記事ですが、投げ銭用の設定なので課金しても文章は増えません。
ただし、反響次第で、投げ銭受付取り下げるかもだし、逆にギリギリワンコイン価格で有料限定にするかもです。

ここから先は

0字

¥ 100

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