ripple api 勉強会
TRANSCRIPT
![Page 1: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/1.jpg)
Ripple Api勉強会トレード用ライブラリを作ってみた
![Page 2: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/2.jpg)
自己紹介
you21979(ゆあ)
暗号通貨を勉強中です
仕事はサーバー周りの仕事をよくやります
![Page 3: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/3.jpg)
rippleで覚えておきたい用語
ledger(データーベースのこと)
transaction(ledgerに格納する取引内容)
ripple-lib(rippleのプロトコルを扱うjavascriptのライブラリ)
![Page 4: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/4.jpg)
トレード用ライブラリを作った
https://github.com/you21979/node-ripple-trade-helper
よくあるビットコイン取引所のAPIに似せて作りました
![Page 5: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/5.jpg)
トレードに必要な機能
・口座情報(Balance)・売り(sell)・買い(buy)・取り消し(cancel)・注文一覧(open orders)・板情報(depth)・出来情報(trading history)
![Page 6: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/6.jpg)
RIPPLE-LIBで用意されてる機能
・アカウント情報取得
・レジャー情報取得
・トランザクション取得
・トランザクション操作
・オーダーブック取得(内部形式)
![Page 7: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/7.jpg)
RIPPLE-LIBの機能に当てはめてみる
・口座情報(アカウント情報取得)
・売り(トランザクション操作)・買い(トランザクション操作)・取り消し(トランザクション操作)・注文一覧(アカウント情報取得)・板情報(オーダーブック取得)・出来情報(トランザクション取得)
![Page 8: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/8.jpg)
どんな感じでデータを扱うか
・XRP/IOUの値の変換
・トランザクションの抽出
![Page 9: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/9.jpg)
Rippleで扱うデータ(通貨)
・XRP 100万倍されている( 1.0XRP = 1000000 )・IOU 数値だけでなく発行元情報など含まれる
![Page 10: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/10.jpg)
Rippleで扱うデータ(通貨)
・XRP xrp = ”123100000” DECIMAL(15,6) xrp = parseFloat(humanxrp) * 1000000 humanxrp = parseFloat(xrp) / 1000000
![Page 11: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/11.jpg)
Rippleで扱うデータ(通貨)
・IOU jpy = { currency:”JPY”, value:”123.1”, issuer:”rxxxxxxxxxxx” } parseFloat(jpy.value)
![Page 12: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/12.jpg)
Rippleで扱うデータ(通貨)
・IOUとXRPで扱い方が違う
差分を吸収する仕組みは使ったほうがいい
ripple-libにはAmountというクラスがある
![Page 13: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/13.jpg)
Rippleで扱うデータ(取引)
・トランザクション
なにが起きたというイベント情報
オーダー情報や約定の記録はこれに入ってる
注文を出すときにはトランザクションに秘密鍵でサインをする(トランザクションに触るとき以外秘密鍵はいらない)
![Page 14: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/14.jpg)
Rippleで扱うデータ(取引)
・板情報
TransactionType: 'OfferCreate',TakerGets: '1000000',TakerPays: { currency: 'JPY', issuer: 'rxxxxx', value: '1.812' }, ripple-libにはOrderBookというクラスがある
![Page 15: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/15.jpg)
Rippleで扱うデータ(取引)
・板情報
Rippleには買いという概念しかない
注文するときも買いしかない
XRP/JPY 買い
JPY/XRP 買い
売りという情報はフラグ情報に入れる
![Page 16: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/16.jpg)
Rippleで扱うデータ(取引)
![Page 17: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/17.jpg)
デモ
作ったツールでデモ
![Page 18: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/18.jpg)
ライブラリ使ってこんなものを作ってる
・マーケットメーカー
板を自動でならべる
・アービトラージ
取引所間の価格差を埋める(サヤ取り)
・タイムスライサー
時間で分割して成り行き注文を出す
![Page 19: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/19.jpg)
ripple-lib使用感
同じ機能やオプションなのに違う名前が
たくさん用意されている
今後ripple-libはリファクタリングでDEPRECATEDが出ると思う。いきなり動かなくなると困るならバージョン固定したほうがいい
![Page 20: ripple api 勉強会](https://reader036.vdocuments.pub/reader036/viewer/2022071814/55a547031a28abbd7e8b4603/html5/thumbnails/20.jpg)
ご静聴ありがとうございました