지금 네트워크의 데이터는 얼마나 최신입니까?
전송과 거래 · 인덱서의 헤드, 블록 단위 지연, 가장 최근 전송의 경과 시간 — 네트워크별로, 5초마다
- API 가이드
- 5분
- 입문
- 개발자
- GET /v1/sync/status
GET /v1/sync/status?chain=은 last_indexed_block, head_block, safe_block, finalized_block, lag_blocks, freshness_seconds로 응답합니다. freshness_seconds는 해당 네트워크에서 가장 최근에 인덱싱된 전송의 경과 시간이며, 어디서나 같은 의미를 갖는 유일한 최신성 척도입니다. 2026-10-24에 이더리움(Ethereum)은 16블록, 209초 뒤처져 있었고 베이스(Base)는 30블록, 63초였습니다. 전송이 일어나지 않았다고 판단하기 전에 이것을 읽고, 모든 주소 응답 옆에 있는 같은 freshness_seconds를 읽으십시오. /health와 /ready는 인덱싱에 대해 아무것도 말하지 않습니다.
요청
curl -s 'https://stablescan.achivx.com/v1/sync/status?chain=1'{
"chain_id": 1,
"last_indexed_block": 26261977,
"head_block": 26261993,
"safe_block": 26261951,
"finalized_block": 26261919,
"lag_blocks": 16,
"freshness_seconds": 209,
"as_of": "2026-10-24T10:45:52Z"
}첫 번째 요청의 헬퍼 세 개로 한 같은 호출:
Python
sync = scan("/v1/sync/status", chain=1)
fresh = sync["freshness_seconds"]
if fresh is None:
print("freshness not read this time; ask again") # the answer is no-store
elif fresh > 600:
print("indexer is", fresh // 60, "minutes behind; a negative is not final")Go
var sync struct {
LastIndexedBlock int64 `json:"last_indexed_block"`
HeadBlock int64 `json:"head_block"`
FinalizedBlock int64 `json:"finalized_block"`
LagBlocks int64 `json:"lag_blocks"`
FreshnessSeconds *int `json:"freshness_seconds"` // nil: not read this time
}
if err := get("/v1/sync/status", url.Values{"chain": {"1"}}, &sync); err != nil {
return err
}TypeScript
type Sync = { chain_id: number; last_indexed_block: number; head_block: number; safe_block: number; finalized_block: number; lag_blocks: number; freshness_seconds: number | null; as_of: string };
const sync = await scan<Sync>("/v1/sync/status", { chain: 1 });
const stale = sync.freshness_seconds === null || sync.freshness_seconds > 600;필드별 설명
last_indexed_block— 인덱싱 커서입니다. EVM 네트워크와 트론(Tron)에서는 인덱싱된 가장 최근 블록, 솔라나(Solana)에서는 계정 스캔이 도달한 가장 최근 슬롯입니다.head_block— 인덱서가 마지막으로 기록한 체인 헤드입니다(없으면 0). 솔라나에서는 각 주기 시작 시 폴링한 확정 슬롯과 스캔이 처리한 가장 최근 슬롯 중 큰 값이며, 실시간 체인 헤드가 아닙니다.safe_block,finalized_block— EVM 네트워크와 트론에서는 safe 헤드와 finalized 헤드, 솔라나에서는 둘 다 확정 슬롯입니다. 피드 행은 그 블록이finalized_block보다 뒤에 놓일 때까지pending입니다. 그날 아침 이더리움의 확정 헤드는 헤드보다 74블록(약 15분) 뒤처져 있었습니다.lag_blocks—head_block - last_indexed_block. EVM 네트워크와 트론에서 음수 값은 노드의 헤드가 되돌아갔다는 뜻입니다. 솔라나에서는 구조상 0에 가깝고 결코 음수가 아니므로, 그곳에서는 최신성 신호가 아닙니다.freshness_seconds를 읽으십시오(솔라나는lag_blocks: 0, freshness_seconds: 124로 응답했습니다).freshness_seconds— 가장 최근에 인덱싱된 전송의 경과 시간입니다. 이번 응답에서 읽을 수 없었거나 체인에 아직 인덱싱된 전송이 없으면null입니다. 추정으로 0을 넣는 일은 없습니다. 모든 주소 응답이 반복하는 필드이며, 네트워크 간 비교에 쓸 필드입니다.
chain이 없으면 응답은 베이스의 것이며, 그렇다고 알려 주는 chain_source도 없습니다 — 체인 범위 응답 중 기본값을 표시하지 않는 유일한 응답입니다. chain을 넘기십시오.
이것이 아닌 것
/health({"status": "ok"})와 /ready({"status": "ready"}, 데이터베이스가 응답하지 않으면 503 not_ready)는 프로세스 가동 상태입니다. 둘 다 200으로 응답하는 동안에도 네트워크는 몇 시간 뒤처져 있을 수 있습니다. /v1/stats/slo는 서비스 자체의 지연 시간 예산과 배치 작업(OFAC 목록, 주간 그래프 배치)의 최신성이지, 네트워크의 인덱싱 지연이 아닙니다 — 서비스 상태에서 다룹니다. 스냅샷의 최신성은 그 자체의 built_at입니다. /v1/stats/home의 freshness[] 행에는 지연을 읽은 시점인 as_of가 있으며, 빌드 사이에는 바뀌지 않습니다.
캐시
Cache-Control: public, max-age=5. 전송이 인덱싱되기를 기다릴 때는 5초 간격으로 폴링하십시오. 더 빠르면 같은 as_of가 돌아옵니다.
Stablecoin scanner ACHIVX에서
- 현재 이더리움의 최신성: /v1/sync/status?chain=1.
freshness_seconds만 의미가 있는 솔라나: ?chain=-1. - 첫 페이지의 상태 줄에 표시되는 같은 지연 — indexing lag: ethereum 4 min …(인덱싱 지연: 이더리움 4분 …): 첫 페이지.
출처
- REST 인터페이스의 OpenAPI 3.1 명세(API 1.4.0)
- 에이전트 매뉴얼 — agents.md(버전 2026-10-05)
- GET /v1/sync/status?chain=1(2026-10-24 조회)
더 알아보기
관련 질문
- 해시로 거래를 찾으려면 어떻게 합니까: /v1/verify 또는 /v1/transfers?tx=?
- 서비스, OFAC 데이터셋, 응답의 서명은 어떻게 모니터링합니까?
- 정산 피드를 읽고 주소, 토큰, 블록으로 필터링하려면 어떻게 합니까?
전송과 거래 · GET /v1/sync/status · 2026-10-24 작성, openapi.json, agents.md 및 당일 실제 호출 기반. 구조는 인용한 것이며, 수치는 날짜 기준이고 인덱스에 따라 바뀝니다.
이 페이지는 ACHIVX Academy 영어 원문을 한국어로 옮긴 것입니다. 번역과 원문이 다르면 영어 원문이 기준입니다.