본문으로 건너뛰기
Anon Wallet

공개 API

Anon은 소수의 공개 HTTP API를 제공합니다. 모두 https://api.anon.inc의 읽기 전용 JSON 엔드포인트이며 지갑, 대시보드, 상태 페이지, 스크립트 등 누구나 호출할 수 있습니다. API 키도 계정도 필요하지 않으며, 어떤 웹사이트의 브라우저에서도 읽을 수 있습니다.

베타: 이 페이지의 모든 API는 베타입니다. 필드, 값, 응답의 형태는 예고 없이 바뀔 수 있습니다. 알 수 없는 필드와 값은 무시하도록 클라이언트를 작성하고, 각 페이지의 베타 상태와 변경 내역을 확인하십시오.

API 목록

API 엔드포인트 반환하는 내용 캐시 스키마
RAILGUN 서비스 상태 GET /api/v1/railgun/liveness Anon이 의존하는 Railgun 서비스가 지금 응답하고 최신 상태인지 체인별로 알려 줍니다. 브라우저 15초, 공유 캐시 30초 JSON Schema
RAILGUN 서비스 상태 이력 GET /api/v1/railgun/liveness/history 같은 보고서의 최근 14일을 5분 버킷으로, 24시간·7일·14일 가동률과 함께 반환합니다. 브라우저 60초, 공유 캐시 120초 JSON Schema

지금의 상태를 판단할 때는 실시간 엔드포인트를, 차트와 상태 페이지에는 이력을 사용하십시오. 둘 다 Anon 자체 모니터가 본 상황입니다. Railgun 공식 상태가 아니며, “안전하게 거래할 수 있음”을 뜻하는 신호도 결코 아닙니다.

curl -i https://api.anon.inc/api/v1/railgun/liveness
curl -i https://api.anon.inc/api/v1/railgun/liveness/history

모든 공개 API의 공통점

속성 값
기본 URL https://api.anon.inc
인증 없음
메서드 GET과 HEAD. OPTIONS는 CORS 프리플라이트에 응답합니다. 그 밖의 메서드는 405입니다.
매개변수 없음. 쿼리 문자열은 모두 무시됩니다.
형식 JSON(application/json; charset=utf-8), schemaVersion 필드 포함
상태 베타, 예고 기간도 SLA도 없음
  • CORS. 모든 응답에 Access-Control-Allow-Origin: *와 Access-Control-Expose-Headers: ETag가 있으며 Access-Control-Allow-Credentials는 절대 없습니다. 일반적인 fetch에는 프리플라이트가 필요하지 않습니다.
  • 캐싱. 모든 200에는 Cache-Control과 ETag가 있습니다. ETag를 If-None-Match로 돌려보내면 바뀌지 않은 응답은 본문 없는 304가 됩니다. CDN은 Origin 요청 헤더 값마다 별도의 사본을 보관합니다.
  • 오류. 메시지 문구가 아니라 HTTP 상태 코드로 분기하십시오. API 자체의 오류는 {"error": "<message>"}이며 Cache-Control: no-store가 함께 옵니다. 503은 지금 데이터를 사용할 수 없다는 뜻이므로 백오프하며 재시도하십시오.
  • 속도 제한. 한 IP에서 분당 약 120개를 넘는 요청이 오면 CDN이 약 60초 동안 429(Cloudflare 오류 1015)로 응답합니다. 캐시 적중도 포함됩니다. 브라우저에서는 이 429에 CORS 헤더가 없어 fetch가 네트워크 오류로 실패합니다.
  • JSON Schema는 느슨하게 정의되어 있습니다. 오늘의 응답을 설명할 뿐 약속이 아닙니다.

공정 사용

  • Cache-Control을 지키고, ETag를 사용해 바뀌지 않은 응답이 304로 끝나게 하십시오.
  • 타이머가 아니라, 사용자가 데이터가 필요한 화면을 열 때 가져오십시오.
  • 폴링하는 서버는 my-wallet/1.4 (+https://example.com/contact)처럼 설명적인 User-Agent를 보내십시오.
  • 많은 사용자에게 제공한다면 자체 서버에서 가져와 그곳에 캐시하십시오.
  • 429와 5xx에는 백오프하고, 마지막 정상 응답을 계속 표시하십시오.

api.anon.inc의 다른 경로

공개 API는 이 페이지에 나열된 엔드포인트뿐입니다. api.anon.inc의 다른 경로는 Anon 자체 앱과 웹사이트를 위한 것입니다. 일부는 키 없이도 응답하지만 다른 호출자를 위한 문서가 없으며, 언제든 바뀌거나 옮겨지거나 제한될 수 있습니다. 이를 바탕으로 개발하지 마십시오.