Waves - Data Feed, WebSocket サーバがオープンになったよ

Waves Data Feed APIWaves WebSocket APIのサーバ実装が公開されていたので触ってみた。

実行

$ java -jar wdf-1.5.0.jar wdf.conf

実行バイナリはここ ノードと同じく設定ファイル指定して実行なので、設定ファイルを用意する。

ブラウザ経由でSwaggerにてAPI確認できるが、Java9だとSwaggerできなかった。Java8ならOK。

設定メモ

マスタをもってきて必要であれば修正

機能のOn, Off (enable)

noにするとサーバ起動しない。
他の機能があった場合(あるいはかつてあった?)の選択用と思われる。
機能拡張されるかは知らない。

保存先 (datafeed directory)

実行ディレクトリからの相対パスを指定。
新たにディレクトリが作成され、収集データが置かれる。

ノード設定 (nodes)

このサーバソフトはフルノードからデータ収集(ブロック同期)し加工して配信する。
そのアクセス先フルノードのREST API窓口を指定。複数指定できる。
複数指定すると先頭から順番に使われ、アクセス失敗すると次のが試される。
リクエストをガンガン投げるので自分のノードを指定した方が行儀が良い。

マッチャー設定 (matchers)

どのmatcherで成立した取引データ(Exchangeトランザクション)を集めるかを指定する。
指定しないと全てのExchangeトランザクションを収集する。
Exchange以外のトランザクションは全て収集される。

ところで、誤変換で抹茶とでたのだけれど、抹茶はネットスラングな感じがするね。

REST 設定 (rest-***)

Data Feed API の公開設定。
受け口(アドレスとポート番号)と機能のOn, Offを指定。

こういう場合のアドレスとはアクセスを許可する要求送信元のIPアドレスのこと。
0.0.0.0指定でANY(誰からでもOK)にできる。(やめたほうが良いけども)

WebSocket 設定 (websocket-***)

WebSocket API用。内容は上に同じ。

シンボル (symbols)

アセットIDに紐づくシンボル名を指定する。
ここで指定したシンボル名がウォレット/クライアント/DEXに表示される。
(たぶん新しいWavesクライアント以降)

Wavesではカスタムトークン(アセット)をアセットIDで識別する。
名前はユニークではないため、同じ名前の詐欺トークンが存在したりする。
これは取引するとき困るということで、昔はVerifiedいう緑色のマークがウォレットやDEX上で確認できていたのだが、廃止された。
その代わりを果たすのがたぶんこれ。

雑感

WavesではDEXはMatcherごとに独立である。
これまでもMatcherは勝手に立てれたが専用のデータフィードを配信できなかったので結局クライアント(DEX UI)は使えなかった。 (自分で作れよ、は置いておく)
Data Feedサーバが公開され、これが解消されたので、
WavesPlatform上に別の取引所を立ち上げることが技術的には簡単になった。(やりたい人がいるかどうかは知らない)

例えば地域密着型の経済圏をたくさん立ち上げてトランザクション増やしていこうぜ、って感じなのかな。


See also