[Javascript] 透過WebSocket 取的現在乙太幣(ETH)的價格

2017-08-17

這標題是一個假議題,因為現在虛擬貨幣不論是BTC 或是 ETH 很紅,所以很多API 都支援 WebSocket 這樣剛好可以來當作一個練習寫WebSocket 的管道,這次我們要測試的對象就是如何拿到 現在 ETH 對 USD 的價格,我們目標網站是這個 https://www.bitfinex.com ,目前似乎是最大的虛擬貨幣交易所,因為它們 API 看起來蠻完整的 , API 網址 :  https://docs.bitfinex.com/docs

image

今天我們要做的很簡單,去接他的 API 然後透過 WebSocket 取得 ETH 價格 ,首先它的 WebScoket 位置 是  wss://api.bitfinex.com/ws
當開啟連結後,對他送 event:"subscribe",channel:"ticker",pair:"ETHUSD" 的資料 相關資料 在這  https://docs.bitfinex.com/v1/reference#ws-public-ticker

sample code :

                    var websocket = new WebSocket( "wss://api.bitfinex.com/ws",);
                   
                     websocket.onopen = function() {
                        $('#log').append('<p style="color:red">'+"已開啟"+'</p>');

                        var sendObj={event:"subscribe",channel:"ticker",pair:"ETHUSD"};
                        
                         websocket.send(JSON.stringify(sendObj));
 
                    };

                    websocket.onmessage = function(str) {
                        console.log( str.data );
                         if(JSON.parse(str.data).length>2){
                            $('#log').prepend('<p>'+JSON.parse(str.data)[1]+'</p>');
                         }
                    };

圖片 187

註記一下,因為他有時候會回傳 [15,"hb"] ,他官方網頁是寫那代表heartbeating ,因為他資料並沒有更新時會有這個訊號,但是不用處理也可以。

 點我線上測試

很簡單吧,可以自己寫寫看一些東西,主要是測試一下 簡單撰寫 關於 接WebSocket 的東西,這樣Server這邊就會將資料推送過來,非常方便。


當麻許的超技八 2014 | Donma Hsu Design.