Exemple de requête REST API utilisant bash

Dernière mise à jour : 31 mars 2025

Introduction

L'implémentation d'une interface Kraken REST API à l'aide du shell Bourne Again (bash) et de certaines commandes associées (openssl, base64, xxd, etc.) peut être une solution pratique et efficace pour interagir avec les marchés de Kraken (bien que ce ne soit pas l'implémentation la plus rapide par rapport au code compilé).

Bash et les commandes requises sont facilement disponibles (préinstallées) sur la plupart des systèmes UNIX, Linux et macOS, et peuvent être facilement installées sur Windows et d'autres systèmes, de sorte que tous les logiciels nécessaires sont disponibles sans utiliser d'outils ou de bibliothèques API tiers supplémentaires.

À l'aide d'un éditeur de texte brut (même un éditeur à l'ancienne tel que vi) et de quelques lignes de code, il est possible d'accéder aux données de marché publiques et aux données de compte privées, ainsi que de placer/annuler des ordres sur les marchés de Kraken.

Exemple de code

Le code suivant présente une implémentation en bash pour appeler le point de terminaison Balance de l'API REST :

#!/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

et le code correspondant peut également être téléchargé (sous forme de fichier kapi_bash.sh).

Utilisation/Développement ultérieur

Pour récupérer les soldes de votre propre compte, la clé API d'exemple doit être remplacée par une clé API de votre propre compte Kraken, et des points de terminaison API supplémentaires peuvent être activés simplement en modifiant la variable api_endpoint et la variable api_post (si nécessaire).

Besoin d’aide supplémentaire ?