系列中的第二篇,第一篇放在下方:
一開始還是先說下這系列會介紹的東西:
- 取得當前 XXX 幣的放貸利率。
- 取得自己錢包的各幣種金額。
- 利用 API 做出放貸動作。
- 取得今日所賺利息。
- 取得待出借的列表。
- 取得已被借出的列表。
- 將上述第四點做成排程,達到自動化。
這篇為第二篇:「取得自己錢包的各幣種金額」
申請 Bitfinex API key
上篇介紹的取得當前利率屬於 public api,而從今天開始介紹的都是屬於需 auth 身份的,而會看到此篇文章的人,我相信都是已辦了 Bitfinex 帳號的人,而要使用 Binfinex auth 功能,就得申請 API key。
首先先到 Binfinex 的「Create New Key」,將需開啟的功能打開,如下:
共有四個需開啟,其餘開啟的話,會提高你帳戶的風險。
這邊需注意的是「Generate API key」左側的輸入框,此部分不能是中文,所以直接輸入自己看得懂的英文就好 (不能用全形英文)。
按下 generate 後會收到一封確認信,成功創建的話會看到此畫面:
這樣就成功申請了。
取得錢包資訊
首先,一樣到 Bifinex 的 api 文件查看 auth 的 websocket,可以看到比 public 的設定還要多,不過文件上說明的還算清楚。
將程式碼改成以下樣子:
這邊需注意的地方是「apiKey」與「apiSecret」,將這兩個變數填入上面剛申請的 API key 值。
以及 payload 中的 filter 陣列,因此篇介紹的是查看自己錢包,故這邊為「wallet」,若想知道這陣列還可以填什麼的,可以查看這篇說明,在之後的更多功能介紹中,會回來更改這個 filter array。
現在我們執行這隻檔案,成功的話會看到自己的錢包資訊,這邊會看到有「ws」、「wu」的,ws 為錢包整體狀況;wu 為錢包更新時的當下狀態。可在此連結下方表格中的 TYPE 查看說明。
這邊我們只看 wu 就好,在錢包有任何更新時都會收到信息,例如收到利息、借錢人還款之類的。我將執行後的其中一項資訊來說明:
翻譯成人話為: [channel ID, 事件型別, [錢包型別, 幣別, 總金額, 未結利息, 閒置金額]] 後面兩個 null 就不管它了。
需注意的是「錢包型別」,會有 exchange、margin、與 funding,因我們只要看放貸的,所以鎖定 funding 就好。
這邊說明一下「閒置金額」是什麼,假設你的總金額為 $103,閒置金額為 $3,意思是已有 $100 借給別人,剩餘 $3。
整理一下上述所提到的資訊:
- 只要事件型別為 wu 的。
- 只要錢包型別為 funding 的。
- 只要總金額與閒置金額。
將程式整理一下後,得到:
因 response 會有一些我們用不到的資訊,所以一開始判斷 response 是否為陣列,再來將 wu 與 funding 篩選出來,整理一下所要資訊,就得到 code 中「data」那樣了。
將上面 code 執行後能看到這樣的畫面:
若執行下去能夠看到差不多的畫面,就代表成功了。
小結
今天介紹了 Bitfinex 的 authenticate websocket,因是 auth 的關係,所以需要申請一組 API key,申請成功後就能做一些比較私有的操作,利用此來獲取自己的錢包資訊。
筆者拿到這些資訊的處理與前一篇一樣,存進一個變數中,一段時間發送到前端去,讓前端顯示在畫面上。
感謝看到此的各位,下篇見。