bash를 사용한 REST API 요청 예시

최종 업데이트: 2025년 3월 31일

소개

Bourne Again shell (bash) 및 일부 관련 명령어(openssl, base64, xxd 등)를 사용하여 Kraken REST API 인터페이스를 구현하는 것은 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 키를 자신의 Kraken 계정의 API 키로 교체해야 하며, api_endpoint 변수와 api_post 변수(필요한 경우)를 수정하는 것만으로 추가 API 엔드포인트를 활성화할 수 있습니다.

더 많은 도움이 필요하신가요?