使用 bash 的 REST API 請求範例

上次更新: 2025年3月31日

簡介

使用 Kraken REST API 介面,並透過 Bourne Again shell (bash) 及一些相關指令 (openssl、base64、xxd 等),可以成為與 Kraken 市場互動的便捷高效解決方案 (儘管與編譯程式碼相比,這並非最快的實作方式)。

Bash 及所需指令在大多數 UNIX、Linux 和 macOS 系統上均可隨時使用 (預先安裝),並可輕鬆安裝於 Windows 及其他系統,因此所有所需軟體均無需使用任何額外第三方 API 工具或程式庫即可取得。

使用純文字編輯器 (即使是 vi 等舊式編輯器) 及數行程式碼,即可存取公開市場數據和私人帳戶數據,並在 Kraken 市場上進行下單/取消訂單。

範例程式碼

以下程式碼顯示了呼叫 REST API Balance 端點的 bash 程式碼實作:

#!/usr/bin/env bash

# API public/private keys copied from account management web site

api_key='gxTXpC4Ag/N0QPKlYnRhL1qVB2G/HZV1eB2drl7eOXga30dEKoB+EUMs'
api_private='62kRfRX7BI8G8T/jl7clnZ+vSfJt7YmQN23JQkJfHCE6oxecJX4fN4i2RitmRhyFzfJ4efKy2yCo4H068rfv0A=='

# API variables (URL, endpoint, nonce, etc.)

api_host='https://api.kraken.com'
api_endpoint='/0/private/Balance'
api_nonce=`date +%s`
api_post="nonce=$api_nonce"

# Authentication algorithm (SHA256 and HMAC SHA512)

api_private_hex=`echo -n $api_private base64 -d xxd -p tr -d "\n"`
echo -n $api_endpoint > kapi_bash.bin
echo -n $api_nonce$api_post openssl dgst -sha256 -binary >> kapi_bash.bin
api_sign=`cat kapi_bash.bin openssl dgst -binary -sha512 -mac HMAC -macopt hexkey:$api_private_hex base64`

# HTTP request (POST)

curl --header "API-Key: $api_key" --header "API-Sign: $api_sign" --data $api_post $api_host$api_endpoint

且匹配的程式碼亦可下載 (作為 kapi_bash.sh 檔案)

進一步使用/開發

要檢索您自己的帳戶餘額,範例 API key 應替換為您自己 Kraken 帳戶的 API key,並且只需修改 api_endpoint 變數和 api_post 變數 (如果需要) 即可啟用額外的 API endpoints。

需要更多幫助?