타임스탬프 API — 빠른 시작

HTTP 호출 한 번. 키도, 계정도, 가입 양식도 없습니다. 파일은 그대로 남고 SHA-256만 길을 떠납니다.

# 현재 세계 공통 시각
curl https://beattime.live/api/now/

# 파일 기록: 해시는 로컬에서 계산하고 해시만 전송
sha256sum contract.pdf
curl -X POST https://beattime.live/api/proof/stamp \
     -H 'Content-Type: application/json' \
     -d '{"digest":"<64 hex characters>"}'

연동은 이것이 전부입니다. 등록할 것도, 교체할 토큰도, 협상할 할당량도 없습니다. 이 서비스는 무료이며 앞으로도 그렇습니다.

응답으로 오는 것

기록은 지금 시점의 상태를 돌려줍니다. 나중에 같은 해시는 더 많은 것을 반환합니다. 먼저 서명, 그다음 외부 앵커입니다.

digest
보내신 SHA-256(소문자). 우리가 당신의 파일에 대해 보는 것은 이것뿐입니다.
beat
.beat 시간으로 표시한 시점. 시간대가 붙지 않는 하나의 공통 값입니다.
utc
같은 시점을 UTC로, 마이크로초 단위까지.
seq
추가만 가능한 로그에서의 위치. 번호는 중복되지도, 이동하지도 않습니다.
week
이 기록이 속한 머클 트리의 ISO 주차.
chain_hash
이 기록을 직전 기록과 연결합니다. 기록을 지우면 사슬이 눈에 띄게 끊어집니다.
week_root
주간 머클 루트. 주가 마감되기 전까지는 잠정값이며 계속 바뀝니다.
inclusion_proof
형제 해시와 그 방향(L 또는 R). 이것으로 루트를 직접 다시 계산할 수 있으며, 바로 그 점이 증명을 우리와 무관하게 만듭니다.
root_signature
고정된 주간 루트에 대한 Ed25519 서명. 주가 봉인되면 나타납니다.
ots_status
비트코인 앵커 상태. 승인 대기 중에는 pending, 이후에는 블록 높이와 함께 bitcoin.
anchors
주간 루트를 기록해 둔 은행 참조 번호. 어떤 블록체인에도 의존하지 않는 앵커입니다.

“주가 아직 열려 있음”은 정상 응답이며 오류가 아닙니다.

새 기록에는 아직 서명도 앵커도 없습니다. 해당 주가 아직 봉인되지 않았기 때문입니다. 봉인은 ISO 주가 끝날 때 이루어지고, 비트코인 증명은 하루 정도 뒤에 따라옵니다. 나중에 같은 해시로 다시 물어보면 빠졌던 항목이 채워져 있습니다. 그동안 기록된 시각은 바뀌지 않습니다.

같은 파일을 두 번 기록하면

첫 기록이 언제나 이깁니다. 같은 해시를 다시 보내면 원래 기록이 그대로 돌아옵니다. 시각도 일련번호도 같고 상태 코드만 201 대신 200입니다. 따라서 재시도는 안전합니다. 응답이 유실되거나 클라이언트가 조급하게 재전송해도 타임스탬프가 뒤로 밀리지 않습니다.

201 Created   → 처음 기록됨
200 OK        → 이미 기록됨. 원래 타임스탬프가 반환됨
400           → 해시가 16진수 64자가 아님
429           → 요청 한도 초과. 잠시 후 재시도

요청 한도와 CORS

한도는 IP 주소 단위이며, 한 클라이언트가 다른 사용자를 밀어내지 않도록 존재합니다. 일반적인 연동이 하는 일에는 일부러 넉넉하게 잡았습니다.

엔드포인트한도
POST /api/proof/stamp20 / min
GET /api/proof/verify120 / min
GET /api/proof/cert/<digest>10 / min
나머지(시각, 변환, 동기화)300 / min

모든 엔드포인트가 Access-Control-Allow-Origin: * 헤더로 응답하므로 브라우저에서 바로 호출할 수 있습니다. Tor를 통한 요청은 한도가 더 높습니다. 출구 노드 하나 뒤에 많은 사람이 있기 때문입니다.

바로 쓰는 클라이언트

단일 파일, 의존성 없음, Apache-2.0. Python, PHP, JavaScript, C#, C++17을 지원합니다. 하나를 프로젝트에 복사하거나 전체 레퍼런스를 읽어 보세요.

클라이언트 받기   OpenAPI 레퍼런스

이것이 아닌 것

이 위에 무언가를 만들기 전에 알아 두셔야 합니다. 검토 단계에서 발견하시는 것보다 여기서 말씀드리는 편이 낫습니다.

알고리즘은 명세에 적혀 있고, 이 모든 것을 다시 계산하는 데스크톱 클라이언트는 오픈 소스입니다.

← 브라우저에서 파일 기록하기