Python 新手就能搞定 Bitfinex API

更新於 發佈於 閱讀時間約 7 分鐘

做 Bitfinex 放貸已經 2、3年了,曾經想過用 Bitfinex API 來記錄每天融資錢包的餘額,配合 Line Notify,每天傳餘額數字給自己,但苦於程式底子不足,就放棄了


2 年後的今天,我對於簽名、Nonce 等技術術語仍然一知半解,但我將 Bitfinex API 的網址直接提供給 ChatGPT,請他幫我寫程式,沒想到還真的寫出來了,過程中難免還是會出錯,但我把錯誤訊息丟回給 ChatGPT,它就能迅速幫我進行修改,最後終於完成,分享給大家


import requests
import json
import time
import hmac
import hashlib

# 設置您的 API 金鑰和秘密
api_key = 'YOUR_API_KEY'
api_secret = 'YOUR_API_SECRET'

# API 請求的資訊
api_path = 'v2/auth/r/wallets'
nonce = str(int(time.time() * 1000000))
body = {}

# 創建簽名
signature = '/api/' + api_path + nonce + json.dumps(body)
h = hmac.new(api_secret.encode(), signature.encode(), hashlib.sha384)
signature = h.hexdigest()

# 發送請求
url = 'https://api.bitfinex.com/' + api_path
headers = {
'bfx-nonce': nonce,
'bfx-apikey': api_key,
'bfx-signature': signature,
'content-type': 'application/json'
}

response = requests.post(url, headers=headers, data=json.dumps(body))

# 處理響應
if response.status_code == 200:
wallets = response.json()
# 查找 USD 餘額
usd_balance = next((wallet for wallet in wallets if wallet[0] == 'funding' and wallet[1] == 'USD'), None)
if usd_balance:
print("USD Balance:", usd_balance[2])
else:
print("USD wallet not found.")
else:
print("Error:", response.status_code, response.text)


加碼 Google Apps Script,因為我都用 Google Apps Script 串 Line 機器人,原以為有些東西只有 Python 套件才有,但反正最後還是成功寫出來了


function getUsdBalance() {
var api_key = 'YOUR_API_KEY';
var api_secret = 'YOUR_API_SECRET';

var api_path = 'v2/auth/r/wallets';
var nonce = new Date().getTime().toString() + '000'; // 增加三個零以提高精度
var body = JSON.stringify({});

var signature = '/api/' + api_path + nonce + body;
var hmac = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_384, signature, api_secret, Utilities.Charset.UTF_8);
var signatureHex = arrayToHex(hmac);

var url = 'https://api.bitfinex.com/' + api_path;
var headers = {
'bfx-nonce': nonce,
'bfx-apikey': api_key,
'bfx-signature': signatureHex,
'Content-Type': 'application/json'
};

var options = {
'method': 'post',
'headers': headers,
'payload': body,
'muteHttpExceptions': true
};

var response = UrlFetchApp.fetch(url, options);
if (response.getResponseCode() == 200) {
var wallets = JSON.parse(response.getContentText());
var usdBalance = wallets.find(function(wallet) {
return wallet[0] === 'funding' && wallet[1] === 'USD';
});
if (usdBalance) {
Logger.log("USD Balance: " + usdBalance[2]);
} else {
Logger.log("USD wallet not found.");
}
} else {
Logger.log("Error: " + response.getResponseCode() + " - " + response.getContentText());
}
}

function arrayToHex(byteArray) {
var hexString = '';
byteArray.forEach(function(byte) {
var byteHex = ('0' + (byte & 0xFF).toString(16)).slice(-2);
hexString += byteHex;
});
return hexString;
}
avatar-img
5會員
134內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
PIT币是一个基于区块链技术的数字货币,其交易可以在各大交易所进行,买卖PIT币时,您需要在交易所注册账号并完成实名认证,然后将您的资金充值到交易所的钱包中,那么,PIT币怎么买卖?下面将为大家详解PIT比特犬币买卖交易图文教程 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰
Thumbnail
提供一階新手村及二階分析群的加密貨幣入門課程,針對新手及交易員。報名後可免費享有綁定notify服務,每日發送盤勢、點位分析等。此外,團隊還提供業務培訓,歡迎對幣圈創業有興趣的人聯繫。
Thumbnail
展示「放貸」交易紀錄與對帳單,真實呈現投資理財過程與成效─收息68.61元,年化報酬率8.39%。
Thumbnail
展示「放貸」交易紀錄與對帳單,真實呈現投資理財過程與成效─收息83.91元,年化報酬率11.04%。
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
PIT币是一个基于区块链技术的数字货币,其交易可以在各大交易所进行,买卖PIT币时,您需要在交易所注册账号并完成实名认证,然后将您的资金充值到交易所的钱包中,那么,PIT币怎么买卖?下面将为大家详解PIT比特犬币买卖交易图文教程 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰
Thumbnail
提供一階新手村及二階分析群的加密貨幣入門課程,針對新手及交易員。報名後可免費享有綁定notify服務,每日發送盤勢、點位分析等。此外,團隊還提供業務培訓,歡迎對幣圈創業有興趣的人聯繫。
Thumbnail
展示「放貸」交易紀錄與對帳單,真實呈現投資理財過程與成效─收息68.61元,年化報酬率8.39%。
Thumbnail
展示「放貸」交易紀錄與對帳單,真實呈現投資理財過程與成效─收息83.91元,年化報酬率11.04%。