소개
BLOCKSDK 개발자 문서에 오신 것을 환영합니다! BLOCKSDK API는 암호화폐 서비스 개발의 난이도 완화,노드 서버운영으로인한 유지비용 절감을 위한 API 서비스로 별도의 블록체인 노드 서버 없이, 각각의 블록체인 프로토콜에 비전문적인 개발자라도 개발할수있는 API로써 500개이상의 가상자산 시장데이터 조회 , 비트코인,비트코인캐시,이더리움,대시,모네로,ERC20,라이트코인 등 6개이상의 블록체인 프로토콜을 API와 빠른개발을 위한 다양한 프로그래밍언어로 구성된 SDK 라이브러리를 지원해드리고 있습니다. 일반적인 질문은 BLOCKSDK FAQ에서 확인하실수 있습니다.
빠른 시작 가이드
빠른시작 샘플 코드:
curl -H "X-API-TOKEN: YOU_API_TOKEN" -H "Accept: application/json" -G https://api.blocksdk.com/v2/btc/info
blockSDK = BlockSDK.new('YOU TOKEN')
btcClient = blockSDK.createBitcoin()
blockchain = btcClient.getBlockChain()
puts blockchain
import BlockSDK
blockSDK = BlockSDK("YOU_API_TOKEN")
btcClient = blockSDK.createBitcoin()
blockchain = btcClient.getBlockChain()
print(blockchain)
const BlockSDK = require('blocksdk');
var blockSDK = new BlockSDK("YOU_API_TOKEN");
var btcClient = blockSDK.createBitcoin();
var blockchain = btcClient.getBlockChain();
console.log(blockchain);
import (
"fmt"
"github.com/Block-Chen/blocksdk-go/blocksdk"
)
func main() {
client := blocksdk.NewBlockSDK("a4iLdJyOCN3tOl5smPXKf9wp0O5Xqgo774mAH9UZ")
btcClient := client.CreateBitcoin()
chain := btcClient.GetBlockChain();
fmt.Println(chain["bestblockhash"].(string))
}
준비중
use BlockSDK;
$blockSDK = new BlockSDK("YOU_API_TOKEN");
$btcClient = $blockSDK->createBitcoin();
//or
$btcClient = BlockSDK::createBitcoin("YOU_API_TOKEN");
$blockchain = $btcClient->getBlockChain();
print_r($blockchain);
준비중
Response Body
{
"payload": {
"network": "mainnet",
"currency": "BTC",
"last_block_height": 665097,
"last_block_hash": "0000000000000000000cee5f64306dedad1abca11f1635e3f3472339c641b502",
"last_block_datetime": "2021-01-08T09:00:18+00:00",
"last_block_timestamp": 1610096418,
"prev_block_height": 665096,
"prev_block_hash": "00000000000000000007a4153d79932364460ae7ee38eeca933d68cf8ed9bcf8",
"prev_block_datetime": "2021-01-08T08:51:20+00:00",
"prev_block_timestamp": 1610095880,
"unconfirmed_count": 19585,
"low_fee_per_kb": 0.00016,
"medium_fee_per_kb": 0.00026,
"high_fee_per_kb": 0.00053
},
"state": {
"code": 200,
"success": true
}
}
BLOCKSDK API를 시작하려는 개발자를 위해 여기에 API로 첫 번째 호출을 수행하는 몇 가지 간단한 단계가 있습니다.
1.BLOCKSDK 회원가입을 하십시오.가입은 무료로 진행하실수 있습니다.
2.로그인 또는 가입을 하신후 대시보드에 `API 토큰` 패널의 상자에서 API토큰을 복사합니다.
3.아래 제공된 코드 예제를 사용하여 복사한 API 토큰을 사용하여 API를 호출하실수 있습니다.
4.서비스를 개발및 구현 해보세요.이제 API가 잘 작동하는지 확인 했으므로 이 개발자문서의 나머지 부분을 읽고 서비스 개발을 시작해보세요!
인증
API 키 획득
BLOCKSDK API에 대한 모든 HTTP 요청은 API 토큰으로 검증되어야합니다. 아직 API 토큰이 없는 경우 BLOCKSDK 포털 을 방문하여 가입하십시오
API 키 사용
BLOCKSDK API를 대상으로 HTTP 요청을 할 수 있는 모든 서버 측 프로그래밍 언어를 사용할 수 있습니다.
모든 요청은 https://api.blocksdk.com
도메인을 대상으로해야합니다
다음 두 가지 방법 중 하나로 REST API 호출에 API 토큰을 제공 할 수 있습니다.
선호하는 방법 : 사용자 정의 헤더를 통해 X-API-TOKEN
편리한 방법 : 쿼리 문자열 매개 변수를 통해 api_token
보안 경고 : 공개 액세스로부터 API 키를 보호하는 것이 중요합니다.
API 사용횟수
API 사용량은 성공적인 (HTTP 상태 200) 데이터 호출에 대해 1:1로 증가합니다.
엔드포인트 끝점
블록체인 서비스 API 끝점
끝점 종류 | 설명 |
---|---|
/btc/* | 비트코인 관련 데이터를 생성하거나 반환하는 끝점. |
/bch/* | 비트코인캐시 관련 데이터를 생성하거나 반환하는 끝점. |
/ltc/* | 라이트코인 관련 데이터를 생성하거나 반환하는 끝점. |
/dash/* | 대시 관련 데이터를 생성하거나 반환하는 끝점. |
/eth/* | 이더리움,ERC20 관련 데이터를 생성하거나 반환하는 끝점. |
/xmr/* | 모네로 관련 데이터를 생성하거나 반환하는 끝점. |
블록체인 API 공통적인 엔드포인트 경로
끝점 경로 | 설명 |
---|---|
*/info | 블록체인 관련 데이터를 반환하는 끝점 |
*/mempool | 메모리풀 관련 데이터를 반환하는 끝점 |
*/block/* | 블록 관련 데이터를 반환하는 끝점 |
*/addresses/* | 주소를 생성하거나 관련 데이터를 반환하는 끝점 |
*/wallets/* | 지갑을 생성하거나 관련 데이터를 반환하는 끝점 |
*/transactions/* | 거래를 전송하거나 관련 데이터를 반환하는 끝점 |
그외 API 끝점
끝점 종류 | 설명 |
---|---|
/hooks/* | 이벤트 웹후크 관련 데이터를 생성하거나 반환하는 끝점. |
/market/* | 거래소 시세 관련 데이터를 반환하는 끝점. |
/token/* | API 토큰 관련 데이터를 반환하는 끝점. |
/tools/* | 유틸리티 끝점. |
표준및 규칙
각 HTTP 요청에는 헤더가 있어야합니다 Accept: application/json
또한 Accept-Encoding: deflate, gzip
데이터를 빠르고 효율적으로 수신 하려면 헤더를 보내야합니다 .
끝점 응답 페이로드 형식
모든 끝점 payload
는 호출이 성공한 경우 쿼리 결과와 함께 JSON 형식의 데이터를 반환합니다 .
Status
객체는 항상 성공의 유무및 HTTP Response Code
가 포함되어있습니다.
Status
객체의 success
가 false
를 반환한다면 payload
는 반환하지않고 error
객체를 반환합니다.
암호화폐 식별자
암호화폐 | 심볼 |
---|---|
비트코인 | btc |
비트코인캐시 | bch |
라이트코인 | ltc |
대시 | dash |
이더리움 | eth |
모네로 | xmr |
법정화폐 식별자
법정화폐 | 심볼 |
---|---|
미국 달러 | USD |
유럽연합 유로 | EUR |
중국 위안 | CNY |
한국 원 | KRW |
읿본 엔 | JPY |
영국 파운드 | GBP |
헝가리 포린 트 | HUF |
폴란드 줄 로티 | PLN |
불가리아 레프 | BGN |
체코 코 루나 | CZK |
덴마크 크로네 | DKK |
루마니아 | RON |
스웨덴 크로나 | SEK |
스위스 프랑 | CHF |
아이슬란드 크로나 | ISK |
노르웨이 크로네 | NOK |
크로아티아 쿠나 | HRK |
러시아 루블 | RUB |
터키 리라 | RUB |
호주 달러 | AUD |
브라질 헤알 | BRL |
캐나다 달러 | CAD |
홍콩 달러 | HKD |
인도네시아 루피아 | IDR |
이스라엘 셰켈 | ILS |
인도 루피 | INR |
멕시코 페소 | MXN |
말레이시아 링깃 | MYR |
뉴질랜드 달러 | NZD |
필리핀 페소 | PHP |
싱가포르 달러 | SGD |
태국 바트 | THB |
남아프리카 랜드 | ZAR |
날짜 및 시간 형식
날짜 / 시간 매개 변수가 필요한 모든 엔드 포인트에서는 타임 스탬프를
ISO8601 형식 (예 :)2021-01-08T11:42:51+00:00
또는 Unix 시간 (예 :) 으로 전달할 수 있습니다 1610106171
ISO8601 형식으로 전달되는 타임 스탬프는 기본 및 확장 표기법을 지원합니다. UTC가 기본 시간값입니다.
JSON 페이로드에 반환 된 모든 타임 스탬프는 다음 패턴을 따르는 사람이 읽을 수있는 ISO 8601 형식을 사용하여 UTC 시간으로 반환됩니다
버전 관리
BLOCKSDK API는 새로운 기능과 업데이트가 중단되지 않도록 보장하기 위해 버전이 지정됩니다.
이 API의 최신 버전은입니다 /v2/
오류 및 속도 제한
API 요청 제한
BLOCKSDK API의 사용은 API 호출 속도 제한 또는 "요청 제한"의 적용을받습니다. HTTP 429 "Too Many Requests"조절 오류를 수신하기 전에 API 토큰을 사용하여 동시에 또는 같은 분 내에 수행 할 수있는 HTTP 호출 수입니다. 이 제한은 사용량 플랜에 따라 확장 되며 60초마다 재설정됩니다. 속도 제한과 잘 작동하는 구현 전략에 대한 모범 사례 를 검토하십시오 .
HTTP 상태 코드
API는 표준 HTTP 상태 코드를 사용하여 API 호출의 성공 또는 실패를 나타냅니다.
- `400 (Bad Request)` 잘못된 인수로 인해 서버가 요청을 처리 할 수 없습니다.
- `403 (Forbidden)`API 키의 관련 서비스 계획에 대한 제한과 같은 권한 문제로 인해 요청이 거부되었습니다.
- `429 (Too Many Requests)`API 키의 속도 제한을 초과했습니다. HTTP 요청 제한 오류 인 경우 API 요청 빈도를 낮추는 것이 좋습니다. 일별 API 호출 한도에 도달 한 경우 서비스 플랜을 업그레이드하는 것이 좋습니다.
- `500 (Internal Server Error)` 예기치 않은 서버 문제가 발생했습니다.
오류 응답 코드
status
객체는 항상 가능하면 모두 성공적으로 호출과 실패에 대한 JSON 응답 페이로드에 포함되어 있습니다.
오류 시나리오 중에 status
개체의 code
및 error
개체 의 message
속성을 참조 할 수 있습니다 .
해당되는 경우 아래 API 오류 코드 중 하나가 반환됩니다.
그렇지 않으면 일반 오류 유형에 대한 HTTP 상태 코드가 반환됩니다
HTTP 상태 | 에러 코드 | 에러 메시지 |
---|---|---|
401 | 1001 [API_KEY_INVALID] | 이 API키는 유효하지 않습니다. |
401 | 1002 [API_KEY_MISSING] | API 키가 없습니다 |
403 | 1004 [API_KEY_DISABLED] | 사용중단된 API키 입니다. |
429 | 1005 [API_KEY_PLAN_MINUTE_RATE_LIMIT_REACHED] | API키의 HTTP 요청 속도 제한을 초과했습니다. 속도제한은 1분마다 재설정 됩니다. |
429 | 1006 [API_KEY_PLAN_DAILY_RATE_LIMIT_REACHED] | API키의 일일 비율 한도를 초과했습니다. |