发布于 2025-01-29 03:48:51 · 阅读量: 172170
Bithumb 是一家知名的加密货币交易所,提供了丰富的 API 接口,供用户进行程序化交易、账户管理和市场数据查询。了解如何使用 Bithumb 的 API 是每个开发者和交易者提升交易效率的关键。接下来,我们就深入了解一下如何使用 Bithumb 交易所的 API。
在开始使用 Bithumb 的 API 之前,首先需要获取你的 API 密钥 和 API 密码。这些密钥用于验证你的身份和进行 API 请求。
Bithumb 提供了一份详细的 API 文档,涵盖了多种功能,比如获取市场数据、账户信息、下单、取消订单等。文档中列出了所有支持的 API 路径、请求方法和参数。
API 文档链接: Bithumb API文档
一些常用的 API 接口包括:
使用 Bithumb 提供的公共 API,可以获取各种市场数据,比如某个币对的最新价格、24小时涨跌幅等等。
示例:获取市场行情(公用接口)
import requests
url = 'https://api.bithumb.com/public/ticker/BTC_KRW' response = requests.get(url) data = response.json()
if data['status'] == '0000': print("最新价格:", data['data']['closing_price']) else: print("获取失败")
这里我们获取的是 BTC/KRW 的最新价格。如果接口返回的数据状态为 '0000'
,说明请求成功。你可以根据需求替换不同的币种对。
Bithumb 的 API 也支持账户相关的操作,如查询余额、历史订单、下单等。此类操作需要使用私有 API,因此必须提供你的 API 密钥。
示例:查询账户余额(私有接口)
import hashlib import time import requests
API_KEY = '你的API密钥' API_SECRET = '你的API密钥密码'
def generate_signature(endpoint, params): nonce = str(int(time.time() * 1000)) param_str = '&'.join([f'{key}={value}' for key, value in params.items()]) signature = hashlib.sha512(f'{endpoint}{param_str}{nonce}'.encode('utf-8')).hexdigest() return nonce, signature
def get_balance(): endpoint = '/info/balance' params = { 'apiKey': API_KEY, 'currency': 'BTC', 'nonce': str(int(time.time() * 1000)) } nonce, signature = generate_signature(endpoint, params) params['apiKey'] = API_KEY params['nonce'] = nonce params['signature'] = signature
url = f'https://api.bithumb.com{endpoint}'
response = requests.post(url, data=params)
return response.json()
balance = get_balance() if balance['status'] == '0000': print("账户余额:", balance['data']) else: print("查询失败")
在这个例子中,我们生成了请求所需的签名,并发送了请求来获取账户余额。注意,私有 API 必须包括 API 密钥、签名和时间戳等信息。
通过 Bithumb 的交易接口,用户可以进行买入、卖出、撤单等操作。这里我们展示一个简单的下单请求。
示例:下单(私有接口)
import hashlib import time import requests
API_KEY = '你的API密钥' API_SECRET = '你的API密钥密码'
def generate_signature(endpoint, params): nonce = str(int(time.time() * 1000)) param_str = '&'.join([f'{key}={value}' for key, value in params.items()]) signature = hashlib.sha512(f'{endpoint}{param_str}{nonce}'.encode('utf-8')).hexdigest() return nonce, signature
def create_order(): endpoint = '/trade/place' params = { 'apiKey': API_KEY, 'order_currency': 'BTC', 'payment_currency': 'KRW', 'type': 'bid', # 买单(buy)或卖单(ask) 'price': '50000000', # 设置价格 'quantity': '0.01', # 设置数量 'nonce': str(int(time.time() * 1000)) } nonce, signature = generate_signature(endpoint, params) params['apiKey'] = API_KEY params['nonce'] = nonce params['signature'] = signature
url = f'https://api.bithumb.com{endpoint}'
response = requests.post(url, data=params)
return response.json()
order = create_order() if order['status'] == '0000': print("下单成功,订单ID:", order['data']['order_id']) else: print("下单失败")
这个示例展示了如何通过 Bithumb 的 API 创建一个限价买单。你可以根据需要调整价格、数量以及买卖类型。
API 请求限制:Bithumb 的 API 有请求频率限制,过于频繁的请求可能会导致 IP 被封禁。建议合理安排请求频率。
API 安全性:永远不要将你的 API 密钥暴露给外部,尤其是在公共代码库中。为了安全,使用环境变量或加密技术存储 API 密钥。
错误处理:处理 API 返回的错误信息很重要,确保程序能够正确地响应 API 调用失败的情况。
通过 Bithumb 提供的 API,你可以更加灵活地管理你的账户、进行市场数据分析、执行交易等操作。如果你熟悉编程,使用 API 将极大提高交易效率,助你抓住更多机会。