본문으로 건너뛰기

API Overview

모든 NMMiner 기기는 포트 80에서 HTTP 서버를 실행하며, 완전한 REST 스타일 API를 노출합니다. 동일한 API가 다음에서 사용됩니다:

  • 내장 NM Monitor 브라우저 UI.
  • Swarm 애그리게이터.
  • 상태를 읽거나 설정을 적용하려는 모든 사용자 — 여러분, 대시보드, Grafana 플러그인, Python 스크립트 등.

✅ 이 페이지는 공개 계약을 문서화합니다: 경로, 메서드, 요청 본문, 응답 본문, 상태 코드. ❌ 구현을 문서화하지 않습니다. 기기를 HTTP를 통해 접근 가능한 블랙박스로 취급하십시오.

기본 URL​

http://<miner-ip>/

또는 호스트명(대부분의 홈 라우터가 해석):

http://<miner-hostname>/

IP / 호스트명은 기기 화면의 Miner 페이지 또는 NM Monitor의 System 섹션에서 확인할 수 있습니다.

CORS​

모든 엔드포인트는 다음과 같이 응답합니다:

Access-Control-Allow-Origin: *

프록시 없이 어떤 브라우저 페이지에서든 API를 호출할 수 있습니다.

인증​

현재 인증이 없습니다. API는 신뢰할 수 있는 LAN 내에서 사용하도록 설계되었습니다. 자체 게이트웨이 없이 공용 인터넷에 노출하지 마십시오.

콘텐츠 유형​

  • 요청 본문은 application/json을 사용합니다.
  • 응답 본문은 application/json 또는 text/plain입니다.
  • 모든 엔드포인트는 CORS 사전 비행 OPTIONS 요청을 수락하고 응답합니다.

카테고리​

카테고리엔드포인트
DiscoveryGET /probe, GET /alive
SystemGET /api/system/info, POST /api/system/restart
Network settingsGET/POST /api/setting/network
Mining settingsGET/POST /api/setting/mining
Time settingsGET/POST /api/setting/time
Preference settingsGET/POST /api/setting/preference
Market settingsGET/POST /api/setting/market, GET /api/market/pairs
Weather settingsGET/POST /api/setting/weather, POST /api/weather/refresh
Swarm findPOST /api/swarm/find
Screensaver uploadGET /api/update/screensaver/preflight, POST /api/update/screensaver
ExamplescURL / Python / JavaScript

버전 관리​

계약은 마이너 펌웨어 버전 간에 안정적입니다(예: v2.0.x). 파괴적 변경은 GitHub 릴리스 로그에 명시됩니다.

상태 코드​

코드의미
200OK — 응답 본문이 문서화된 스키마와 일치.
204OK — CORS 사전 비행에 사용.
400잘못된 요청 — 일반적으로 유효하지 않은 JSON 또는 범위 밖 값.
404해당 엔드포인트 없음.
413페이로드가 너무 큼(화면 보호기 업로드 전용).
429속도 제한 — 현재 /api/weather/refresh에서 사용.
500기기 오류(예: 업로드 중 파일 시스템 쓰기 실패).

검색 가능성​

http://<miner-ip>/api-doc을 방문하면 마이너 자체가 제공하는 라이브 HTML 참조를 볼 수 있습니다. 실제 API가 이 위키와 다르다면, 기기의 라이브 /api-doc이 항상 우선합니다.