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
留言分享你的想法!
avatar-img
Raymond Life的沙龍
6會員
134內容數
Raymond Life的沙龍的其他內容
2024/09/29
終於考完啦!但我覺得考試題目比我練習過的題目都還要難很多... 我自己練的題目是以金融研訓院出版的 AFP 模擬考題為主,但實際題目很多都不是這麼「單點式」,而是類似下圖這樣,有案例敘述然後問你各種情況的判斷 圖片取自 CFP全方位理財規劃-模擬試題解析(2023年版) 來回想一下昨天的考題
Thumbnail
2024/09/29
終於考完啦!但我覺得考試題目比我練習過的題目都還要難很多... 我自己練的題目是以金融研訓院出版的 AFP 模擬考題為主,但實際題目很多都不是這麼「單點式」,而是類似下圖這樣,有案例敘述然後問你各種情況的判斷 圖片取自 CFP全方位理財規劃-模擬試題解析(2023年版) 來回想一下昨天的考題
Thumbnail
2024/09/27
老李90年5月2日死亡,嗣於111年11月25日經法院判決確定,老李生前將一筆房地借名登記於老張名下,老李的繼承人小李未於判決確定之日起6個月內補申報該房地移轉登記請求權,被國稅局以被繼承人死亡日之遺產價值核定補徵遺產稅並裁處罰鍰。 小李不服,申請復查主張其已於90年間申報遺產稅,本次核定已逾5年
2024/09/27
老李90年5月2日死亡,嗣於111年11月25日經法院判決確定,老李生前將一筆房地借名登記於老張名下,老李的繼承人小李未於判決確定之日起6個月內補申報該房地移轉登記請求權,被國稅局以被繼承人死亡日之遺產價值核定補徵遺產稅並裁處罰鍰。 小李不服,申請復查主張其已於90年間申報遺產稅,本次核定已逾5年
2024/09/26
老年年金給付的請領人,如果有下列情形之一,不能選擇以A式計算給付金額,只能以B式計算後發給: 有欠繳保險費不能計入保險年資的情形。 正在領其他的社會福利津貼(指低收入老人生活津貼、中低收入老人生活津貼、身心障礙者生活補助、老年農民福利津貼或榮民就養給付)。 在97年12月31日以前領取公保養老
2024/09/26
老年年金給付的請領人,如果有下列情形之一,不能選擇以A式計算給付金額,只能以B式計算後發給: 有欠繳保險費不能計入保險年資的情形。 正在領其他的社會福利津貼(指低收入老人生活津貼、中低收入老人生活津貼、身心障礙者生活補助、老年農民福利津貼或榮民就養給付)。 在97年12月31日以前領取公保養老
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
兩年前,我想用 Bitfinex API 看看我的放貸錢包有多少錢,但因為不太懂寫程式,就沒弄成。最近,我試著讓 ChatGPT 幫忙,沒想到它不僅知道我要什麼,還真的幫我寫出了程式碼。
Thumbnail
兩年前,我想用 Bitfinex API 看看我的放貸錢包有多少錢,但因為不太懂寫程式,就沒弄成。最近,我試著讓 ChatGPT 幫忙,沒想到它不僅知道我要什麼,還真的幫我寫出了程式碼。
Thumbnail
ChatGPT的發展須審慎考慮者有三:教育、監理及道德。
Thumbnail
ChatGPT的發展須審慎考慮者有三:教育、監理及道德。
Thumbnail
使用加密貨幣交易會比您想像中的容易 本篇將介紹: (1) 如何用Pi Wallet(錢包)來進行點對點的交易支付 (2) 使用blockchain.pi查詢交易紀錄 (3) 以PitoGo為例子來示範應用的支付 Note:名詞解釋 也歡迎加入Line社群,大家一起討論Pi Network!
Thumbnail
使用加密貨幣交易會比您想像中的容易 本篇將介紹: (1) 如何用Pi Wallet(錢包)來進行點對點的交易支付 (2) 使用blockchain.pi查詢交易紀錄 (3) 以PitoGo為例子來示範應用的支付 Note:名詞解釋 也歡迎加入Line社群,大家一起討論Pi Network!
Thumbnail
大約花費五分鐘就能利用 Google Sheet 與 GAS 的結合,加上 Cryptofinance 的套件快速打造一套自己的加密幣價追蹤器,有了這些方法我們就可以再去思考能夠做哪些變化,例如打造一套個人加密資產統計表。
Thumbnail
大約花費五分鐘就能利用 Google Sheet 與 GAS 的結合,加上 Cryptofinance 的套件快速打造一套自己的加密幣價追蹤器,有了這些方法我們就可以再去思考能夠做哪些變化,例如打造一套個人加密資產統計表。
Thumbnail
簡單條列幣安交易所優勢,詳細圖解: 申辦帳號、KYC實名認證、 信用卡入金、出金至虛擬錢包
Thumbnail
簡單條列幣安交易所優勢,詳細圖解: 申辦帳號、KYC實名認證、 信用卡入金、出金至虛擬錢包
Thumbnail
最近NFT真的是熱到不行,阿財上週也有分享自己的NFT體驗,總結一下阿財這幾個月來的體驗,給大家當故事看,歡迎分享或留言說說你的經歷。 這篇是阿財這幾個月以來作為超級新人的一些體驗記錄,文章中提到的交易所都不是業配。
Thumbnail
最近NFT真的是熱到不行,阿財上週也有分享自己的NFT體驗,總結一下阿財這幾個月來的體驗,給大家當故事看,歡迎分享或留言說說你的經歷。 這篇是阿財這幾個月以來作為超級新人的一些體驗記錄,文章中提到的交易所都不是業配。
Thumbnail
投資加密貨幣對很多人來說都是未知領域,同時也不知道該怎麼開始,所以我就寫了這個 Step by Step 的步驟,希望可以幫助到想要進入加密貨幣的人,至少依著流程做不會有什麼太大問題
Thumbnail
投資加密貨幣對很多人來說都是未知領域,同時也不知道該怎麼開始,所以我就寫了這個 Step by Step 的步驟,希望可以幫助到想要進入加密貨幣的人,至少依著流程做不會有什麼太大問題
Thumbnail
為了避免機器人刷號刷幣,PI需要KYC才能拿到你挖的所有幣 記得按照以下步驟進行實名。 想了解更多PI相關資訊:Pi network 亞洲最大發展推廣社群( 2群 )  了解更多👇 加密貨幣交易社群 👉line 交易所註冊 👉Bingbon、自動量化機器人-派網、幣安 謝
Thumbnail
為了避免機器人刷號刷幣,PI需要KYC才能拿到你挖的所有幣 記得按照以下步驟進行實名。 想了解更多PI相關資訊:Pi network 亞洲最大發展推廣社群( 2群 )  了解更多👇 加密貨幣交易社群 👉line 交易所註冊 👉Bingbon、自動量化機器人-派網、幣安 謝
Thumbnail
【幣記 Bitget】如何透過區塊鏈網路轉帳入金?三種 USDT 資產的區別|小人物講股 本文第一次發布於此連結,更多文章請見小人物講股 一、前言 上一篇文章我們介紹了幣記 Bitget 的特色、註冊流程與跟單系統,今天我們來介紹要如何使用區塊鏈網路轉帳到幣記,也就是 Bitget 的入金方法。 由
Thumbnail
【幣記 Bitget】如何透過區塊鏈網路轉帳入金?三種 USDT 資產的區別|小人物講股 本文第一次發布於此連結,更多文章請見小人物講股 一、前言 上一篇文章我們介紹了幣記 Bitget 的特色、註冊流程與跟單系統,今天我們來介紹要如何使用區塊鏈網路轉帳到幣記,也就是 Bitget 的入金方法。 由
Thumbnail
比特幣水龍頭網上一大堆,可不是每一個都可信、可靠,就算可信、可靠,也不一定好用,今天給大家介紹兩個比較好賺的水龍頭,可以每小時賺,試過是可靠的喔(例如:4miner和FreeBitco.in)!另外還有一些每5-6分鐘可以賺的平台,加起來其實也不少了,而用來收錢的中介錢包FaucetPay可不能少。
Thumbnail
比特幣水龍頭網上一大堆,可不是每一個都可信、可靠,就算可信、可靠,也不一定好用,今天給大家介紹兩個比較好賺的水龍頭,可以每小時賺,試過是可靠的喔(例如:4miner和FreeBitco.in)!另外還有一些每5-6分鐘可以賺的平台,加起來其實也不少了,而用來收錢的中介錢包FaucetPay可不能少。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News