공개 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 자체 앱과 웹사이트를 위한 것입니다. 일부는 키 없이도 응답하지만 다른 호출자를 위한 문서가 없으며, 언제든 바뀌거나 옮겨지거나 제한될 수 있습니다. 이를 바탕으로 개발하지 마십시오.