서론
이 핸드북은 오디널 이론(Ordinal Theory)에 대한 안내서다. 오디널 이론은 사토시(Satoshis)에 관한 것으로, 각 사토시에 개별적인 정체성을 부여함으로써 그것들을 추적과 전송할 수 있으며 그들에게 의미를 부여할 수 있다.
비트코인 네트워크의 원자적 자체 통화는 비트코인이 아닌 사토시다. 1 비트코인을 100,000,000 사토시로 분할할 수 있지만 그 이상은 불가능하다.
오디널 이론은 비트코인 외에 사이드체인이나 토큰을 필요로하지 않으며, 비트코인 네트워크를 변경하지 않고도 사용할 수 있다. 지금 바로 사용할 수 있다.
오디널 이론은 사토시에 화폐학적 가치를 부여하여 수집품처럼 모으고 거래할 수 있도록 해준다.
각 사토시에 임의의 콘텐츠를 새길 수 있으며, 이로써 비트코인 지갑에 보관하고 비트코인 거래를 통해 전송할 수 있는 고유한 비트코인 자체 디지털 아티팩트를 만들 수 있다. 인스크립션은 비트코인만큼이나 내구성이 있고, 불변하며, 안전하고, 탈중앙화되어 있다.
더 특이한 사용 사례도 가능하다: 오프체인 컬러드 코인, 키 로테이션이 가능한 공개 키 인프라, DNS에 탈중앙화된 대체. 하지만 현재로서는 이러한 사용 사례는 사색에 불과하며, 비주류 오디널 이론가들의 머릿속에만 존재한다.
오디널 이론에 대한 자세한 내용은 개요를 참조하자.
인스크립션에 대한 자세한 내용은 인스크립션을 참조하자.
When you're ready to get your hands dirty, a good place to start is with inscriptions, a curious species of digital artifact enabled by ordinal theory.
Authors
링크 모음
비디오 모음
오디널 이론 개요
오디널스는 개별 사토시(SAT)를 추적하고 전송할 수 있는 사토시를 위한 번호 체계이다. 이러한 번호를 서수라고 한다. 사토시는 채굴된 순서대로 번호가 매겨지며, 트랜잭션 입력에서 트랜잭션 출력으로 선입선출 방식으로 전송된다. 번호 체계와 전송 체계는 모두 순서 에 의존한다. 번호 체계는 사토시가 채굴되는 순서 에, 그리고 전송 체계는 트랜잭션 입력과 출력의 순서 에 의존한다. 따라서 오디널 이라는 이름이 붙었다.
기술적인 자세한 내용은 BIP에서 확인할 수 있다.
오디널 이론은 별도의 토큰이나 다른 블록체인 또는 비트코인에 어떠한 변경도 요구하지 않는다. 지금 바로 사용할 수 있다.
서수는 몇 가지 다른 방법으로 표현할 수 있다:
-
정수 표기법 :
2099994106992659
사토시가 채굴된 순서에 따라 할당된 서수이다. -
소수 표기법 :
3891094.16797
첫 번째 숫자는 사토시가 채굴된 블록 높이(block height)이고, 두 번째 숫자는 블록 내 사토시의 오프셋(offset)이다. -
도 표기법 :
3°111094′214″16797‴
. 잠시 후에 설명하겠다. -
백분의수 표기법 :
99.99971949060254%
. 비트코인 공급량에서 사토시가 차지하는 위치를 백분율로 표시한다. -
이름 :
satoshi
. 문자a
부터z
까지를 사용하여 서수를 인코딩한다.
서수를 안정적 식별자로 사용해 NFT, 증권형 토큰, 계정, 스테이블코인 등 임의의 자산을 사토시에 첨부할 수 있다.
오디널스는 깃허브에서 개발된 오픈 소스 프로젝트다. 이 프로젝트는 오디널 체계를 설명하는 BIP, 비트코인 코어 노드와 통신하여 모든 사토시의 위치를 추적하는 인덱스, 오디널를 인식하고 트랜잭션를 할 수 있는 지갑, 블록체인의 대화형 탐색을 위한 블록 탐색기, 사토시에 디지털 아티팩트를 새기는 기능, 그리고 이 매뉴얼로 구성되었다.
Rarity
인간은 수집가이며, 이제 사토시를 추적하고 전송할 수 있기 때문에 사람들은 당연히 사토시를 수집하고 싶어 할 것이다. 어떤 SAT가 희귀하고 바람직한지는 각 오디널 이론가가 스스로 결정할 수 있지만, 몇 가지 힌트가 있다…
비트코인에는 주기적인 이벤트가 있으며, 일부는 빈번하고 일부는 드물게 발생하며, 이들은 자연스럽게 희귀성 시스템에 적합하다. 이러한 주기적 이벤트는 다음과 같다:
-
블록 : 지금부터 영원히 약 10분마다 새로운 블록이 채굴된다.
-
난이도 조정 : 비트코인 네트워크는 2016블록마다, 즉 약 2주마다 블록이 승인되기 위해 충족해야 하는 난이도 목표를 조정하여 해시레이트의 변화에 대응한다.
-
반감기 : 210,000 블록마다, 즉 약 4년마다 모든 블록에서 생성되는 새로운 SAT의 양이 절반으로 줄어든다.
-
사이클 : 6번의 반감기마다 마법 같은 일이 일어난다. 바로 반감기와 난이도 조정이 동시에 일어난다. 이를 합(conjunction)이라고 하며, 두 합 사이의 기간을 사이클이라고 한다. 합은 대략 24년마다 발생한다. 첫 번째 합은 2032년에 일어날 예정이다.
이에 따라 다음과 같은 희귀도 레벨이 정해진다:
common
: 해당 블록의 첫 번째 SAT가 아닌 모든 SATuncommon
: 각 블록의 첫 번째 SATrare
: 각 난이도 조정 기간의 첫 번째 SATepic
: 각 반감기의 첫 번째 SATlegendary
: 각 사이클의 첫 번째 SATmythic
: 제네시스블록의 첫 번째 SAT
다음은 사토시의 희귀성을 한눈에 쉽게 알아볼 수 있도록 서수를 명확하게 표현하는 도 표기법을 알아보자:
A°B′C″D‴
│ │ │ ╰─ Index of sat in the block
│ │ ╰─── Index of block in difficulty adjustment period
│ ╰───── Index of block in halving epoch
╰─────── Cycle, numbered starting from 0
오디널 이론가들은 A, B, C, D 에 대해 각각 "시", "분", "초", 그리고 “third”라는 용어를 자주 사용한다.
이제 몇 가지 예를 보자. 이 사토시는 common등급이다:
1°1′1″1‴
│ │ │ ╰─ Not first sat in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── Not first block in halving epoch
╰─────── Second cycle
이 사토시는 uncommon등급이다:
1°1′1″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── Not first block in halving epoch
╰─────── Second cycle
이 사토시는 rare등급이다:
1°1′0″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── Not the first block in halving epoch
╰─────── Second cycle
이 사토시는 epic등급이다:
1°0′1″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── Second cycle
이 사토시는 legendary등급이다:
1°0′0″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── Second cycle
그리고 이 사토시는 mythic등급이다:
0°0′0″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── First cycle
블록 오프셋이 0이면 생략할 수 있다. 이 것은 위에서 본 uncommon등급 사토시이다:
1°1′1″
│ │ ╰─ Not first block in difficulty adjustment period
│ ╰─── Not first block in halving epoch
╰───── Second cycle
희귀 사토시 공급
총 공급량
common
: 2,099,999,990,760,000uncommon
: 6,926,535rare
: 3432epic
: 27legendary
: 5mythic
: 1
현재 공급량
common
: ~1.98 quadrillionuncommon
: ~880,000 (a new uncommon is mined roughly every ten minutes)rare
: ~430 (a new rare is mined roughly every two weeks)epic
: 3legendary
: 0mythic
: 1
At the moment, even uncommon satoshis are quite rare. As of this writing, 876,023 uncommon satoshis have been mined - one per 22.6 bitcoin in circulation.
이름
각 사토시는 A 부터 Z 까지의 문자로 구성된 이름이 있으며, 더 미래에서 채굴 될수록 사토시에 이름은 짧아진다. 짧게 시작해서 점점 길어질 수도 있지만, 그러면 좋고 짧은 이름들은 모두 소비가 불가능한 제네시스 블록에 갇히게 될 것이다.
예를 들어 1905530482684727°의 이름은 "iaiufjszmoba”이다. 마지막으로 채굴될 사토시의 이름은 “a”이다. 10자 이하의 모든 조합은 이미 존재하거나 언젠가는 존재할 것이다.
엑소틱
사토시는 이름이나 희귀성 이외의 이유로 소중히 여겨질 수 있다. 정수 제곱근이나 세제곱근과 같은 숫자 자체의 특성 때문일 수도 있다. 또는 세그윗이 활성화된 블록인 477,120 블록의 사토시나 마지막으로 채굴될 사토시인 2099999997689999°와 같은 역사적 사건과의 연관성 때문일 수도 있다.
이러한 사토시를 “엑소틱”(이색품)이라고 한다. 어떤 사토시가 엑소틱인지, 그리고 무엇 때문에 엑소틱인지는 주관적이다. 오디널 이론가들은 자신이 고안한 기준에 따라 엑소틱을 찾도록 권장한다.
인스크립션
사토시에 임의의 콘텐츠를 새겨 비트코인 고유의 디지털 아티팩트를 생성할 수 있다. 새김(inscribing)은 새김할 사토시를 해당 인스크립션 콘텐츠를 온체인에 공개해주는 트랜잭션안에 전송하는 방식으로 이루어진다. 이로써 이 콘텐츠는 해당 사토시와 불가분으로 연결되며, 추적, 전송, 비축, 구매, 판매, 분실, 재발견이 가능한 불변의 디지털 아티팩트로 전환된다.
고고학
초기 NFT를 목록화하고 수집하는 데 전념하는 고고학자들의 활발한 커뮤니티가 생겨났다. 여기에 역사적 NFT에 대한 Chainleft의 훌륭한 요약을 확인할 수 있다.
일반적으로 인정되는 초기 NFT에 마감일은 2018년 3월 19일로, 이더리움에 첫 번째 ERC-721 컨트랙트인 SU SQUARES가 배포된 날이다.
오디널스가 NFT 고고학자들의 관심을 끌지 여부는 아직 미지수다! 어떤 의미에서 오디널스는 오디널스 사양이 확정된 2022년 초에 만들어졌다. 이런한 점에서, 오디널스는 역사적으로 흥미롭지 않다.
하지만 다른 의미에서 오디널스는 사실 2009년 사토시 나카모토가 비트코인 제네시스 블록을 채굴할 때 만들어졌다. 이런 관점에서 오디널스, 특히 초기 오디널스는 분명 역사적으로 흥미로운 존재다.
많은 오디널 이론가들은 후자의 견해를 선호한다. 이는 특히 오디널스가 현대적 NFT 시대가 시작되기 훨씬 전에 적어도 두 차례에 걸쳐 독립적으로 발견되었기 때문이다.
2012년 8월 21일, 찰리 리는 비트코인 토크 포럼에 비트코인에 지분증명을 추가하자는 제안을 게시했다. 이는 자산 체계는 아니었지만 오디널 알고리즘을 사용했으며, 시행은 되었지만 배포되지는 않았다.
2012년 10월 8일, jl2012는 같은 포럼에 소수 표기법을 사용하고 오디널의 모든 중요한 속성을 가진 계획을 게시했다. 이 계획은 논의되었지만 시행되지 않았다.
이러한 오디널의 독립적인 발명은 어떻게 보면 오디널이 발명된 것이 아니라 발견되었거나 재발견되었음을 나타낸다. 오디널은 비트코인의 수학의 필연적인 결과로, 현대의 기록이 아니라 고대의 기원에서 비롯된 것이다. 오디널은 수년 전 첫 번째 블록의 채굴과 함께 시작된 일련의 사건의 정점이다.
디지털 아티팩트
물리적 인공물을 상상해 보라. 예를 들어, 밝혀지지 않은 세월 동안 어둡고 은밀한 바이킹 창고의 손아귀에 있던 희귀한 동전이 이제 여러분의 손으로 의해 땅속에서 파헤쳐졌다. 이 동전은…
...주인이 있다. 바로 당신. 당신이 안전하게 보관하는 한 누구도 빼앗을 수 없다.
...완전하다. 결여된 요소가 없다.
...당신에 의해서만 변화될 수 있다. 만약 당신이 상인이고 18세기 중국으로 갔었다면, 그 동전에 각인(chop-mark)을 찍을 수 있는 사람은 당신밖에 없었을 것이다.
...당신에 의해서만 처분될 수 있다. 당신이 원하는 누구에게나 판매, 거래 또는 선물 할 수 있다.
디지털 아티팩트(인공물)란 무엇인가? 간단히 말해, 이는 물리적 인공물의 디지털 버전이다.
디지털 한 것이 디지털 아티팩트가 되려면 당신의 그 동전과 같은 것이어야 한다:
-
디지털 아티팩트는 소유자가 있을 수 있다. 숫자는 누구도 소유할 수 없으므로 디지털 아티팩트가 아니다.
-
디지털 아티팩트는 완전하다. IPFS 또는 Arweave의 오프체인 콘텐츠를 가리키는 NFT는 불완전하며, 따라서 디지털 아티팩트가 아니다.
-
디지털 아티팩트는 무허가성이라는 특성을 가지고 있다. 로열티를 지불하지 않고는 판매할 수 없는 NFT는 무허가성을 지니지 않으며, 따라서 디지털 아티팩트가 아니다.
-
디지털 아티팩트는 검열할 수 없다. 중앙 원장의 데이터베이스 항목을 오늘은 변경할 수 있어도 내일은 변경할 수 없을 수도 있으므로 이는 디지털 아티팩트가 될 수 없다.
-
디지털 아티팩트는 불변한다. 업그레이드 키가 있는 NFT는 디지털 아티팩트가 아니다.
디지털 아티팩트의 정의는 NFT가 추구해야하는, 그리고 간혹 부합하는, 그리고 인스크립션이 본질적으로 항상 부합하는 이상을 반영하기 위한 것이다.
인스크립션
인스크립션(새김)은 임의의 콘텐츠를 SAT에 새겨 넣어 비트코인 고유의 디지털 아티팩트(일반적인 명칭은 NFT)를 생성한다. 인스크립션은 사이드체인이나 별도의 토큰을 필요로 하지 않는다.
이렇게 새겨진 SAT는 비트코인 트랜잭션을 사용해 전송하고, 비트코인 주소로 보내고, 비트코인 UTXO에 보관할 수 있다. 이러한 트랜잭션, 주소, UTXO는 모든 면에서 일반적인 비트코인 트랜잭션, 주소, UTXOs와 동일다. 다만 개별 사토시를 전송하기 위해서는 트랜잭션이 오디널 이론에 따라 입력과 출력의 순서와 값을 제어해야 한다.
인스크립션 콘텐츠 모델은 웹의 콘텐츠 모델이다. 인스크립션은 MIME 유형이라고도 하는 콘텐츠 유형과 바이트 문자열(string)인 콘텐츠 자체로 구성된다. 이를 통해 웹 서버에서 인스크립션 콘텐츠를 반환하고 다른 인스크립션의 콘텐츠를 사용 및 리믹스하는 HTML 인스크립션을 만들 수 있다.
인스크립션 콘텐츠는 전적으로 온체인에 저장되며, 탭루트 스크립트 경로 지출 스크립트에 저장된다. 탭루트 스크립트는 콘텐츠에 대한 제한이 거의 없으며, 추가로 증인 할인(witness discount)을 받을 수 있어 인스크립션 콘텐츠 저장 비용이 상대적으로 저렴하다.
탭루트 스크립트 지출은 기존 탭루트 출력에서만 만들 수 있으므로, 인스크립션은 2단계 커밋/리빌 절차를 사용하여 만들어진다. 먼저 커밋 트랜잭션에서 인스크립션 내용이 포함된 스크립트에 커밋하는 탭루트 출력이 생성된다. 둘째, 리빌 트랜잭션에서는 커밋 트랜잭션에서 생성된 출력이 소비되어 인스크립션 콘텐츠를 온체인에 공개한다.
인스크립션 콘텐츠는 “엔벨롭”(envelope)이라고 하는 실행되지 않은 조건문 내의 데이터 푸시를 사용하여 직렬화된다. 엔벨롭는 데이터 푸시를 원하는 수만큼 감싸는 OP_FALSE OP_IF ... OP_ENDIF
로 구성된다. 엔벨롭는 사실상 노옵(no-op)이므로 엔벨롭이 포함된 스크립트의 의미를 변경하지 않으며 다른 로킹(locking) 스크립트와 결합할 수 있다.
“Hello, world!”이라는 문자열이 포함된 텍스트 인스크립션은 다음과 같이 직렬화된다:
OP_FALSE
OP_IF
OP_PUSH “ord”
OP_PUSH 1
OP_PUSH “text/plain;charset=utf-8”
OP_PUSH 0
OP_PUSH “Hello, world!”
OP_ENDIF
먼저 ord
문자열이 푸시되어 인스크립션을 엔벨롭의 다른 용도와 구분할 수 있다.
OP_PUSH 1
은 다음 푸시에 콘텐츠 유형이 포함되어 있음을 나타내고, OP_PUSH 0
은 후속 데이터 푸시에 콘텐츠 자체가 포함되어 있음을 나타낸다. 탭루트의 몇 가지 제한 사항 중 하나는 개별 데이터 푸시가 520바이트를 초과할 수 없다는 것이므로, 큰 인스크립션에는 여러 개의 데이터 푸시를 사용해야 한다.
The inscription content is contained within the input of a reveal transaction, and the inscription is made on the first sat of its input if it has no pointer field. This sat can then be tracked using the familiar rules of ordinal theory, allowing it to be transferred, bought, sold, lost to fees, and recovered.
콘텐츠
인스크립션의 데이터 모델은 웹 서버에서 인스크립션 콘텐츠를 제공하고 웹 브라우저에서 볼 수 있도록 하는 HTTP 응답의 데이터 모델이다.
필드
인스크립션은 optional body 앞에 필드를 포함할 수 있다. 각 필드는 두 개의 데이터 푸시, 즉 태그 및 값으로 구성된다.
Currently, there are six defined fields:
content_type
, with a tag of1
, whose value is the MIME type of the body.pointer
, with a tag of2
, see pointer docs.parent
, with a tag of3
, see provenance.metadata
, with a tag of5
, see metadata.metaprotocol
, with a tag of7
, whose value is the metaprotocol identifier.content_encoding
, with a tag of9
, whose value is the encoding of the body.delegate
, with a tag of11
, see delegate.
Body의 시작과 필드의 끝은 빈 데이터 푸시로 표시된다.
인식되지 않는 태그는 라이트닝 네트워크에서 사용하는 "홀수여도 괜찮아" 규칙에 따라 짝수인지 홀수인지에 따라 다르게 해석된다.
인스크립션 생성, 초기 할당 또는 전송에 영향을 줄 수 있는 필드에는 짝수 태그가 사용된다. 따라서 인식할 수 없는 짝수 필드가 있는 인스크립션은 “unbound”, 즉 위치가 없는 상태로 표시되어야 한다.
홀수 태그는 추가 메타데이터와 같이 생성, 초기 할당 또는 전송에 영향을 주지 않는 필드에 사용되므로 무시해도 안전하다.
인스크립션 ID
인스크립션은 리빌 트랜잭션의 입력값에 포함되어 있다. 인스크립션을 고유하게 식별하기 위해 인스크립션에는 이 형식의 ID가 할당된다:
521f8eccffa4c41a3a7728dd012ea5a4a02feed81f41159231251ecf1e5c79dai0
i
앞 부분은 리빌 트랜잭션의 트랜잭션 ID(txid
)이다. i
뒤의 숫자는 리빌 트랜잭션에 새겨지는 새 인스크립션의 인덱스(0부터 시작)를 정의한다.
인스크립션은 다른 입력 아니면 동일한 입력 내에 위치하거나 둘 다 일수 있다. 어떤 경우든 구문 분석기는 입력을 연속적으로 살펴보고 모든 인스크립션 ‘엔벨롭’을 찾기 때문에 순서는 명확하다.
입력 | 인스크립션 개수 | 인덱스 |
---|---|---|
0 | 2 | i0, i1 |
1 | 1 | i2 |
2 | 3 | i3, i4, i5 |
3 | 0 | |
4 | 1 | i6 |
Inscription Numbers
Inscriptions are assigned inscription numbers starting at zero, first by the order reveal transactions appear in blocks, and the order that reveal envelopes appear in those transactions.
Due to a historical bug in ord
which cannot be fixed without changing a great many inscription numbers, inscriptions which are revealed and then immediately spent to fees are numbered as if they appear last in the block in which they are revealed.
Inscriptions which are cursed are numbered starting at negative one, counting down. Cursed inscriptions on and after the jubilee at block 824544 are vindicated, and are assigned positive inscription numbers.
샌드박싱 (sandboxing)
오프체인 콘텐츠에 대한 참조를 방지하기 위해 HTML 및 SVG 인스크립션은 샌드박스가 적용되어 인스크립션의 변경을 불가능하게 하고 독립적으로 유지될 수 있게 한다.
이는 HTML 및 SVG 인스크립션을 ‘sandbox’ 속성을 사용하여 'iframe' 내에 로드하고 Content-Security-Policy
헤더를 사용하여 인스크립션 콘텐츠를 제공함으로써 수행된다.
Self-Reference
The content of the inscription with ID INSCRIPTION_ID
must served from the URL path /content/<INSCRIPTION_ID>
.
This allows inscriptions to retrieve their own inscription ID with:
let inscription_id = window.location.pathname.split("/").pop();
If an inscription with ID X delegates to an inscription with ID Y, that is to say, if inscription X contains a delegate field with value Y, the content of inscription X must be served from the URL path /content/X
, not /content/Y
.
This allows delegating inscriptions to use their own inscription ID as a seed for generative delegate content.
Reinscriptions
Previously inscribed sats can be reinscribed with the --reinscribe
command if the inscription is present in the wallet. This will only append an inscription to a sat, not change the initial inscription.
Reinscribe with satpoint: ord wallet inscribe --fee-rate <FEE_RATE> --reinscribe --file <FILE> --satpoint <SATPOINT>
Reinscribe on a sat (requires sat index): ord --index-sats wallet inscribe --fee-rate <FEE_RATE> --reinscribe --file <FILE> --sat <SAT>
Burning
Inscriptions may be burned by constructing a transaction that spends them to a script pubkey beginning with OP_RETURN
.
Sending inscriptions to a so-called "burn address" is not recognized by ord
.
Burned inscriptions receive the "burned" charm, recognized with 🔥 on the inscription's /inscription
page.
When burning inscriptions, CBOR metadata may be included in a data push immediately following the OP_RETURN
.
Burn metadata is unstructured, having no meaning to the underlying protocol, and should be human readable. It is displayed on the burned inscription's /inscription
page, in the same manner as inscription metadata, under the heading "burn metadata".
Use it, if you feel like it, to commemorate the inscription, celebrate the closing of a collection, or for whatever other purposes you so desire.
Data pushes after the first are currently ignored by ord
. However, they may be given future meaning by the protocol, and should not be used.
For example, transaction b42f0d8a3277ce6a7e564fec8f5579f76bc19cb24f8eff565ebb81a4c2f94683 burned inscription 681b5373c03e3f819231afd9227f54101395299c9e58356bda278e2f32bef2cdi0.
Delegate
Inscriptions may nominate a delegate inscription. Requests for the content of an inscription with a delegate will instead return the content, content type and content encoding of the delegate. This can be used to cheaply create copies of an inscription.
설명서
To create an inscription I with delegate inscription D:
- Create an inscription D. Note that inscription D does not have to exist when making inscription I. It may be inscribed later. Before inscription D is inscribed, requests for the content of inscription I will return a 404.
- Include tag
11
, i.e.OP_PUSH 11
, in I, with the value of the serialized binary inscription ID of D, serialized as the 32-byteTXID
, followed by the four-byte little-endianINDEX
, with trailing zeroes omitted.
NB 비트코인 트랜잭션 ID의 바이트는 텍스트 표현이 역순으로되어 있으므로 직렬화된 트랜잭션 ID는 반대 순서가 된다.
예제
An example of an inscription which delegates to 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0
:
OP_FALSE
OP_IF
OP_PUSH "ord"
OP_PUSH 11
OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
OP_ENDIF
Note that the value of tag 11
is decimal, not hex.
The delegate field value uses the same encoding as the parent field. See provenance for more examples of inscription ID encodings
See examples for on-chain examples of inscriptions that feature this functionality.
메타 데이터
Inscriptions may include CBOR metadata, stored as data pushes in fields with tag 5
. Since data pushes are limited to 520 bytes, metadata longer than 520 bytes must be split into multiple tag 5
fields, which will then be concatenated before decoding.
Metadata is human readable, and all metadata will be displayed to the user with its inscription. Inscribers are encouraged to consider how metadata will be displayed, and make metadata concise and attractive.
Metadata is rendered to HTML for display as follows:
null
,true
,false
, numbers, floats, and strings are rendered as plain text.- Byte strings are rendered as uppercase hexadecimal.
- Arrays are rendered as
<ul>
tags, with every element wrapped in<li>
tags. - Maps are rendered as
<dl>
tags, with every key wrapped in<dt>
tags, and every value wrapped in<dd>
tags. - Tags are rendered as the tag , enclosed in a
<sup>
tag, followed by the value.
CBOR is a complex spec with many different data types, and multiple ways of representing the same data. Exotic data types, such as tags, floats, and bignums, and encoding such as indefinite values, may fail to display correctly or at all. Contributions to ord
to remedy this are welcome.
예제
Since CBOR is not human readable, in these examples it is represented as JSON. Keep in mind that this is only for these examples, and JSON metadata will not be displayed correctly.
The metadata {"foo":"bar","baz":[null,true,false,0]}
would be included in an inscription as:
OP_FALSE
OP_IF
...
OP_PUSH 0x05 OP_PUSH '{"foo":"bar","baz":[null,true,false,0]}'
...
OP_ENDIF
And rendered as:
<dl>
...
<dt>metadata</dt>
<dd>
<dl>
<dt>foo</dt>
<dd>bar</dd>
<dt>baz</dt>
<dd>
<ul>
<li>null</li>
<li>true</li>
<li>false</li>
<li>0</li>
</ul>
</dd>
</dl>
</dd>
...
</dl>
Metadata longer than 520 bytes must be split into multiple fields:
OP_FALSE
OP_IF
...
OP_PUSH 0x05 OP_PUSH '{"very":"long","metadata":'
OP_PUSH 0x05 OP_PUSH '"is","finally":"done"}'
...
OP_ENDIF
Which would then be concatenated into {"very":"long","metadata":"is","finally":"done"}
.
See examples for on-chain examples of inscriptions that feature this functionality.
Pointer
In order to make an inscription on a sat other than the first of its input, a zero-based integer, called the "pointer", can be provided with tag 2
, causing the inscription to be made on the sat at the given position in the outputs. If the pointer is equal to or greater than the number of total sats in the outputs of the inscribe transaction, it is ignored, and the inscription is made as usual. The value of the pointer field is a little endian integer, with trailing zeroes ignored.
An even tag is used, so that old versions of ord
consider the inscription to be unbound, instead of assigning it, incorrectly, to the first sat.
This can be used to create multiple inscriptions in a single transaction on different sats, when otherwise they would be made on the same sat.
Examples
An inscription with pointer 255:
OP_FALSE
OP_IF
OP_PUSH "ord"
OP_PUSH 1
OP_PUSH "text/plain;charset=utf-8"
OP_PUSH 2
OP_PUSH 0xff
OP_PUSH 0
OP_PUSH "Hello, world!"
OP_ENDIF
An inscription with pointer 256:
OP_FALSE
OP_IF
OP_PUSH "ord"
OP_PUSH 1
OP_PUSH "text/plain;charset=utf-8"
OP_PUSH 2
OP_PUSH 0x0001
OP_PUSH 0
OP_PUSH "Hello, world!"
OP_ENDIF
An inscription with pointer 256, with trailing zeroes, which are ignored:
OP_FALSE
OP_IF
OP_PUSH "ord"
OP_PUSH 1
OP_PUSH "text/plain;charset=utf-8"
OP_PUSH 2
OP_PUSH 0x000100
OP_PUSH 0
OP_PUSH "Hello, world!"
OP_ENDIF
Properties
Inscriptions may include CBOR properties, stored as data pushes in fields with tag 17
. Since data pushes are limited to 520 bytes, CBOR longer than 520 bytes must be split into multiple tag 17
fields, which will then be concatenated before decoding.
Properties are a structured counterpart to metadata. While metadata may contain arbitrary CBOR which has no protocol-defined meaning and is presented on /inscription
as HTML, properties have protocol-defined meaning and must conform to a strict schema.
Indefinite-length types are not supported. All maps, arrays, byte strings, and text strings must be definite.
The non-normative CDDL schema of the properties value is as follows:
Properties = {
? 0: [*GalleryItem],
* any => any,
}
GalleryItem = {
? 0: bstr .size (32..36),
* any => any,
}
The above CDDL schema is provided as a convenience. As always, the ordinals reference implementation ord
is the normative specification of inscriptions, and thus the properties field.
Fields matching the * any => any
wildcard must be ignored, for compatibility with future additions.
Galleries
Inscriptions whose properties field contains GalleryItem
s are galleries.
Galleries contain GalleryItem
s, whose only defined key 0
contains a serialized inscription ID. Inscription ID TXIDiINDEX
is serialized as a byte string containing the 32 byte TXID, concatenated with by the four-byte little-endian INDEX
. Trailing zeros may be removed from four-byte INDEX
, so IDs ending in i0
may be serialized in 32 bytes.
Gallery items are displayed on the inscriptions /inscription
page on the explorer.
Galleries are similar to children, in that they provide a way to create collections of inscriptions. However, galleries are permissionless. Anyone may create a gallery including any inscriptions. Thus, inclusion in a gallery does not imply provenance. Additionally, because of this, inclusion in a gallery does not create a backlink from the gallery item's /inscription
page to the gallery.
Galleries may be created when batch inscribing with ord wallet batch
by including an array of string inscription IDs of under the gallery
key of the inscription entry in the batch file, or when using ord wallet inscribe
using the --gallery
option.
기원
인스크립션 소유자는 자식 인스크립션을 생성할 수 있으며, 해당 자식의 출처를 부모 인스크립션 소유자가 생성한 것으로 온체인에서 신뢰 없이 입증할 수 있다. 이는 부모 인스크립션의 자식이 동일한 컬렉션의 멤버가 되는 컬렉션에 사용할 수 있다.
자식이 자식을 가질 수 있으므로 복잡한 계층 구조가 가능하다. 예를 들어, 아티스트가 자신을 나타내는 인스크립션을 만들고 하위 인스크립션은 자신이 만든 컬렉션을 나타내며, 이 하위 인스크립션의 자식은 해당 컬렉션의 아이템이 될 수 있다.
설명서
부모 인스크립션 P로 자식 인스크립션 C를 생성하려면:
- C에 대해 평소와 같이 인스크립션 트랜잭션 T를 생성한다.
- 부모 P를 T의 입력 중 하나에 쓴다.
- C에 태그 '3', 즉 'OP_PUSH 3'을 포함하고, 32바이트 'TXID'로 직렬화된 P의 바이너리(이진수) 인스크립션 ID 값과 뒤에오는 0들을 생략한 4바이트 리틀엔디안 'INDEX'를 포함시킨다.
NB 비트코인 트랜잭션 ID의 바이트는 텍스트 표현이 역순으로되어 있으므로 직렬화된 트랜잭션 ID는 반대 순서가 된다.
예제
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0
의 자식 인스크립션의 예시:
OP_FALSE
OP_IF
OP_PUSH “ord”
OP_PUSH 1
OP_PUSH “text/plain;charset=utf-8”
OP_PUSH 3
OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
OP_PUSH 0
OP_PUSH “Hello, world!”
OP_ENDIF
태그 3
의 값은 헥스(16진수)가 아닌 바이너리(이진수)이며, 자식 비문이 자식으로 인식되려면 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0
가 인스크립션 트랜잭션의 입력 중 하나로 소비되어야 한다.
인스크립션 ID 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255
의 인코딩 예시:
OP_FALSE
OP_IF
…
OP_PUSH 3
OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
…
OP_ENDIF
그리고 인스크립션 ID 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256
의 경우:
OP_FALSE
OP_IF
…
OP_PUSH 3
OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
…
OP_ENDIF
메모
태그 3
은 사용 가능한 첫 번째 홀수 태그이기 때문에 사용된다. 인식되지 않는 홀수 태그는 인스크립션을 unbound(바인딩 해제)하지 않으므로 하위 인스크립션은 이전 버전의 ord
에서 인식 및 추적된다.
컬렉션의 상위 인스크립션을 소각하여 컬렉션을 폐쇄할 수 있으며, 이 경우 컬렉션의 아이템을 더 이상 발행할 수 없게 된다.
See examples for on-chain examples of inscriptions that feature this functionality.
리커젼
An important exception to sandboxing is recursion. Recursive endpoints are whitelisted endpoints that allow access to on-chain data, including the content of other inscriptions.
Since changes to recursive endpoints might break inscriptions that rely on them, recursive endpoints have backwards-compatibility guarantees not shared by ord server
's other endpoints. In particular:
- Recursive endpoints will not be removed
- Object fields returned by recursive endpoints will not be renamed or change types
However, additional object fields may be added or reordered, so inscriptions must handle additional, unexpected fields, and must not expect fields to be returned in a specific order.
Recursion has a number of interesting use-cases:
-
기존 인스크립션의 콘텐츠를 리믹스.
-
코드, 이미지, 오디오 또는 스타일시트 스니펫을 공유된 공개 리소스로 발행.
-
알고리즘이 자바스크립트로 새겨져 있고 고유한 시드를 가진 여러 인스크립션에서 인스턴스화되는 제너레이티브 아트 컬렉션.
-
액세서리와 속성을 개별 이미지 또는 공유된 텍스처 아틀라스(texture atlas) 안에 인스크립션으로 새긴 다음 콜라주 스타일로 여러 인스크립션에서 고유한 조합으로 결합하는 제네레이티브 프로필 사진 컬렉션.
Endpoints
GET
/content/<INSCRIPTION_ID>
Description
The content of the inscription with <INSCRIPTION_ID>
.
예제
curl -s \
http://0.0.0.0:80/content/6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0 > skull.jpg
no terminal output, just file creation
GET
/r/blockhash
Description
Latest block hash.
예제
curl -s \
http://0.0.0.0:80/r/blockhash
"00000000000000000002891b440944e0ce40b37b6ccaa138c280e9edfc319d5d"
GET
/r/blockhash/<HEIGHT>
Description
Block hash at given block height as JSON string.
예제
curl -s \
http://0.0.0.0:80/r/blockhash/840000
"0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5"
GET
/r/blockheight
Description
Latest block height.
예제
curl -s \
http://0.0.0.0:80/r/blockheight
866393
GET
/r/blockinfo/<QUERY>
Description
Block info. <QUERY>
may be a block height or block hash.
Example (blockheight)
curl -s \
http://0.0.0.0:80/r/blockinfo/0
{
"average_fee": 0,
"average_fee_rate": 0,
"bits": 486604799,
"chainwork": "0000000000000000000000000000000000000000000000000000000100010001",
"confirmations": 866396,
"difficulty": 1.0,
"hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
"feerate_percentiles": [
0,
0,
0,
0,
0
],
"height": 0,
"max_fee": 0,
"max_fee_rate": 0,
"max_tx_size": 0,
"median_fee": 0,
"median_time": 1231006505,
"merkle_root": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",
"min_fee": 0,
"min_fee_rate": 0,
"next_block": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048",
"nonce": 2083236893,
"previous_block": null,
"subsidy": 5000000000,
"target": "00000000ffff0000000000000000000000000000000000000000000000000000",
"timestamp": 1231006505,
"total_fee": 0,
"total_size": 0,
"total_weight": 0,
"transaction_count": 1,
"version": 1
}
Example (blockhash)
curl -s \
http://0.0.0.0:80/r/blockinfo/0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5
{
"average_fee": 1234031,
"average_fee_rate": 3770,
"bits": 386089497,
"chainwork": "0000000000000000000000000000000000000000753bdab0e0d745453677442b",
"confirmations": 26397,
"difficulty": 86388558925171.02,
"hash": "0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5",
"feerate_percentiles": [
108,
134,
200,
350,
1063
],
],
"height": 840000,
"height": 840000,
"max_fee": 799987800,
"max_fee_rate": 3604819,
"max_tx_size": 166989,
"median_fee": 34800,
"median_fee": 34800,
"median_time": 1713570208,
"merkle_root": "031b417c3a1828ddf3d6527fc210daafcc9218e81f98257f88d4d43bd7a5894f",
"min_fee": 2060,
"min_fee_rate": 15,
"next_block": "00000000000000000001b48a75d5a3077913f3f441eb7e08c13c43f768db2463",
"nonce": 3932395645,
"previous_block": "0000000000000000000172014ba58d66455762add0512355ad651207918494ab",
"subsidy": 312500000,
"target": "0000000000000000000342190000000000000000000000000000000000000000",
"timestamp": 1713571767,
"total_fee": 3762561499,
"total_size": 2325218,
"total_weight": 3991793,
"transaction_count": 3050,
"version": 710926336
}
GET
/r/blocktime
Description
UNIX time stamp of latest block.
예제
curl -s \
http://0.0.0.0:80/r/blocktime
1729362253
GET
/r/children/<INSCRIPTION_ID>
Description
The first 100 child inscription ids.
예제
curl -s \
http://0.0.0.0:80/r/children/e317a2a5d68bd1004ae15a06175a319272a10389ff125c98820389edef8b0a94i0
{
"ids": [
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei0",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei1",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei2",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei3",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei4",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei5",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei6",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei7",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei8",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei9",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei10",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei11",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei12",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei13",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei14",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei15",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei16",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei17",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei18",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei19",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei20",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei21",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei22",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei23",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei24",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei25",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei26",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei27",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei28",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei29",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei30",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei31",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei32",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei33",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei34",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei35",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei36",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei37",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei38",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei39",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei40",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei41",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei42",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei43",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei44",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei45",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei46",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei47",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei48",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei49",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei50",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei51",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei52",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei53",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei54",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei55",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei56",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei57",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei58",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei59",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei60",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei61",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei62",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei63",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei64",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei65",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei66",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei67",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei68",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei69",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei70",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei71",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei72",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei73",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei74",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei75",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei76",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei77",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei78",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei79",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei80",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei81",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei82",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei83",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei84",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei85",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei86",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei87",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei88",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei89",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei90",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei91",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei92",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei93",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei94",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei95",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei96",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei97",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei98",
"89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei99"
],
"more": true,
"page": 0
}
GET
/r/children/<INSCRIPTION_ID>/<PAGE>
Description
The set of 100 child inscription ids on <PAGE>
.
예제
curl -s \
http://0.0.0.0:80/r/children/e317a2a5d68bd1004ae15a06175a319272a10389ff125c98820389edef8b0a94i0/9
{
"ids": [
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci60",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci61",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci62",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci63",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci64",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci65",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci66",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci67",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci68",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci69",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci70",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci71",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci72",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci73",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci74",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci75",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci76",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci77",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci78",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci79",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci80",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci81",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci82",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci83",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci84",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci85",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci86",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci87",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci88",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci89",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci90",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci91",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci92",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci93",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci94",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci95",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci96",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci97",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci98",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci99",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci100",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci101",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci102",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci103",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci104",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci105",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci106",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci107",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci108",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci109",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci110",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci111",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci112",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci113",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci114",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci115",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci116",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci117",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci118",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci119",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci120",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci121",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci122",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci123",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci124",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci125",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci126",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci127",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci128",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci129",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci130",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci131",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci132",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci133",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci134",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci135",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci136",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci137",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci138",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci139",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci140",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci141",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci142",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci143",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci144",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci145",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci146",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci147",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci148",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci149",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci150",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci151",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci152",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci153",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci154",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci155",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci156",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci157",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci158",
"b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci159"
],
"more": true,
"page": 9
}
GET
/r/children/<INSCRIPTION_ID>/inscriptions
Description
Details of first 100 child inscriptions of INSCRIPTION_ID
.
예제
curl -s \
http://0.0.0.0:80/r/children/e317a2a5d68bd1004ae15a06175a319272a10389ff125c98820389edef8b0a94i0/inscriptions
{
"children": [
{
"charms": [],
"fee": 417,
"height": 861224,
"id": "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei0",
"number": 75744297,
"output": "236ce10d9cd3f9f7f824a07686f7d7bce0d64a400f0328ce5bb2191a60d15262:0",
"sat": null,
"satpoint": "236ce10d9cd3f9f7f824a07686f7d7bce0d64a400f0328ce5bb2191a60d15262:0:0",
"timestamp": 1726282054
},
...
],
"more": true,
"page": 0
}
GET
/r/children/<INSCRIPTION_ID>/inscriptions/<PAGE>
Description
Details of 100 child inscriptions of INSCRIPTION_ID
paginated by PAGE
.
예제
curl -s \
http://0.0.0.0:80/r/children/e317a2a5d68bd1004ae15a06175a319272a10389ff125c98820389edef8b0a94i0/inscriptions/9
{
"children": [
{
"charms": [
"vindicated"
],
"fee": 418,
"height": 861239,
"id": "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci60",
"number": 75750346,
"output": "e8ebadbd9ce4e4372b1b9b30fd5cb831c1f48ff2d0f8f1d1de2e190a2f5bcbe8:1",
"sat": null,
"satpoint": "e8ebadbd9ce4e4372b1b9b30fd5cb831c1f48ff2d0f8f1d1de2e190a2f5bcbe8:1:0",
"timestamp": 1726292222
},
{
"charms": [
"vindicated"
],
"fee": 418,
"height": 861239,
"id": "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci61",
"number": 75750347,
"output": "aa46f14bec8842edd7b7c1b79224cd186dda6c5577cd65196da77d7e27b00b0c:0",
"sat": null,
"satpoint": "aa46f14bec8842edd7b7c1b79224cd186dda6c5577cd65196da77d7e27b00b0c:0:0",
"timestamp": 1726292222
},
...
],
"more": true,
"page": 9
}
GET
/r/inscription/<INSCRIPTION_ID>
Description
Information about an inscription.
예제
curl -s \
http://0.0.0.0:80/r/inscriptions/13130e4b299ed361f2a734f6433844ef0f0211cd504e0ca8f4d4ab20f51b8127i0
{
"charms": [
"vindicated"
],
"content_type": "model/gltf-binary",
"content_length": 3726620,
"delegate": null,
"fee": 7499396,
"height": 866266,
"id": "13130e4b299ed361f2a734f6433844ef0f0211cd504e0ca8f4d4ab20f51b8127i0",
"number": 76545890,
"output": "13130e4b299ed361f2a734f6433844ef0f0211cd504e0ca8f4d4ab20f51b8127:1",
"sat": null,
"satpoint": "13130e4b299ed361f2a734f6433844ef0f0211cd504e0ca8f4d4ab20f51b8127:1:0",
"timestamp": 1729297535,
"value": 1313,
"address": "bc1phj8hgzeptthkur9se2jq5vex7vlyhc8ul689svxea0xsn6r43z7sekz6qh"
}
GET
/r/metadata/<INSCRIPTION_ID>
Description
JSON string containing the hex-encoded CBOR metadata.
예제
curl -s \
http://0.0.0.0:80/r/metadata/b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0
"ac6c50484f544f475241504845526a5041524b4552204441596643414d4552416c43414e4f4e20454f532d31566446494c4d6f4b4f44414b20454b54415220313030644c454e53781a5a4549535320504c414e415220542a2038354d4d20462f312e346d5348555454455220535045454465312f31323568415045525455524563462f38664d4f44454c5318646650484f544f531903e8684c4f434154494f4e774c4f5320414e47454c45532c2043414c49464f524e49416443524557a36a415353495354414e4345826e41524941532042555244454c4c49684e4153204e495858664d414b45555087754544454e2053594d4f4e45204c415454414e5a494f6a4d494d49204d455945526e53414d414e544841204c455052456f4c4953455454452053414e54414e416e4a45535349434120564552474f4e63504f4e724d415941204e414b415241205352554f4348644841495283694a414b4920494348556c4a4f43454c594e2056454741724a4546464552534f4e2054414e475241444966504154524f4e6e434153455920524f4441524d4f52674c4943454e534563434330"
GET
/r/parents/<INSCRIPTION_ID>
Description
The first 100 parent inscription ids.
예제
curl -s \
http://0.0.0.0:80/r/parents/b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0
{
"ids": [
"6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0"
],
"more": false,
"page_index": 0
}
GET
/r/parents/<INSCRIPTION_ID>/<PAGE>
Description
The set of 100 parent inscription ids on <PAGE>
.
예제
curl -s \
http://0.0.0.0:80/r/parents/b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0/9
{
"ids": [],
"more": false,
"page_index": 9
}
GET
/r/parents/<INSCRIPTION_ID>/inscriptions
Description
Details of the first 100 parent inscriptions.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/r/parents/4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019i0/inscriptions
{
"parents": [
{
"charms": [],
"fee": 21730,
"height": 775167,
"id": "92c409fb749b1005fe9a1482d3a74a8e73936a72644f4979df8184aba473841di0",
"number": 4573,
"output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:13",
"sat": null,
"satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:13:0",
"timestamp": 1675607405
},
{
"charms": [],
"fee": 14977,
"height": 775167,
"id": "c689cbcb8e31858c5e1476d04af4e7e7cedd1fb4fb9cae5bb62036936a08282di0",
"number": 4576,
"output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:14",
"sat": null,
"satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:14:0",
"timestamp": 1675607405
},
{
"charms": [],
"fee": 12533,
"height": 775167,
"id": "982d15f6b3510307ef845f1cb3352b27e2b048616b7c0642367ebc05bbd36d3ai0",
"number": 4578,
"output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:12",
"sat": null,
"satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:12:0",
"timestamp": 1675607405
}
...
],
"more": true,
"page": 0
}
GET
/r/parents/<INSCRIPTION_ID>/inscriptions/<PAGE>
Description
Details of the set of 100 parent inscriptions on <PAGE>.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/r/parents/4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019i0/inscriptions/1
{
"parents": [
{
"charms": [],
"fee": 65049,
"height": 775443,
"id": "972994a55c338e8458bfd156642f4aa56bdab54c68658d6b64d932fedef3c81fi0",
"number": 10804,
"output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:102",
"sat": null,
"satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:102:0",
"timestamp": 1675780989
},
{
"charms": [],
"fee": 60111,
"height": 775443,
"id": "dbc21f2d3323df24a378fef3bdbe4e79c4947ce7da54968affcdefa7eda80d21i0",
"number": 10805,
"output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:110",
"sat": null,
"satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:110:0",
"timestamp": 1675780989
},
{
"charms": [],
"fee": 49881,
"height": 775443,
"id": "97870f7cf65992a66d0413a7e6773190e686f185500f78c30f989f2d1f1ba922i0",
"number": 10806,
"output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:101",
"sat": null,
"satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:101:0",
"timestamp": 1675780989
}
...
],
"more": false,
"page": 1
}
GET
/r/sat/<SAT_NUMBER>
Description
The first 100 inscription ids on a sat. Requires index with --index-sats
flag.
예제
curl -s \
http://0.0.0.0:80/r/sat/153899938226999
{
"ids": [
"f4ad941ee3892598f34777c4b7b3e2ccccece58ab21aa4364d0d2066daf5b427i3",
"a4bca99fba23122e113bfb9a8010095b2005c4d73fa5b5532de60752b768a3e5i0",
"11b4097bc9ff238c930ed4df44a6a5943ac1b570d424d7e13425244e3f345db7i0",
"488c32e4dfcdc0fa376c2c2af2d572a12f4d33d3245689d1a9f74167f1e14678i0"
],
"more": false,
"page": 0
}
GET
/r/sat/<SAT_NUMBER>/<PAGE>
Description
The set of 100 inscription ids on <PAGE>
. Requires index with --index-sats
flag.
예제
curl -s \
http://0.0.0.0:80/r/sat/1499676120331756/1
{
"ids": [
"c18b2db646cd23b9745bd40a249fc84975b1105a637f3784aa4dbd46a839750fi0",
"7d7c2db251779ea4147ed881daac210bfa416f39846b60e3e6813b713a393d9ai0",
"f42913d8c95f055b586fa9a6c71d2432c7ac860a9a4524c0abf83b1dbe175383i0",
"52fd615dc56a8efb241e4de141692cfa57b1af0ac5d65da7e9d5f12841c2c56ci0",
"cd65b92b9d4080a850eaf2c67c8e0c40c61ecdebeea9ae03936947f981a7b54ai0",
"708ac95fe35bcfef5403f13e5e32c927adb413ce39597abc20f8e8fa4fa1d005i0",
"2399e57a8f598b4487dda149942404e5002321139997280c736dcd0c3a806672i0",
"4a2b37c1e017646a9ba2aa13487ae55b8621972aac349426df680eaf66b90571i0",
"2a7b8b23f2a36bcff7ab23013cd13b303b8797cfac75e88d4daf1a9ddcdbdc6ai0",
"b4cac4e0c9a9ccf6428c1e3869bbbcc0e094d39d972094af21a3ca342a9afedbi0",
"c5f4bb989cc8bca10079287272d07b77b562938eaad35b3dface018cb6ac1c38i0"
],
"more": false,
"page": 1
}
GET
/r/sat/<SAT_NUMBER>/at/<INDEX>
Description
The inscription id at <INDEX>
of all inscriptions on a sat. <INDEX>
may be a negative number to index from the back. 0
being the first and -1
being the most recent for example. Requires index with --index-sats
flag.
예제
curl -s \
http://0.0.0.0:80/r/sat/153899938226999/at/-1
{
"id": "488c32e4dfcdc0fa376c2c2af2d572a12f4d33d3245689d1a9f74167f1e14678i0"
}
GET
/r/sat/<SAT_NUMBER>/at/<INDEX>/content
Description
The content of the inscription at <INDEX>
on a sat. <INDEX>
may be a negative number to index from the back. 0
being the first and -1
being the most recent. Requires index with --index-sats
flag.
예제
Fetch the content of the most recently created inscription on sat 289488340427831.
curl -s \
http://0.0.0.0:80/r/sat/289488340427831/at/-1/content
Hello, world!
GET
/r/tx/<TRANSACTION_ID>
Description
Get hex-encoded transaction with <TRANSACTION_ID>
. In the event of a future change to Bitcoin that changes transaction serialization in a backwards-incompatible fashion, such as SegWit, this endpoint is guaranteed to remain backwards compatible.
예제
curl -s http://0.0.0.0:80/r/tx/60bcf821240064a9c55225c4f01711b0ebbcab39aa3fafeefe4299ab158536fa
"0100000000010183572872dcb32bee57003d53c2b8dbb5bc5819ff6478052599911f7778d1c7bd0000000000fdffffff011027000000000000225120e41e0cba05c6ac797cf543ff9a6c619a91a53813e59146d1e32ea89747b111a603407aa50d93d6fc01265fd52d3edc93af4e009ccc1a704ce1b5cb8ede1412a5df31eba587d080b3dc903ceb9002ed9d921aad323fd44d7b4dc2a1ad2ea12d4360424d20c7a3a38df198a4fcde7d5dac5819ed19ff4d25bb893c9511f8e1f51d59326effac0063036f7264010118746578742f706c61696e3b636861727365743d7574662d3800077072696d65730a6821c1c7a3a38df198a4fcde7d5dac5819ed19ff4d25bb893c9511f8e1f51d59326eff00000000"
GET
/r/utxo/<OUTPOINT>
Description
Get assets held by an unspent transaction output.
Examples
Unspent transaction output with server without any indices:
curl -s \
http://0.0.0.0:80/r/utxo/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b:0
{
"inscriptions": null,
"runes": null,
"sat_ranges": null,
"value": 5000000000
}
With rune, inscription, and sat index:
curl -s \
http://0.0.0.0:80/r/utxo/626860df36c1047194866c6812f04c15ab84f3690e7cc06fd600c841f1943e05:0
{
"inscriptions": [
"6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0"
],
"runes": {
"UNCOMMON•GOODS": {
"amount": 6845,
"divisibility": 0,
"symbol": "⧉"
}
},
"sat_ranges": [
[
1905800627509113,
1905800627509443
]
],
"value": 330
}
Note: <SAT_NUMBER>
only allows the actual number of a sat no other sat notations like degree, percentile or decimal. We may expand to allow those in the future.
Responses from most of the above recursive endpoints are JSON. For backwards compatibility, some endpoints are supported which only return plain-text responses.
/blockheight
: 최신 블록 높이./blockhash
: 최신 블록 해시./blockhash/<HEIGHT>
: 주어진 블록 높이에 블록 해시./blocktime
: 최신 블록의 UNIX 타임스탬프.
See examples for on-chain examples of inscriptions that feature this functionality.
Rendering
Aspect Ratio
Inscriptions should be rendered with a square aspect ratio. Non-square aspect ratio inscriptions should not be cropped, and should instead be centered and resized to fit within their container.
Maximum Size
The ord
explorer, used by ordinals.com, displays inscription previews with a maximum size of 576 by 576 pixels, making it a reasonable choice when choosing a maximum display size.
Image Rendering
The CSS image-rendering
property controls how images are resampled when upscaled and downscaled.
When downscaling image inscriptions, image-rendering: auto
, should be used. This is desirable even when downscaling pixel art.
When upscaling image inscriptions other than AVIF, image-rendering: pixelated
should be used. This is desirable when upscaling pixel art, since it preserves the sharp edges of pixels. It is undesirable when upscaling non-pixel art, but should still be used for visual compatibility with the ord
explorer.
When upscaling AVIF and JPEG XL inscriptions, image-rendering: auto
should be used. This allows inscribers to opt-in to non-pixelated upscaling for non-pixel art inscriptions. Until such time as JPEG XL is widely supported by browsers, it is not a recommended image format.
URIs
This document is a draft. It should be considered provisional and subject to change at any time. The ord:
schema has not been registered with the IANA.
Inscriptions content can be addressed with inscription URIs using the ord:
schema.
Inscription URIs consist of ord:
followed by a target inscription ID. ord:
is not followed by //
, since the schema-specific part of inscription URIs, namely the target inscription ID, does not contain a hierarchical structure.
For example, the inscription URI of the genesis inscription is:
ord:6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
Inscription URIs match the following verbose regular expression:
(?i) # case-insensitive
ord: # schema
[0-9a-f]{64} # transaction ID
i # separator
(0|[1-9][0-9]*) # inscription index
Inscription URIs are case-insensitive and can thus use the more compact alphanumeric mode when encoded as QR codes. Lowercase is, however, the preferred presentation style.
The referent of an inscription URI is an HTTP resource with the content, content type, content encoding, and content length corresponding to the inscription with the given ID.
The referent of an inscription URI is always the original content of the target inscription, and not the content of the delegate, regardless of whether or not the target inscription has a delegate.
Inscription Examples
Delegate
- The first delegate inscription.
- The Oscillations * collection utilizes delegation, provenance, recursion, sat endpoint, and detects the kind of sat that each piece is inscribed on (sattribute-aware). Each piece is a delegate of this inscription.
- This inscription was inscribed as a delegate of this inscription and is also the parent inscription of a rune.
메타 데이터
- Each member in the FUN collection has metadata that describes its attributes.
- This inscription uses its own metadata to draw the ordinal image.
기원
- Inscription 0 is the parent inscription for Casey's sugar skull collection, a grandparent for the FUN! collection, and the grandparent for the sleepiest rune.
- With the Rug Me collection, owners are able to change the background color by inscribing a child to it.
- This Bitcoin Magazine Cover renders the children as part of the parent inscription.
- The yellow_ord_bot has many different quotes as cursed children.
- The Spellbound collection from the Wizard of Ord utilizes recursion, delegation, metadata, provenance, postage, location, compression.
리커젼
- Inscription 12992 was the first recursive inscription inscribed on mainnet.
- OnChain Monkey Genesis (BTC) was one of the earliest collections to use recursion to create its PFP art.
- Blob is a recursive generative collection that seeds its generation with metadata and uses threeJS, React 3 Fiber and other libraries recursively.
- The GPU Ordinals collection takes recursive content and transforms it before rendering, creating what is termed as 'super-recursion'. Use Google Chrome and headphones to experience the spatial audio.
- The Abstractii Genesis collection uses the inscriptions ID as a seed to generate its art.
- The Abstractii Evolved generative collection uses the recursive blockheight endpoint as a seed to generate its art.
- This code is called recursively in this inscription to generate music.
- This code is called recursively in this inscription, allowing it to function as a pixel art drawing program.
Runes
Runes allow Bitcoin transactions to etch, mint, and transfer Bitcoin-native digital commodities.
Whereas every inscription is unique, every unit of a rune is the same. They are interchangeable tokens, fit for a variety of purposes.
Runestones
Rune protocol messages, called runestones, are stored in Bitcoin transaction outputs.
A runestone output's script pubkey begins with an OP_RETURN
, followed by OP_13
, followed by zero or more data pushes. These data pushes are concatenated and decoded into a sequence of 128-bit integers, and finally parsed into a runestone.
A transaction may have at most one runestone.
A runestone may etch a new rune, mint an existing rune, and transfer runes from a transaction's inputs to its outputs.
A transaction output may hold balances of any number of runes.
Runes are identified by IDs, which consist of the block in which a rune was etched and the index of the etching transaction within that block, represented in text as BLOCK:TX
. For example, the ID of the rune etched in the 20th transaction of the 500th block is 500:20
.
Etching
Runes come into existence by being etched. Etching creates a rune and sets its properties. Once set, these properties are immutable, even to its etcher.
Name
Names consist of the letters A through Z and are between one and twenty-six letters long. For example UNCOMMONGOODS
is a rune name.
Names may contain spacers, represented as bullets, to aid readability. UNCOMMONGOODS
might be etched as UNCOMMON•GOODS
.
The uniqueness of a name does not depend on spacers. Thus, a rune may not be etched with the same sequence of letters as an existing rune, even if it has different spacers.
Spacers can only be placed between two letters. Finally, spacers do not count towards the letter count.
Divisibility
A rune's divisibility is how finely it may be divided into its atomic units. Divisibility is expressed as the number of digits permissible after the decimal point in an amount of runes. A rune with divisibility 0 may not be divided. A unit of a rune with divisibility 1 may be divided into ten sub-units, a rune with divisibility 2 may be divided into a hundred, and so on.
Symbol
A rune's currency symbol is a single Unicode code point, for example $
, ⧉
, or 🧿
, displayed after quantities of that rune.
101 atomic units of a rune with divisibility 2 and symbol 🧿
would be rendered as 1.01 🧿
.
If a rune does not have a symbol, the generic currency sign ¤
, also called a scarab, should be used.
Premine
The etcher of a rune may optionally allocate to themselves units of the rune being etched. This allocation is called a premine.
Terms
A rune may have an open mint, allowing anyone to create and allocate units of that rune for themselves. An open mint is subject to terms, which are set upon etching.
A mint is open while all terms of the mint are satisfied, and closed when any of them are not. For example, a mint may be limited to a starting height, an ending height, and a cap, and will be open between the starting height and ending height, or until the cap is reached, whichever comes first.
Cap
The number of times a rune may be minted is its cap. A mint is closed once the cap is reached.
Amount
Each mint transaction creates a fixed amount of new units of a rune.
Start Height
A mint is open starting in the block with the given start height.
End Height
A rune may not be minted in or after the block with the given end height.
Start Offset
A mint is open starting in the block whose height is equal to the start offset plus the height of the block in which the rune was etched.
End Offset
A rune may not be minted in or after the block whose height is equal to the end offset plus the height of the block in which the rune was etched.
Minting
While a rune's mint is open, anyone may create a mint transaction that creates a fixed amount of new units of that rune, subject to the terms of the mint.
Transferring
When transaction inputs contain runes, or new runes are created by a premine or mint, those runes are transferred to that transaction's outputs. A transaction's runestone may change how input runes transfer to outputs.
Edicts
A runestone may contain any number of edicts. Edicts consist of a rune ID, an amount, and an output number. Edicts are processed in order, allocating unallocated runes to outputs.
Pointer
After all edicts are processed, remaining unallocated runes are transferred to the transaction's first non-OP_RETURN
output. A runestone may optionally contain a pointer that specifies an alternative default output.
Burning
Runes may be burned by transferring them to an OP_RETURN
output with an edict or pointer.
Cenotaphs
Runestones may be malformed for a number of reasons, including non-pushdata opcodes in the runestone OP_RETURN
, invalid varints, or unrecognized runestone fields.
Malformed runestones are termed cenotaphs.
Runes input to a transaction with a cenotaph are burned. Runes etched in a transaction with a cenotaph are set as unmintable. Mints in a transaction with a cenotaph count towards the mint cap, but the minted runes are burned.
Cenotaphs are an upgrade mechanism, allowing runestones to be given new semantics that change how runes are created and transferred, while not misleading unupgraded clients as to the location of those runes, as unupgraded clients will see those runes as having been burned.
Runes Does Not Have a Specification
The Runes reference implementation, ord
, is the normative specification of the Runes protocol.
Nothing you read here or elsewhere, aside from the code of ord
, is a specification. This prose description of the runes protocol is provided as a guide to the behavior of ord
, and the code of ord
itself should always be consulted to confirm the correctness of any prose description.
If, due to a bug in ord
, this document diverges from the actual behavior of ord
and it is impractically disruptive to change ord
's behavior, this document will be amended to agree with ord
's actual behavior.
Users of alternative implementations do so at their own risk, and services wishing to integrate Runes are strongly encouraged to use ord
itself to make Runes transactions, and to determine the state of runes, mints, and balances.
Runestones
Rune protocol messages are termed "runestones".
The Runes protocol activates on block 840,000. Runestones in earlier blocks are ignored.
Abstractly, runestones contain the following fields:
#![allow(unused)] fn main() { struct Runestone { edicts: Vec<Edict>, etching: Option<Etching>, mint: Option<RuneId>, pointer: Option<u32>, } }
Runes are created by etchings:
#![allow(unused)] fn main() { struct Etching { divisibility: Option<u8>, premine: Option<u128>, rune: Option<Rune>, spacers: Option<u32>, symbol: Option<char>, terms: Option<Terms>, } }
Which may contain mint terms:
#![allow(unused)] fn main() { struct Terms { amount: Option<u128>, cap: Option<u128>, height: (Option<u64>, Option<u64>), offset: (Option<u64>, Option<u64>), } }
Runes are transferred by edict:
#![allow(unused)] fn main() { struct Edict { id: RuneId, amount: u128, output: u32, } }
Rune IDs are encoded as the block height and transaction index of the transaction in which the rune was etched:
#![allow(unused)] fn main() { struct RuneId { block: u64, tx: u32, } }
Rune IDs are represented in text as BLOCK:TX
.
Rune names are encoded as modified base-26 integers:
#![allow(unused)] fn main() { struct Rune(u128); }
Deciphering
Runestones are deciphered from transactions with the following steps:
-
Find the first transaction output whose script pubkey begins with
OP_RETURN OP_13
. -
Concatenate all following data pushes into a payload buffer.
-
Decode a sequence 128-bit LEB128 integers from the payload buffer.
-
Parse the sequence of integers into an untyped message.
-
Parse the untyped message into a runestone.
Deciphering may produce a malformed runestone, termed a cenotaph.
Locating the Runestone Output
Outputs are searched for the first script pubkey that beings with OP_RETURN OP_13
. If deciphering fails, later matching outputs are not considered.
Assembling the Payload Buffer
The payload buffer is assembled by concatenating data pushes, after OP_13
, in the matching script pubkey.
Data pushes are opcodes 0 through 78 inclusive. If a non-data push opcode is encountered, i.e., any opcode equal to or greater than opcode 79, the deciphered runestone is a cenotaph with no etching, mint, or edicts.
Decoding the Integer Sequence
A sequence of 128-bit integers are decoded from the payload as LEB128 varints.
LEB128 varints are encoded as sequence of bytes, each of which has the most-significant bit set, except for the last.
If a LEB128 varint contains more than 18 bytes, would overflow a u128, or is truncated, meaning that the end of the payload buffer is reached before encountering a byte with the continuation bit not set, the decoded runestone is a cenotaph with no etching, mint, or edicts.
Parsing the Message
The integer sequence is parsed into an untyped message:
#![allow(unused)] fn main() { struct Message { fields: Map<u128, Vec<u128>>, edicts: Vec<Edict>, } }
The integers are interpreted as a sequence of tag/value pairs, with duplicate tags appending their value to the field value.
If a tag with value zero is encountered, all following integers are interpreted as a series of four-integer edicts, each consisting of a rune ID block height, rune ID transaction index, amount, and output.
#![allow(unused)] fn main() { struct Edict { id: RuneId, amount: u128, output: u32, } }
Rune ID block heights and transaction indices in edicts are delta encoded.
Edict rune ID decoding starts with a base block height and transaction index of zero. When decoding each rune ID, first the encoded block height delta is added to the base block height. If the block height delta is zero, the next integer is a transaction index delta. If the block height delta is greater than zero, the next integer is instead an absolute transaction index.
This implies that edicts must first be sorted by rune ID before being encoded in a runestone.
For example, to encode the following edicts:
block | TX | amount | output |
---|---|---|---|
10 | 5 | 5 | 1 |
50 | 1 | 25 | 4 |
10 | 7 | 1 | 8 |
10 | 5 | 10 | 3 |
They are first sorted by block height and transaction index:
block | TX | amount | output |
---|---|---|---|
10 | 5 | 5 | 1 |
10 | 5 | 10 | 3 |
10 | 7 | 1 | 8 |
50 | 1 | 25 | 4 |
And then delta encoded as:
block delta | TX delta | amount | output |
---|---|---|---|
10 | 5 | 5 | 1 |
0 | 0 | 10 | 3 |
0 | 2 | 1 | 8 |
40 | 1 | 25 | 4 |
If an edict output is greater than the number of outputs of the transaction, an edict rune ID is encountered with block zero and nonzero transaction index, or a field is truncated, meaning a tag is encountered without a value, the decoded runestone is a cenotaph.
Note that if a cenotaph is produced here, the cenotaph is not empty, meaning that it contains the fields and edicts, which may include an etching and mint.
Parsing the Runestone
The runestone:
#![allow(unused)] fn main() { struct Runestone { edicts: Vec<Edict>, etching: Option<Etching>, mint: Option<RuneId>, pointer: Option<u32>, } }
Is parsed from the unsigned message using the following tags:
#![allow(unused)] fn main() { enum Tag { Body = 0, Flags = 2, Rune = 4, Premine = 6, Cap = 8, Amount = 10, HeightStart = 12, HeightEnd = 14, OffsetStart = 16, OffsetEnd = 18, Mint = 20, Pointer = 22, Cenotaph = 126, Divisibility = 1, Spacers = 3, Symbol = 5, Nop = 127, } }
Note that tags are grouped by parity, i.e., whether they are even or odd. Unrecognized odd tags are ignored. Unrecognized even tags produce a cenotaph.
All unused tags are reserved for use by the protocol, may be assigned at any time, and should not be used.
Body
The Body
tag marks the end of the runestone's fields, causing all following integers to be interpreted as edicts.
Flags
The Flag
field contains a bitmap of flags, whose position is 1 << FLAG_VALUE
:
#![allow(unused)] fn main() { enum Flag { Etching = 0, Terms = 1, Turbo = 2, Cenotaph = 127, } }
The Etching
flag marks this transaction as containing an etching.
The Terms
flag marks this transaction's etching as having open mint terms.
The Turbo
flag marks this transaction's etching as opting into future protocol changes. These protocol changes may increase light client validation costs, or just be highly degenerate.
The Cenotaph
flag is unrecognized.
If the value of the flags field after removing recognized flags is nonzero, the runestone is a cenotaph.
Rune
The Rune
field contains the name of the rune being etched. If the Etching
flag is set but the Rune
field is omitted, a reserved rune name is allocated.
Premine
The Premine
field contains the amount of premined runes.
Cap
The Cap
field contains the allowed number of mints.
Amount
The Amount
field contains the amount of runes each mint transaction receives.
HeightStart and HeightEnd
The HeightStart
and HeightEnd
fields contain the mint's starting and ending absolute block heights, respectively. The mint is open starting in the block with height HeightStart
, and closes in the block with height HeightEnd
.
OffsetStart and OffsetEnd
The OffsetStart
and OffsetEnd
fields contain the mint's starting and ending block heights, relative to the block in which the etching is mined. The mint is open starting in the block with height OffsetStart
+ ETCHING_HEIGHT
, and closes in the block with height OffsetEnd
+ ETCHING_HEIGHT
.
Mint
The Mint
field contains the Rune ID of the rune to be minted in this transaction.
Pointer
The Pointer
field contains the index of the output to which runes unallocated by edicts should be transferred. If the Pointer
field is absent, unallocated runes are transferred to the first non-OP_RETURN
output. If the pointer is greater than the number of outputs, the runestone is a cenotaph.
Cenotaph
The Cenotaph
field is unrecognized.
Divisibility
The Divisibility
field, raised to the power of ten, is the number of subunits in a super unit of runes.
For example, the amount 1234
of different runes with divisibility 0 through 3 is displayed as follows:
Divisibility | Display |
---|---|
0 | 1234 |
1 | 123.4 |
2 | 12.34 |
3 | 1.234 |
Spacers
The Spacers
field is a bitfield of •
spacers that should be displayed between the letters of the rune's name.
The Nth field of the bitfield, starting from the least significant, determines whether or not a spacer should be displayed between the Nth and N+1th character, starting from the left of the rune's name.
For example, the rune name AAAA
rendered with different spacers:
Spacers | Display |
---|---|
0b1 | A•AAA |
0b11 | A•A•AA |
0b10 | AA•AA |
0b111 | A•A•A•A |
Trailing spacers are ignored.
Symbol
The Symbol
field is the Unicode codepoint of the Rune's currency symbol, which should be displayed after amounts of that rune. If a rune does not have a currency symbol, the generic currency character ¤
should be used.
For example, if the Symbol
is #
and the divisibility is 2, the amount of 1234
units should be displayed as 12.34 #
.
Nop
The Nop
field is unrecognized.
Cenotaphs
Cenotaphs have the following effects:
-
All runes input to a transaction containing a cenotaph are burned.
-
If the runestone that produced the cenotaph contained an etching, the etched rune has supply zero and is unmintable.
-
If the runestone that produced the cenotaph is a mint, the mint counts against the mint cap and the minted runes are burned.
Cenotaphs may be created if a runestone contains an unrecognized even tag, an unrecognized flag, an edict with an output number greater than the number of inputs, a rune ID with block zero and nonzero transaction index, a malformed varint, a non-datapush instruction in the runestone output script pubkey, a tag without a following value, or trailing integers not part of an edict.
Executing the Runestone
Runestones are executed in the order their transactions are included in blocks.
Etchings
A runestone may contain an etching:
#![allow(unused)] fn main() { struct Etching { divisibility: Option<u8>, premine: Option<u128>, rune: Option<Rune>, spacers: Option<u32>, symbol: Option<char>, terms: Option<Terms>, } }
rune
is the name of the rune to be etched, encoded as modified base-26 integer.
Rune names consist of the letters A through Z, with the following encoding:
Name | Encoding |
---|---|
A | 0 |
B | 1 |
… | … |
Y | 24 |
Z | 25 |
AA | 26 |
AB | 27 |
… | … |
AY | 50 |
AZ | 51 |
BA | 52 |
And so on and so on.
Rune names AAAAAAAAAAAAAAAAAAAAAAAAAAA
and above are reserved.
If rune
is omitted a reserved rune name is allocated as follows:
#![allow(unused)] fn main() { fn reserve(block: u64, tx: u32) -> Rune { Rune( 6402364363415443603228541259936211926 + (u128::from(block) << 32 | u128::from(tx)) ) } }
6402364363415443603228541259936211926
corresponds to the rune name AAAAAAAAAAAAAAAAAAAAAAAAAAA
.
If rune
is present, it must be unlocked as of the block in which the etching appears.
Initially, all rune names of length thirteen and longer, up until the first reserved rune name, are unlocked.
Runes begin unlocking in block 840,000, the block in which the runes protocol activates.
Thereafter, every 17,500 block period, the next shortest length of rune names is continuously unlocked. So, between block 840,000 and block 857,500, the twelve-character rune names are unlocked, between block 857,500 and block 875,000 the eleven character rune names are unlocked, and so on and so on, until the one-character rune names are unlocked between block 1,032,500 and block 1,050,000. See the ord
codebase for the precise unlocking schedule.
To prevent front running an etching that has been broadcast but not mined, if a non-reserved rune name is being etched, the etching transaction must contain a valid commitment to the name being etched.
A commitment consists of a data push of the rune name, encoded as a little-endian integer with trailing zero bytes elided, present in an input witness tapscript where the output being spent has at least six confirmations.
If a valid commitment is not present, the etching is ignored.
Minting
A runestone may mint a rune by including the rune's ID in the Mint
field.
If the mint is open, the mint amount is added to the unallocated runes in the transaction's inputs. These runes may be transferred using edicts, and will otherwise be transferred to the first non-OP_RETURN
output, or the output designated by the Pointer
field.
Mints may be made in any transaction after an etching, including in the same block.
Transferring
Runes are transferred by edict:
#![allow(unused)] fn main() { struct Edict { id: RuneId, amount: u128, output: u32, } }
A runestone may contain any number of edicts, which are processed in sequence.
Before edicts are processed, input runes, as well as minted or premined runes, if any, are unallocated.
Each edict decrements the unallocated balance of rune id
and increments the balance allocated to transaction outputs of rune id
.
If an edict would allocate more runes than are currently unallocated, the amount
is reduced to the number of currently unallocated runes. In other words, the edict allocates all remaining unallocated units of rune id
.
Because the ID of an etched rune is not known before it is included in a block, ID 0:0
is used to mean the rune being etched in this transaction, if any.
An edict with amount
zero allocates all remaining units of rune id
.
An edict with output
equal to the number of transaction outputs allocates amount
runes to each non-OP_RETURN
output in order.
An edict with amount
zero and output
equal to the number of transaction outputs divides all unallocated units of rune id
between each non-OP_RETURN
output. If the number of unallocated runes is not divisible by the number of non-OP_RETURN
outputs, 1 additional rune is assigned to the first R
non-OP_RETURN
outputs, where R
is the remainder after dividing the balance of unallocated units of rune id
by the number of non-OP_RETURN
outputs.
If any edict in a runestone has a rune ID with block
zero and tx
greater than zero, or output
greater than the number of transaction outputs, the runestone is a cenotaph.
Note that edicts in cenotaphs are not processed, and all input runes are burned.
Satscard
Satscards are cards which can be used to store bitcoin, inscriptions, and runes.
Slots
Each satscard has ten slots containing private keys with corresponding bitcoin addresses.
Initially, all slots are sealed and the private keys are stored only the satscard.
Slots can be unsealed, which allows the corresponding private key to be extracted.
Unsealing is permanent. If a satscard is sealed, you can have some confidence that private key is not known to anyone. That taking physical ownership of a satscard makes you the sole owner of assets in any sealed slots.
Lifespan
Satscards are expected to have a usable lifetime of ten years. Do not use satscards for long-term storage of valuable assets.
Viewing
When placed on a smartphone, the satscard transmits a URL, beginning with https://satscard.com/start
or https://getsatscard.com/start
, depending on when it was manufactured.
This URL contains a signature which can be used to recover the address of the current slot. This signature is made over a random nonce, so it changes every time the satscard is tapped, and provides some confidence that the satscard contains the private key.
ord
supports viewing the contents of a satscard by entering the full URL into the ord
explorer search bar, or the input field on the /satscard
page.
For ordinals.com
, this is ordinals.com/satscard.
Unsealing
Satscard slots can be unsealed and the private keys extracted using the cktap
binary, available in the coinkite-tap-proto repository.
Sweeping
After a satscard slot is unsealed, all assets should be swept from that slot to another wallet, as the private key can now be read via NFC.
ord
does not yet support sweeping assets from other wallets, so assets will need to be transferred manually.
Be careful, and good luck!
오디널 이론 자주 묻는 질문 (FAQ)
오디널 이론이란 무엇인가?
오디널 이론은 비트코인의 가장 작은 단위인 사토시에 일련번호를 할당하고 트랜잭션에서 사토시가 사용될 때 이를 추적하는 프로토콜이다.
이 일련번호는 예를 들어 804766073970493같이 큰 숫자이다. 비트코인의 ¹⁄₁₀₀₀₀₀₀₀₀₀인 모든 사토시에는 서수 번호가 있다.
오디널 이론은 사이드 체인, 별도의 토큰 또는 비트코인 변경을 필요로 하는가?
아니다! 오디널 이론은 현재 사이드 체인 없이도 작동하며, 필요한 유일한 토큰은 비트코인 자체이다.
오디널 이론의 장점은 무엇인가?
수집, 거래, 그리고 계획. 오디널 이론은 개별 사토시에게 신원을 부여하여 개별적으로 추적하고 수집품이나 화폐적 가치를 위해 거래할 수 있도록 한다.
오디널 이론은 또한 개별 사토시에 임의의 콘텐츠를 첨부하여 비트코인 고유의 디지털 아티팩트로 전환하는 프로토콜인 인스크립션을 가능하게 한다.
오디널 이론은 어떻게 작동하는가?
서수 번호는 채굴된 순서대로 사토시에 할당된다. 첫 번째 블록의 첫 번째 사토시는 서수 번호 0, 두 번째 사토시는 서수 번호 1, 첫 번째 블록의 마지막 사토시는 서수 번호 4,999,999,999를 갖는다.
사토시는 출력(output)에 존재하지만 트랜잭션은 출력을 파괴하고 새로운 출력을 생성하므로 오디널 이론은 알고리즘을 사용해 사토시가 트랜잭션의 입력에서 출력으로 이동하는 방식을 결정한다.
다행히도 이 알고리즘은 매우 간단하다.
사토시는 선입선출 순서로 전송된다. 트랜잭션의 입력은 사토시에 대한 목록으로, 출력은 사토시 수신을 기다리는 슬롯 목록으로 생각해 보자. 입력 사토시를 슬롯에 할당하려면 입력에 있는 각 사토시를 순서대로 가장 먼저 사용 가능한 출력 슬롯에 할당한다.
3개의 입력과 2개의 출력이 있는 트랜잭션을 가정해 보자. 입력은 화살표 왼쪽에 있고 출력은 오른쪽에 있으며 모두 값으로 레이블이 지정되어 있다:
[2] [1] [3] → [4] [2]
이제 동일한 트랜잭션에 각 입력에 포함된 사토시의 서수 번호와 각 출력 슬롯에 물음표로 레이블을 지정해 보자. 서수 번호는 크기가 크므로 문자로 표현해 보자:
[a b] [c] [d e f] → [? ? ? ?] [? ?]
어떤 사토시가 어떤 출력으로 이동하는지 파악하려면 입력된 사토시를 순서대로 살펴보고 각각 물음표에 할당하면 된다:
[a b] [c] [d e f] → [a b c d] [e f]
수수료는 어떻게 되는가? 좋은 질문이다! 동일한 트랜잭션에 이번에는 2사토시 수수료가 있다고 가정해 보자. 수수료가 있는 트랜잭션은 출력에서 받는 것보다 더 많은 사토시를 입력으로 전송하므로, 수수료를 지불하는 트랜잭션으로 만들기 위해 두 번째 출력을 제거하자:
[2] [1] [3] → [4]
The satoshis e and f now have nowhere to go in the outputs:
[a b] [c] [d e f] → [a b c d]
따라서 블록을 채굴한 채굴자에게 수수료로 지급된다. BIP에 자세한 내용이 나와 있지만, 간단히 말해 트랜잭션이 지불한 수수료는 코인베이스 트랜잭션에 대한 추가 입력으로 취급되며, 이의 순서는 해당 트랜잭션이 블록에서 어떻게 정렬되는지에 따라서 정해진다. 해당 블록의 코인베이스 트랜잭션은 다음과 같이 보일 수 있다:
[SUBSIDY] [e f] → [SUBSIDY e f]
핵심적인 세부 정보는 어디에서 찾을 수 있는가?
SAT 인스크립션을 "NFT"가 아닌 "디지털 아티팩트"라고 부르는 이유는 무엇인가?
인스크립션은 NFT이지만, 단순하고 시사하는 바가 많으며 친숙하기 때문에 대신 "디지털 아티팩트"라는 용어를 사용한다.
"디지털 아티팩트"라는 문구는 이 용어를 처음 들어본 사람에게도 매우 시사하는 바가 많은 표현이다. 이에 비해 NFT는 약어이며, 이 용어를 처음 들어본 사람이라면 무슨 뜻인지 알 수 없다.
또한 “NFT”(대체 불가능 토큰)는 금융 용어처럼 느껴지며, 여기서 쓰여지는 “대체 가능한”이라는 단어와 “토큰”이라는 단어의 의미 모두 금융적인 상황을 제외하고는 그 쓰임이 흔하지 않다.
SAT 인스크립션을 다음과 비교하면…
이더리움 NFT?
인스크립션은 항상 불변한다.
인스크립이 생성된 후에는 작성자나 소유자가 이를 수정할 수 있는 방법이 없다.
이더리움 NFT는 불변하는 것이 가능 하지만, 많은 경우 불변하지 않으며, 스마트 컨트랙트 소유자가 변경하거나 삭제할 수 있다.
특정 이더리움 NFT가 변경 불가능한지 확인하려면 컨트랙트 코드를 감사해야 하며, 이를 위해서는 EVM과 솔리디티 시맨틱에 대한 자세한 지식이 필요하다.
기술 전문가가 아닌 사용자가 특정 이더리움 NFT가 변경 가능한지 또는 변경 불가능한지 여부를 판단하는 것은 매우 어렵고, 이더리움 NFT 플랫폼은 NFT가 변경 가능한지 또는 변경 불가능한지, 컨트랙트 소스 코드가 확인 가능하고 감사를 받았는지 여부를 구분하기 위해 노력하지 않는다.
인스크립션 콘텐츠는 항상 온체인에 있다.
인스크립션은 오프체인 콘텐츠를 참조할 수 있는 방법이 없다. 따라서 콘텐츠가 손실되지 않기 때문에 인스크립션의 내구성이 높아지고, 인스크립션 작성자가 콘텐츠 크기에 비례하는 수수료를 지불해야 하기 때문에 희소성이 높아진다.
일부 이더리움 NFT 콘텐츠는 온체인에 있지만, 대부분은 오프체인에 있으며, IPFS나 Arweave와 같은 플랫폼이나 기존의 완전히 중앙화된 웹 서버에 저장되어 있다. IPFS에 저장된 콘텐츠는 지속적 사용이 보장되지 않으며, IPFS에 저장된 일부 NFT 콘텐츠는 이미 손실된 바 있다. Arweave와 같은 플랫폼은 취약한 경제적 가정에 의존하고 있으며, 이러한 경제적 가정이 더 이상 충족되지 않으면 파국적으로 실패할 가능성이 높다. 중앙화된 웹 서버는 언제든 사라질 수 있다.
평범한 사용자가 특정 이더리움 NFT의 콘텐츠가 어디에 저장되어 있는지 파악하는 것은 매우 어렵다.
인스크립션은 훨씬 더 간단하다.
이더리움 NFT는 이더리움 네트워크와 가상 머신에 의존하며 이는 매우 복잡하고 끊임없이 변화하며, 이전 버전과 호환되지 않는 하드포크를 통해 변경 사항을 도입한다.
반면에 인스크립션은 비트코인 블록체인에 의존하며 이는 상대적으로 단순하고 보수적이며 이전 버전과 호환되는 소프트 포크를 통해 변경 사항을 도입한다.
인스크립션이 더 안전하다.
인스크립션은 비트코인의 트랜잭션 모델을 이어받아 사용자가 서명하기 전에 트랜잭션이 전송하는 인스크립션을 정확히 확인할 수 있다. 인스크립션은 부분적으로 서명된 트랜잭션(PSBT)을 사용하여 판매할 수 있으며, 거래소나 마켓플레이스와 같은 제3자가 사용자를 대신하여 전송하도록 허용할 필요가 없다.
이에 비해 이더리움 NFT는 최종 사용자 보안 취약점으로 골머리를 앓고 있다. 트랜잭션에 블라인드 서명을 하고, 제3자 앱에 사용자 NFT에 대한 무제한 권한을 부여하고, 복잡하고 예측할 수 없는 스마트 콘트랙트와 상호작용하는 것은 흔한 일이다. 이는 이더리움 NFT 사용자에게 위험의 지뢰밭을 만들며, 이는 오디널 이론가들에게는 전혀 문제가 되지 않는다.
인스크립션은 더 희귀하다.
인스크립션을 발행하고, 전송하고, 보관하려면 비트코인이 필요하다. 이는 겉으로 보기에는 단점처럼 보이지만, 디지털 아티팩트의 존재 이유는 희소성이 높고 따라서 가치 있는 것이 되는 것이다.
반면, 이더리움 NFT는 한 번의 트랜잭션으로 사실상 무제한으로 발행할 수 있으므로 이는 본질적으로 그 희소성을 낮추고 따라서 잠재적으로 그 가치를 떨어뜨릴 수 있다.
인스크립션은 온체인 로열티를 지원하는 것처럼 가장하지 않는다.
온체인 로열티는 이론적으로는 좋은 아이디어이지만 실제로는 그렇지 않다. 복잡하고 침해적 제한 없이는 온체인에서 로열티 지급을 시행할 수 없다. 현재 이더리움 NFT 생태계는 로열티에 대한 혼란으로 어려움을 겪고 있으며, 플랫폼들이 경쟁적으로 로열티 지원을 없애고 있는 가운데 아티스트들에게 NFT의 장점으로 얘기되었던 온체인 로열티가 불가능하다는 현실을 공동으로 인식하고 있다.
인스크립션은 온체인 로열티 지원에 대한 거짓 약속을 하지 않음으로써 이러한 상황을 완전히 피하여 이더리움 NFT 상황의 혼란, 혼돈, 부정적 영향을 피할 수 있다.
인스크립션은 새로운 시장을 열어준다.
비트코인의 시가총액과 유동성은 이더리움보다 큰 폭으로 높다. 많은 비트코인 사용자는 단순성, 보안, 탈중앙화와 관련된 우려로 인해 이더리움 생태계와 상호작용하지 않는 것을 선호하기 때문에 이더리움 NFT에는 이러한 유동성의 상당 부분이 제공되지 않는다.
이러한 비트코인 사용자들은 이더리움 NFT보다 인스크립션에 더 관심을 가질 수 있으며, 새로운 종류의 수집가가 생겨나게 할 수 있다.
인스크립션에는 더 풍부한 데이터 모델이 있다.
인스크립션은 MIME 유형이라고도 하는 콘텐츠 유형과 임의의 바이트 문자열(string)인 콘텐츠로 구성된다. 이는 웹에서 사용되는 것과 동일한 데이터 모델이며, 인스크립션 콘텐츠가 웹과 함께 진화하여 기본 프로토콜을 변경하지 않고도 웹 브라우저에서 지원하는 모든 종류의 콘텐츠를 지원할 수 있도록 한다.
RGB 및 타로(Taro) 자산?
RGB와 타로는 모두 비트코인에 기반한 레이어2 자산 프로토콜이다. 인스크립션과 비교하면 훨씬 더 복잡하지만 훨씬 더 많은 기능을 갖추고 있다.
오디널 이론은 처음부터 디지털 아티팩트를 위해 설계된 반면, RGB와 타로의 주요 사용 사례는 대체 가능한 토큰이므로 인스크립션에 대한 사용자 경험은 RGB와 타로 NFT의 사용자 경험보다 더 단순하고 세련될 가능성이 높다.
RGB와 타로는 모두 오프체인에 콘텐츠를 저장하기 때문에 추가 인프라가 필요하고 손실될 수 있다. 반면, 인스크립션 콘텐츠는 온체인에 저장되므로 손실될 가능성이 없다.
오디널 이론, RGB, 타로는 모두 초기 단계이므로 추측에 불과하지만, 오디널 이론의 초점이 더 나은 콘텐츠 모델 같은 디지털 아티팩트에 대한 기능 측면에서 그리고 전 세계적으로 고유한 심볼과 같은 기능 측면에서 우위를 점하게 해줄수 있다.
카운터파티 자산(Counterparty assets)?
카운터파티는 일부 기능에 필요한 자체 토큰인 XCP를 보유하고 있으며, 이로 인해 대부분의 비트코인 사용자들은 이를 비트코인의 확장 또는 세컨드 레이어가 아닌 알트코인으로 간주한다.
오디널 이론은 처음부터 디지털 아티팩트를 위해 설계된 반면, 카운터파티는 주로 금융 토큰 발행을 위해 설계되었다.
누굴 위한 인스크립션…
예술가
인스크립션은 비트코인에 있다. 비트코인은 가장 높은 지위와 장기적인 생존 가능성을 가진 디지털 통화이다. 여러분의 작품이 미래에도 살아남을 수 있도록 보장하고 싶다면 인스크립션으로 발행하는 것보다 더 좋은 방법은 없다.
더 저렴한 온체인 스토리지. BTC당 20,000달러 그리고 최소 릴레이 수수료는 vByte당 1 사토시 일 때, 인스크립션 콘텐츠를 발행하는 데 드는 비용은 100만 바이트당 50달러이다.
인스크립션은 이르다! 인스크립션은 아직 개발 중이며 아직 메인넷에 출시되지 않았다. 따라서 얼리어답터가 되어 매체가 발전해 나가는 과정을 살펴볼 수 있는 기회이다.
인스크립션은 간단하다. 인스크립션은 스마트 컨트랙트를 작성하거나 이해할 필요가 없다.
인스크립션은 새로운 유동성을 열어준다. 인스크립션은 비트코인 보유자가 더 쉽게 접근할 수 있고 매력적으로 보일 수 있으며, 완전히 새로운 종류의 수집가들이 등장하게 할 수 있다.
인스크립션은 디지털 아티팩트를 위해 설계되었다. 인스크립션은 처음부터 NFT를 지원하도록 설계되었으며, 더 나은 데이터 모델과 전 세계적으로 고유한 심볼, 향상된 출처 증명과 같은 기능을 갖추고 있다.
인스크립션은 온체인 로열티를 지원하지 않는다. 이는 부정적이지만, 어떻게 보느냐에 따라 다르다. 온체인 로열티는 크리에이터에게 큰 혜택이었지만, 이더리움 NFT 생태계에 엄청난 혼란을 야기하기도 했다. 이제 생태계는 이 문제와 씨름하고 있으며, 로열티가 선택적인 미래를 향해 바닥을 향한 경쟁을 벌이고 있다. 인스크립션은 기술적으로 실현 불가능하기 때문에 온체인 로열티를 지원하지 않는다. 인스크립션을 생성하기로 결정한 경우, 향후 판매를 위해 인스크립션의 일부를 보류하여 향후 가치 상승의 혜택을 받거나 선택적 로열티를 존중하는 사용자에게 혜택을 제공하는 등 여러 가지 방법으로 이 제한을 해결할 수 있다.
수집가
인스크립션은 간단하고 명확하며 놀랄 일이 없다. 인스크립션은 항상 불변하고 온체인이며 특별한 실사가 필요하지 않다.
인스크립션은 비트코인에 있다. 사용자가 제어하는 비트코인 풀 노드를 통해 인스크립션의 위치와 속성을 쉽게 확인할 수 있다.
비트코인 사용자
이 부분을 이렇게 시작하고자 한다: 비트코인 네트워크가 하는 가장 중요한 일은 화폐를 탈중앙화하는 것이다. 오디널 이론을 포함한 다른 모든 사용 사례는 부차적인 것이다. 오디널 이론의 개발자들은 이를 이해하고 인정하며, 오디널 이론이 비트코인의 주요 사명에 조금이라도 도움이 된다고 믿는다.
알트코인 공간의 다른 많은 것들과 달리 디지털 아티팩트에는 장점이 있다. 물론 추악하고 어리석고 사기적인 NFT도 많이 있다. 하지만 환상적으로 창의적인 예술품도 많이 있으며, 예술품을 만들고 수집하는 것은 인류의 시작부터 이어져 온 일이며, 고대 기술인 무역과 화폐보다 더 오래 전부터 존재해 왔다.
비트코인은 안전하고 탈중앙화된 방식으로 디지털 아티팩트를 만들고 수집할 수 있는 놀라운 플랫폼을 제공하며, 같은 이유로 가치를 주고받을 수 있는 놀라운 플랫폼을 제공하며 동시에 같은 방식으로 사용자와 예술가를 보호한다.
오디널과 인스크립션은 비트코인 블록 공간에 대한 수요를 증가시켜 비트코인의 보안 예산을 증가시키며, 이는 블록 보조금이 무의미한 값으로 반감 되는 상황에서 비트코인이 수수료 의존적 보안 모델로 전환하는 것을 보호하는 데 필수적이다.
인스크립션 콘텐츠는 온체인에 저장되며, 따라서 인스크립션에 사용되는 블록 공간에 대한 수요는 무제한이다. 이는 모든 비트코인 블록 공간에 대한 최종구매자를 만든다. 이는 비트코인이 안전하게 유지되는 것을 보장해 주는 강력한 수수료 시장을 지원하는 데 도움이 될 것이다.
인스크립션은 또한 비트코인을 확장하거나 새로운 사용 사례에 사용할 수 없다는 내러티브를 반박한다. DLC, 페디민트, 라이트닝, 타로, RGB와 같은 프로젝트를 팔로우하신다면 이 내러티브가 거짓이라는 것을 알고 있겠지만, 인스크립션 제시하는 반론은 이해하기 쉽고 이 반론은 대중적이고 검증된 사용 사례인 NFT를 대상으로 하기 때문에 이를 판독하기 쉽게 한다.
저자들의 바람대로 인스크립션이 풍부한 역사를 지닌 인기가 높은 디지털 아티팩트라는 것이 증명된다면, 인스크립션은 비트코인 채택의 강력한 밑밥 역할을 하게 될 것이다: 재미있고 풍부한 예술 때문에 와보고 탈중앙화된 디지털 화폐 때문에 머무르자.
인스크립션은 블록 공간에 대한 매우 양성적인 수요의 원천이다. 예를 들어, 잠재적으로 대규모 스테이블코인 발행자가 비트코인 개발의 미래에 영향력을 행사할 수 있게 할수 있는 스테이블코인이나, 비트코인에 MEV를 적용할 기회를 도입하여 채굴을 중앙화 시킬 수 있는 탈중앙 금융(DeFi)과 달리, 비트코인 디지털 아트와 수집품이 비트코인을 손상시킬 수 있는 충분한 힘을 가진 개별 주체를 만들어 낼 가능성은 희박하다. 예술은 탈중앙화되어 있다.
인스크립션 사용자와 서비스 제공자는 비트코인 풀 노드를 운영하고, 인스크립션을 발행하고 추적하여 정직한 체인에 경제적 힘을 실어줄 동기부여를 받는다.
오디널 이론과 인스크립션은 비트코인의 대체 가능성에 의미 있는 영향을 미치지 않는다. 비트코인 사용자는 두 가지를 모두 무시해도 아무런 영향을 받지 않을 것이다.
우리의 바람은 오디널 이론이 비트코인을 강화하고 풍성하게 하며, 비트코인의 매력과 기능에 또 다른 차원을 부여하여 비트코인이 인류의 탈중앙화된 가치 저장소로서 이 주요 사용 사례를 더욱 효과적으로 수행할 수 있게 해 주는 것이다.
ord
에 기여하기
권장 단계
- 작업하고 싶은 이슈를 찾아보자.
- 문제 해결을 위한 첫 번째 단계로 무엇이 좋을지 생각해 보자. 이는 코드, 연구, 제안의 형태가 될 수도 있고, 오래되었거나 애초에 좋은 아이디어가 아닌 경우 폐쇄를 제안하는 것일 수도 있다.
- 제안한 첫 번째 단계의 개요와 함께 문제에 대해 댓글을 달고 피드백을 요청하자. 물론 바로 코드나 테스트 작성을 시작할 수도 있지만, 이렇게 하면 문제가 오래되었거나, 명확하게 지정되지 않았거나, 다른 것에 의해 차단되었거나, 구현할 준비가 되지 않은 경우 잠재적으로 낭비될 수 있는 노력을 피할 수 있다.
- 문제에 코드 변경이나 버그 수정이 필요한 경우 테스트가 포함된 PR 초안을 오픈하고 피드백을 요청하자. 이렇게 하면 모든 사람이 수행해야 할 작업이나 문제 해결의 첫 단계가 무엇인지에 대해 동일한 정보를 공유할 수 있다. 또한 테스트가 필요하므로 테스트를 먼저 작성하면 변경 사항을 쉽게 테스트할 수 있는지 쉽게 확인할 수 있다.
- 테스트가 통과될 때까지 키보드를 무작위로 매시하고 코드를 제출할 준비가 될 때까지 리팩터링하자.
- PR을 리뷰할 준비가 된 것으로 표시한다.
- 필요에 따라 PR을 수정한다.
- 마지막으로 병합(merge)하자!
작은 것에서부터 시작
작은 변화는 빠르게 영향력을 발휘할 수 있게 해 주며, 잘못된 방법을 선택하더라도 많은 시간을 낭비하지 않을 수 있다.
작은 문제에 대한 몇 가지 아이디어:
- 테스트 커버리지를 늘리는 새 테스트 또는 테스트 케이스 추가하자
- 문서를 추가 또는 개선하자
- 더 많은 조사가 필요한 이슈를 찾아서 조사를 하고 댓글에 요약하자
- 오래된 이슈를 찾아서 닫을 수 있다고 댓글을 달자
- 작업해서는 안 되는 이슈를 찾아서 왜 그렇게 생각하는지 자세히 설명하는 건설적인 피드백을 제공하자
일찍 그리고 자주 병합하자
큰 작업을 여러 개의 작은 단계로 나누어 개별적으로 진행하자. 버그가 있는 경우 실패한 테스트 무시를 추가하는 PR을 열 수 있다. 이를 병합할 수 있고 다음 단계로 버그를 수정하고 테스트를 무시 해제할 수 있다. 연구 또는 테스트를 수행하고 결과를 보고하자. 기능을 작은 하위 기능으로 나누고 한 번에 하나씩 구현하자.
큰 PR을 병합할 수 있는 작은 PR로 세분화하는 방법을 찾는 것은 연습해 볼 만한 가치가 있는 기술이다. 어려운 부분은 각 PR 자체가 프로잭트를 개선해야 한다는 것이다.
필자도 이 조언을 따르기 위해 노력하고 있으며, 그렇게 할 때 항상 더 나은 결과를 얻는다.
작은 변경 사항은 작성, 검토 및 병합이 빠르기 때문에 작성, 검토 및 병합에 오랜 시간이 걸리는 거대한 단일 PR을 작성하는 것보다 훨씬 더 재미있다. 작은 변경은 시간이 많이 걸리지 않으므로 작은 변경으로 작업을 중단해야 하는 경우에도 많은 시간이 소요되는 큰 변경에 비해 시간을 낭비하지 않을 수 있다. PR을 신속하게 적용하면 더 큰 개선을 위해 오랜 시간을 기다릴 필요 없이 즉시 프로젝트가 조금씩 개선된다. 작은 변경은 병합 갈등이 누적될 가능성이 적다. 아테네인들이 말했듯이 빠른 이는 하고싶은 것을 커밋하고, 느린 이는 해야할 것을 병합한다.
도움 받기
15분 이상 막혔을 경우 Rust 디스코드, 스택 익스체인지 (Stack Exchange), 프로젝트 이슈 또는 토론에서 도움을 요청하자.
가설 중심 디버깅을 사용하자
문제의 원인에 대한 가설을 세운다. 그 가설을 테스트하는 방법을 알아낸다. 해당 테스트를 수행한다. 테스트가 효과가 있다면 문제를 해결했거나 이제 문제를 해결하는 방법을 알게 된 것이다. 그렇지 않다면 새로운 가설로 반복한다.
오류 메시지에 주의를 기울이자
모든 오류 메시지를 읽고 경고를 무시하지 말자.
기부하는 방법
오디널스는 오픈소스이며 커뮤니티 펀딩을 받고 있다. 현재 ord
의 리드 메인터너는 raphjaph이다. Raph의 ord
작업은 전적으로 기부금으로 충당된다. 가능하다면 기부에 동참하자!
비트코인 관련 기부 주소는 bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt이다. 인스크립션 관련 기부 주소는 bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0이다.
두 주소는 raphjaph, erin, rodarmor, ordinally가 키를 보유한 2-of-4 다중서명 지갑에 있다.
받은 기부금은 'ord'의 유지 및 개발 자금과 ordinals.com의 호스팅 비용으로 사용된다.
기부해 주어서 감사하다!
오디널 이론 설명서들
탐색기(익스플로러) 가이드, SAT 헌터 가이드, 인스크립션 가이드 등 설명서 목록을 보려면 목차를 참조하자.
JSON-API
By default, the ord server
gives access to endpoints that return JSON instead of HTML if you set the HTTP Accept: application/json
header. The structure of these objects closely follows what is shown in the HTML. These endpoints are:
Endpoints
GET
/address/<ADDRESS>
Description
List all assets of an address. Requires index with --index-addresses
flag.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/address/bc1pdrm7tcyk4k6c3cdcjwkp49jmfrwmtvt0dvqyy7y4qp79tgks4lmqdpj6rw
{
"outputs": [
"ddf44a0e0080f458a1a1b6255a9fa0957f2611883a483c1901ccb0f59e3eb302:0",
"77c5a00da7dcf2c8f965effd25dda16ec8ec8d6b8937e89bbbdf10a1dc5aeb0d:0",
"36f5a76644ee3002483e08345feaa97a71c7a210050333a8f02e942af1294227:1434",
"e2a15acfb519ac6d95bbfd411f1f3dba4692672ea0b0a8f868da8b3f565fb428:0",
"2b84aab0b4b9869a005ae2571a94064163652f2aeffecd4fedf0397dd6b7cf41:1",
"e267548a8cc0c6e6033a6f82b355163bc1d041879206d27feb46e605b3e82759:246",
"f5b586cf0e61b7d89c18a74c47a1f8df9ff530a66ed62c02cec72fde9a23a45a:0",
"4fd271181e901809f6e2d5f89ce95ddfeb886f8db1582a35c812401af8e77661:42",
"29f8633939e956b078fb2fa0e1219089bbe2544169e7a2755e97cc254b783cb2:0",
"7aeca5c346aec84acde229e5927dd09aef680992223cfa57fe6f1ff7698b12da:0",
"cccc35d597cd5a8079f6fe54bb9c743e5297d9165b0dcfa74e74687514c66be0:0",
"590745241244d41a90df7e2cf0d7745877e4cedac573525946cc8ac7f18757e8:0",
"590745241244d41a90df7e2cf0d7745877e4cedac573525946cc8ac7f18757e8:1",
"590745241244d41a90df7e2cf0d7745877e4cedac573525946cc8ac7f18757e8:2",
"6b23a6cf6d2850f437a50f1673fc8410ae36146541b3101d8573539871a91bf0:0",
"fe130d3ca1577c65ac768f4b5b9d12a88d947ddcc31196bcf870ed5ff18403f5:2",
"5fddcbdc3eb21a93e8dd1dd3f9087c3677f422b82d5ba39a6b1ec37338154af6:0",
"c63c4910be259007e1119dbbe6fe0d923b207e78058a4f69bd54df6a3a6488f6:0"
],
"inscriptions": [
"77c5a00da7dcf2c8f965effd25dda16ec8ec8d6b8937e89bbbdf10a1dc5aeb0di0",
"1417086d6abf96f68287b799b13b0081ec895d0b4a5fb7b70d2fde404eeb8aa1i0",
"eb6636995ba074472e4193dbf65bb268ef5379509d9fffb20ddd5857039f80abi1",
"4fd271181e901809f6e2d5f89ce95ddfeb886f8db1582a35c812401af8e77661i42",
"40ab704e6123c681554102556ae3f37b0525863968311f845322fe2f2403a4c6i0",
"0b36fa5ebce6c0e028b61647a89f9488a9c9f6ad0b90a215d10eb96ee8aedf9ei0",
"87a0088e83e43a79e0e9b451037067bca726f5fd3da083e8684996dd1e6b6c70i0",
"54abce9b4380e2fe90ac0cb49b442afee76838ffd91f1ffcac46f6a6fea790c5i72",
"54abce9b4380e2fe90ac0cb49b442afee76838ffd91f1ffcac46f6a6fea790c5i768",
"b4ba20c4eb45425f4960820f493a04a3b1c2e1364927d6001e7dc7dd524cf922i931",
"781938d9e2e93698d41f30b4d1c7f7bfcd403761bce3c0ab579be47b408809e2i0",
"fe130d3ca1577c65ac768f4b5b9d12a88d947ddcc31196bcf870ed5ff18403f5i1",
"26482871f33f1051f450f2da9af275794c0b5f1c61ebf35e4467fb42c2813403i0"
],
"sat_balance": 22635,
"runes_balances": [
[
"RSIC•AUBERGINE",
"1100000000",
"🍆"
],
[
"SPACEY•CODARMOR",
"279550",
"🚀"
],
[
"ISABEL•FOXEN•DUKE",
"10000",
"⚡"
],
[
"EPIC•EPIC•EPIC•EPIC",
"1000",
"💥"
]
]
}
GET
/block/<BLOCKHASH>
Description
Returns info about the specified block.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
{
"best_height": 864325,
"hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
"height": 0,
"inscriptions": [],
"runes": [],
"target": "00000000ffff0000000000000000000000000000000000000000000000000000",
"transactions": [
{
"version": 1,
"lock_time": 0,
"input": [
{
"previous_output": "0000000000000000000000000000000000000000000000000000000000000000:4294967295",
"script_sig": "04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73",
"sequence": 4294967295,
"witness": []
}
],
"output": [
{
"value": 5000000000,
"script_pubkey": "4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac"
}
]
}
]
}
GET
/block/<BLOCKHEIGHT>
Description
Returns info about the specified block.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/block/0
{
"best_height": 864325,
"hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
"height": 0,
"inscriptions": [],
"runes": [],
"target": "00000000ffff0000000000000000000000000000000000000000000000000000",
"transactions": [
{
"version": 1,
"lock_time": 0,
"input": [
{
"previous_output": "0000000000000000000000000000000000000000000000000000000000000000:4294967295",
"script_sig": "04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73",
"sequence": 4294967295,
"witness": []
}
],
"output": [
{
"value": 5000000000,
"script_pubkey": "4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac"
}
]
}
]
}
GET
/blockcount
Description
Returns the height of the latest block.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/blockcount
864328
GET
/blockhash
Description
Returns blockhash for the latest block.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/blockhash
00000000000000000000c82c12a925a224605b1bb767f696ae4ff10332dbe9bc
GET
/blockhash/<BLOCKHEIGHT>
Description
Returns blockhash of specified block.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/blockhash/840000
0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5
GET
/blockheight
Description
Returns the height of the latest block.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/blockheight
864330
GET
/blocks
Description
Returns the height of the latest block, the blockhashes of the last 100 blocks, and featured inscriptions from them.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/blocks
{
"last": 864335,
"blocks": [
"00000000000000000002794398a350a04cc371ee33659296a980214f0f060adc",
"000000000000000000000470180b94350be751ea1ade67c4235c5b9515380b1f",
"000000000000000000016e1769c5aa0f3781dd99ce2d5172a696c546d442e481",
"00000000000000000002043c5ed07ad806a1c7133cf34670333326009d6195a6",
"000000000000000000017cd6200b2711c024094e64797619263d74433c2bc880",
"00000000000000000002dd6a13fffde71c09e67855d03340787e6a9b951c44df",
"00000000000000000000c82c12a925a224605b1bb767f696ae4ff10332dbe9bc",
"000000000000000000024ea66d1cddf1cfd8a3926a8e691844143da1596526db",
"00000000000000000001bd9376dfbd9689239e9c5d11d579d6c8885a0efa199c",
"0000000000000000000081f76cbccc29d92024f07f0e0b7e6b7dd063bed69bcc",
"00000000000000000000e1ca2bab230aeb6cb75b1bb5b766cb55f1a391a7d408",
"00000000000000000001fc567723ff6ccf674981202617384ae2152a711710d3",
"00000000000000000002381ab1fa4661bfecc3429424c415788cef2c62c630bb",
"000000000000000000022a1cacf15fa28d4d3698506c7b76fc62d7e50053be1f",
"000000000000000000023b6d0182255bcc633e27ecdf8a86918830fdfd4f9612",
"00000000000000000001135bd270114428c2c021e6c4161be93ba7ec9dc4e720",
"0000000000000000000269e44d995970caf720ecc272f3554d923b74c57e84ed",
"00000000000000000000e0224234536f4724c144c8da5cbaea486f3b26ef808a",
"0000000000000000000102ae83593c0b5046cc6ec3beadf133e2a9b69fb761da",
"000000000000000000014d52c9b6d9ca1fd2419562d24ff87214fcdf1688b8c4",
"00000000000000000001bc24775ec320b6af4c1210395a4092c29b7af265153c",
"00000000000000000000f4498b608a6a476bed5c4164478f618d19bcc02da3fa",
"0000000000000000000255810324c89ec4ef87a0d028968dc70aed1817bac8e8",
"0000000000000000000213bbddd4cce2831bda4865ae7025074b2a30fb228c7c",
"00000000000000000002b4cf1c7c051fd712df4447ac5e90ecde1d4429a06358",
"000000000000000000006b39a84f7bfc592293bc044c28fb57dfa660d41acc36",
"00000000000000000001cd132f83def8f13b87974eb4d2629b11f52e3016c097",
"00000000000000000001963de3de854dd9da9f384fb2ef753ba94c105cc807c6",
"00000000000000000000fc1b08733842cb0f2d3dae7f56545805b403aa0d3621",
"0000000000000000000049464eaf610aa71edaaf33e465c47981811395c3cdc7",
"0000000000000000000137881c0f7bc6b762daf8370935444fdb13b98ed4572e",
"00000000000000000001e7cc406d66013c17db6e9f8c90b807c93936fa18f192",
"0000000000000000000084d8e77f14bcdc71acedf0ba5be6b70562dcf76e2ba2",
"00000000000000000002e278d6c35e96eebb964694c430527db43301efdf367f",
"00000000000000000002ace24c94d6f927e4cad8d72839508a275d6a2882c408",
"00000000000000000002c165514bb47cef5b8eacedbabce070fc7147f6b8a48e",
"0000000000000000000251f0eabbbf2bb58837cd284a1a44275e76d11b6da62a",
"00000000000000000000650e34e08c4bc732961ce33a2b9051044ed95e95d82f",
"00000000000000000000ecd0dfe9c0a52b2a7bcf48edcdcb2df19b827afcbed2",
"0000000000000000000048131b07192e8f4466e36d025ea773e0dadcf442713f",
"000000000000000000012eb14a615f799bf628e371ee5e7dd0b518d108fc74cd",
"0000000000000000000025d47721b228c712aeb50bfd13768d8925274c1015ef",
"0000000000000000000326c89fe7dfe7737f75368ce78404c1ffb1b08c422641",
"00000000000000000002ff417f03781bbce1a1082cfaff8cf5c066c9a7547a28",
"00000000000000000002bd4acc44f416975f25aa719e07abc2c0dd12761e4d17",
"0000000000000000000188b4408d6131395ef6ca544b35cf37e7575779b15471",
"00000000000000000003253f74e3f5d35aacbef57aee3225c9e071036309aad6",
"0000000000000000000322bfda974265420bb6b604cd577410b9ca5cccbeae17",
"00000000000000000001535fdb2eb0efe673bd505bcec47a9fdedd7b83d22a6c",
"0000000000000000000169fb1a4daaaf4e08d12fcf670a81ed0f7bb4f5328494",
"0000000000000000000315eb8d0ea1cbd251c7ea2404041c352823e29a6f376a",
"000000000000000000021aef6c217e2eae81d1702d1331ab8f91360e55a60c51",
"00000000000000000000ffb1ee2423e399153433e634db68ca4aad8a829b61da",
"00000000000000000000a6e99c9e050d4345606016673d674da4aade02a8ff8a",
"00000000000000000000349de7338756bdb425cc13a3e22e986b4035d00f097b",
"00000000000000000000045218f05f939e0386ddec2460c815e5c671bfd20892",
"000000000000000000007f99d51dd0738c42ce7dc83e59061a2b33f971b6d3ab",
"00000000000000000002fc37d0f7ec804a1063a4ff8613521fcc99f1ab8fe07a",
"00000000000000000002daff4047da69c658a1badb00d14d7d3e709f76b8bf3b",
"00000000000000000001a427c71546cda9a5577d5e38bc95a5d3450df7c1d26f",
"000000000000000000004648af338d38563d26c3a5bef3ca9582ea2ccb72f8ea",
"00000000000000000001428e153a325e9aa859589a80e8b0271d1ba48e8749c7",
"000000000000000000005ea10805f8ab474b9888bdc2c2840cd2e5529bbd0d49",
"00000000000000000002c7b5bcf3372c7441e79bda1310c53f35eb59483b9092",
"00000000000000000001e2486f12c01ca0f76481b40181bf6f8f48802ade8c49",
"000000000000000000024590edc9d2d4878b32a4944dfda1a3929a6e4c9c3592",
"000000000000000000028f255235dca42b10e5da593c2d4eb006cb329a041587",
"000000000000000000006fb8f4a5d906e9c0112d5a97188f392407ab8e95bd81",
"00000000000000000002864156220f1093e76caf233009c1b6be9ee0d810ac29",
"000000000000000000009d28b5b1336abfe552aa8d92e56c1c254a1eee0e0b4b",
"000000000000000000029ad7c816c8a4f79f93e60defbc6aee7cf25e61b46008",
"00000000000000000002af0693f1c73282516b97031b7d956d07756a6f8a13d0",
"00000000000000000001376f75d1785015b1c4717b2612a7c1bc8de69817c768",
"00000000000000000000cd6e3f3ec308a26831d8866ea51beab6b02d3a5d0812",
"00000000000000000002cf32a666fabf1789ffa4fa4215f78b52406b716936d2",
"0000000000000000000310254c2c405a46c9710e52a7a7728bac5079b90e25ba",
"00000000000000000002cb11925574071edd904390823344b7ca616640971081",
"000000000000000000022e5bf2570eaee0532c0edee2a2682d4a74488ca0522f",
"000000000000000000031542e9c2b0dbd43b4e7caa3f24537af0d39bfa3997cf",
"00000000000000000002215bb1138bbc4a7611826b13e532b51d5b4e82eeac3d",
"00000000000000000001c3a1c78d27f0072f27dc1d0060273e0ef03f1bfc0ce9",
"00000000000000000001fe6ba288a1b9a14d15d3e915418cbfb54685595b0cc1",
"0000000000000000000067f8164cd2e75b3ba172cb98cd00f0894faee5c6f763",
"000000000000000000018ef9990389ca9052a0c1c93b65f780d3071346e531f3",
"000000000000000000023e7bee6b1b4647411b0279df23c9ad470d91c1b99081",
"00000000000000000000a085f77681ddf175c74b897758e9f406a17f1a278030",
"000000000000000000001bf9c32af2d6a8a4f3d50c40f927e0867d4ad9481fdd",
"00000000000000000000cde89e34036ece454ca2d07ddd7f71ab46307ca87423",
"00000000000000000001141c91e70decadd60a93f32b70b08a8ec6d74b270b08",
"000000000000000000023562ac878ab6f62329a70a15954bd56e088f3a836426",
"000000000000000000006a4455949ef37cf3c3ee6b4cc2da27137f24445c7058",
"0000000000000000000297397401eee3019168e761464c3716892951a5e33cbc",
"000000000000000000015b68955519ab2925858ebbd02f897ff81cfc4a360dd4",
"000000000000000000018a0932deb92c6bc40d46a34e654f8a2afbd6c745c6a3",
"00000000000000000001996de65cc72f1fdeaebc3141db0a2a2dd269233c8e56",
"00000000000000000000d0434cc36c19d49b9e873661ff171d632543d5c2f454",
"00000000000000000003184a301f7c76332ec629a51bcaab5652f2ba82da55d8",
"00000000000000000001e47fd13c25e24f8933b02a38c3490c0a430c0b71ea9e",
"000000000000000000027fe376111297406696afa48be122d6596b13ac15156a",
"00000000000000000002ab8ba2529a468c0f2781e3afc0f832209c94f95d4f1d"
],
"featured_blocks": {
"000000000000000000000470180b94350be751ea1ade67c4235c5b9515380b1f": [
"0ae94b05b21aa6b7f0620075db618a70124cb422fc5ced577bffbd0d103d4ce7i0",
"65f1922bc83ee43485ed884dbec24c0c1cef6c4f6d999a8ac0c09d7adc8b39dbi0",
"e87c21c7c8ba8b194bd8e389f6cb9ecb2312c076139aff31c629f93df86b98ffi0",
"aeb8d90de7e92efc11ffa6b411e829b6dcb0e00b7fd4f912947065b9084d99bai0",
"6d8f58c7f24e277d614bc6c9bb6648543e47db5431c6c073a6bd5e3be1e47c5ci0",
"770cde7a5c49ae8a4f109bd83fb364ef9b83bc6f72d3654c793f5452d7b30831i0",
"65e51357e67da9dd64a65fff1d9d26153c9969f4acfbab028e74b408559dfc07i0",
"7c63687fabdcd421de925e99b4152b2327328afe51c63903aa4a9cc9fba31872i0"
],
"000000000000000000017cd6200b2711c024094e64797619263d74433c2bc880": [
"c970b695f491a8812b5293da2673f4e6c9ae3d8be07d9da1fbb9c33a45f6fd1fi0",
"d001827b7c48e44399587f12e2fa33b2c0b1eb12c309f1c21729f1e3bc95c5fci0",
"facefc9cd6dec1cc25d7b7321cbbdaed735049a9a3da834a66975d98e23ac4dfi0",
"09353363c2e95891db553f3742a40a74c5dd1b7668669f732d58e52e7c132b92i0",
"48f3f7cbf3061957c06f66c0fe66be9ad4ad73df65b9ded1345e05f904e1e63di0",
"4e65b1d0b36c6727c646d5d6f45f00db35158a49a139282d6544f127734db9adi0",
"b8c744320e735aaaec18fd6b306d6dd678f99461e88dfa25f178627b8480e483i0",
"55d27ab1b4321addc5c34c10ef2ac4957add8b8485f465df7f2883315c9cf5f5i0"
],
"000000000000000000016e1769c5aa0f3781dd99ce2d5172a696c546d442e481": [
"cc2415293c275bea4d73ff8f45f68f269686b819de447f50ec6988ac04a62d1bi0",
"c642cd4cc7a075c61d3a32b949217990aa91dfc928f12a2cdba1f2f228c699c7i0",
"5342721d044e9e9999484b988ce9fb71097d9209c77f6549df9e31ec9b344c5bi0",
"a75f792be155a0b53691289433a6413c1efb1aeaf970f752ee70be3c6e755a06i0",
"19c0d770abaaeb5b24e718231684d53b768450cc324c8fee435910de65c459e2i0",
"30eb7c46bf4f5af33e665a119af40dd45d127cb6cdc2596de75e08f094651fa5i0",
"122631e7b8bab4238582229273a9dbe08544d2d97ad0c9a80b5829ae10ac3f27i0",
"41c304db88c60a27f45957442b857c0affefdfdca45bdf72ab4cbf9fce4d97a0i0"
],
"00000000000000000002043c5ed07ad806a1c7133cf34670333326009d6195a6": [
"2f62d6ed309f838bab143cf3a53ba758eb940b43c30c32e22d9dbf6fe7882613i0",
"83642352c5b670387874995954f79e270cb78b05a9a88b9d4d65e6f94c6df0a3i0",
"68831e3c8669ad5e8fc3585a9e8a55673123ada4c33a699e98e4d9e0297f1800i0",
"20fa9d317af18cc976a6b77797ceb5884127ac5dd7e3f131565a18dd712311c6i0",
"a286d7f705fd410cdd3f1081c4c22f196bdea4c64cfbd963f45302cdec1fe968i0",
"11eb110f86d880d8dcac852edcca7007904fda34ad031fc01f24a3e6b02ef47ci0",
"9fbec6d72d71169dc041693e740dae7bb7bb195ccd4a7f40c4c12bd4afbf7354i0",
"7c823fe74fa783debea8339fbea44b8395805295652749a651aa2133d9a1832di0"
],
"00000000000000000002794398a350a04cc371ee33659296a980214f0f060adc": [
"2596a275dca4b5cc18cd1060ab92d6df3df5507738b8f2b6b7c18c4ff1d1b36ai0",
"93256e5da147f0067d6b11e09d853b838ad1d95cf59664cccbcd52859f9ea1aci0",
"f404b5ebabd4b7fb8b88df52289b983b28f3e36fcbb63e649edea6e7ba62e582i1",
"f404b5ebabd4b7fb8b88df52289b983b28f3e36fcbb63e649edea6e7ba62e582i0",
"1bfbd226fded339cbe197153ab8b6da622c9a20e7d4911013abd385da7e05b89i0",
"af7b8810755bdf7bd62dbb6c5f2639e107a6d9d2c7199ae3650f1e7583d4bd66i0",
"9c594cb991bfecdf9d2116b644262927365f20f03ccdc8a64cbb640c11a58907i0",
"29628c91948bc100185605d11cde0aebda572d73b752bd6ed668bd86e455aa8di0"
]
}
}
GET
/blocktime
Description
Returns the UNIX timestamp of when the latest block was mined.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/blocktime
1728158372
GET
/decode/<TRANSCATION_ID>
Description
Decode a transaction, congruent to the ord decode
command
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/decode/6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799
{
"inscriptions": [
{
"input": 0,
"offset": 0,
"payload": {
"body": [
137,
80,
78,
71,
13,
10,
26,
10,
0,
0,
0,
13,
73,
72,
68,
82,
0,
0,
0,
100,
0,
0,
0,
100,
1,
3,
0,
0,
0,
74,
44,
7,
23,
0,
0,
0,
6,
80,
76,
84,
69,
255,
255,
255,
0,
0,
0,
85,
194,
211,
126,
0,
0,
2,
206,
73,
68,
65,
84,
56,
203,
149,
212,
75,
104,
19,
65,
24,
7,
240,
148,
74,
19,
16,
93,
20,
180,
20,
105,
22,
193,
179,
61,
21,
11,
125,
44,
228,
90,
176,
39,
41,
90,
75,
14,
30,
74,
91,
74,
43,
69,
18,
250,
200,
86,
60,
120,
80,
154,
187,
104,
5,
17,
81,
170,
205,
161,
96,
11,
77,
178,
161,
120,
145,
98,
2,
30,
4,
109,
147,
77,
201,
33,
133,
154,
221,
196,
144,
108,
146,
221,
157,
191,
33,
51,
59,
1,
193,
67,
231,
246,
227,
155,
239,
49,
51,
236,
186,
206,
184,
36,
172,
181,
209,
9,
212,
218,
18,
178,
46,
210,
214,
136,
8,
161,
189,
181,
14,
148,
179,
60,
205,
0,
108,
158,
232,
214,
36,
172,
91,
142,
196,
180,
170,
4,
100,
222,
237,
80,
85,
150,
101,
167,
140,
172,
198,
186,
21,
57,
193,
4,
77,
246,
39,
193,
138,
118,
168,
165,
198,
104,
9,
11,
172,
65,
24,
68,
7,
25,
96,
13,
194,
168,
22,
64,
134,
168,
4,
213,
172,
84,
76,
132,
152,
74,
90,
161,
170,
149,
8,
149,
247,
38,
10,
85,
104,
97,
170,
222,
95,
234,
92,
85,
157,
13,
48,
77,
162,
82,
129,
49,
206,
78,
167,
106,
149,
138,
134,
121,
58,
154,
148,
55,
235,
101,
211,
2,
83,
29,
181,
28,
202,
76,
50,
113,
141,
232,
107,
2,
232,
216,
193,
58,
146,
183,
229,
114,
142,
42,
16,
128,
49,
9,
59,
77,
53,
55,
15,
243,
26,
200,
15,
170,
25,
213,
109,
238,
89,
226,
12,
139,
69,
175,
219,
59,
197,
167,
159,
89,
222,
195,
115,
171,
198,
151,
75,
44,
47,
152,
93,
24,
54,
30,
39,
88,
77,
249,
32,
19,
215,
35,
75,
50,
213,
224,
126,
195,
171,
159,
63,
89,
166,
179,
244,
135,
177,
17,
145,
72,
63,
213,
224,
38,
89,
215,
250,
26,
123,
84,
146,
128,
245,
45,
137,
136,
84,
189,
34,
146,
154,
140,
110,
246,
40,
227,
24,
139,
251,
109,
63,
149,
32,
34,
109,
200,
240,
50,
9,
120,
45,
74,
132,
201,
189,
73,
94,
25,
125,
141,
40,
191,
121,
69,
84,
200,
16,
211,
126,
67,
194,
179,
147,
21,
166,
131,
204,
106,
119,
106,
201,
81,
118,
193,
54,
142,
19,
22,
83,
176,
211,
220,
171,
117,
30,
81,
117,
141,
8,
166,
73,
132,
231,
44,
38,
195,
232,
5,
142,
184,
170,
23,
184,
4,
25,
191,
223,
1,
25,
42,
17,
248,
185,
45,
3,
84,
18,
176,
125,
87,
129,
243,
42,
50,
201,
223,
215,
161,
210,
91,
90,
133,
153,
212,
150,
97,
80,
25,
10,
54,
116,
9,
177,
108,
75,
150,
10,
209,
47,
98,
170,
165,
142,
211,
113,
226,
247,
143,
217,
247,
138,
45,
153,
119,
106,
170,
242,
160,
50,
65,
101,
169,
127,
82,
241,
105,
76,
81,
65,
169,
78,
69,
191,
65,
161,
58,
197,
206,
98,
79,
90,
105,
180,
228,
170,
146,
239,
75,
163,
95,
231,
11,
180,
67,
125,
115,
160,
120,
156,
123,
177,
77,
21,
90,
33,
110,
75,
200,
167,
216,
107,
62,
209,
109,
131,
212,
36,
42,
9,
101,
211,
172,
59,
103,
16,
176,
146,
143,
230,
85,
194,
110,
130,
40,
205,
57,
35,
22,
85,
7,
81,
136,
142,
72,
209,
249,
252,
82,
68,
39,
139,
89,
166,
91,
1,
162,
219,
233,
53,
166,
158,
212,
225,
68,
104,
145,
193,
229,
141,
223,
120,
27,
142,
56,
186,
24,
59,
52,
3,
91,
142,
4,
25,
64,
134,
11,
0,
8,
223,
169,
120,
124,
34,
223,
233,
14,
26,
177,
220,
17,
87,
224,
101,
126,
184,
173,
57,
143,
239,
106,
91,
211,
30,
223,
229,
255,
197,
116,
143,
207,
107,
113,
205,
2,
13,
30,
235,
250,
208,
204,
251,
200,
245,
169,
153,
199,
229,
126,
228,
241,
93,
105,
87,
49,
154,
221,
121,
149,
206,
221,
230,
100,
187,
92,
104,
78,
93,
115,
212,
161,
3,
164,
232,
200,
101,
2,
102,
150,
43,
244,
230,
125,
36,
193,
37,
218,
227,
248,
231,
63,
120,
182,
245,
23,
127,
181,
197,
106,
45,
115,
252,
75,
0,
0,
0,
0,
73,
69,
78,
68,
174,
66,
96,
130
],
"content_encoding": null,
"content_type": [
105,
109,
97,
103,
101,
47,
112,
110,
103
],
"delegate": null,
"duplicate_field": false,
"incomplete_field": false,
"metadata": null,
"metaprotocol": null,
"parents": [],
"pointer": null,
"rune": null,
"unrecognized_even_field": false
},
"pushnum": false,
"stutter": false
}
],
"runestone": null
}
GET
/inscription/<INSCRIPTION_ID>
Description
Fetch details about a specific inscription by its ID.
예제
curl -s -H "Accept: application/json" /
http://0.0.0.0:80/inscription/6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
{
"address": "bc1ppth27qnr74qhusy9pmcyeaelgvsfky6qzquv9nf56gqmte59vfhqwkqguh",
"charms": [],
"children": [
"681b5373c03e3f819231afd9227f54101395299c9e58356bda278e2f32bef2cdi0",
"b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0",
"47c7260764af2ee17aa584d9c035f2e5429aefd96b8016cfe0e3f0bcf04869a3i0"
],
"content_length": 793,
"content_type": "image/png",
"effective_content_type": "image/png",
"fee": 322,
"height": 767430,
"id": "6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0",
"next": "26482871f33f1051f450f2da9af275794c0b5f1c61ebf35e4467fb42c2813403i0",
"number": 0,
"parents": [],
"previous": null,
"rune": null,
"sat": null,
"satpoint": "47c7260764af2ee17aa584d9c035f2e5429aefd96b8016cfe0e3f0bcf04869a3:0:0",
"timestamp": 1671049920,
"value": 606
}
GET
/inscription/<INSCRIPTION_ID>/<CHILD>
Description
Returns the inscription information for the specified child.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/inscription/b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0/0
{
"address": "bc1pnhyyzpetra3zvm376ng8ncnv9phtt45fczpt7sv2eatedtjj9vjqwhj080",
"charms": [
"vindicated"
],
"children": [],
"content_length": 106268,
"content_type": "image/avif",
"effective_content_type": "image/avif",
"fee": 1470535,
"height": 839704,
"id": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi0",
"next": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi1",
"number": 69994605,
"parents": [
"b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0"
],
"previous": "e2619e0fa641ed2dfba083dc57a15ca1d3f195f15d187de353e1576a0cb6e87ci8",
"rune": null,
"sat": null,
"satpoint": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527f:1:0",
"timestamp": 1713399652,
"value": 10000
}
POST
/inscriptions
Description
Fetch details for a list of inscription IDs.
예제
curl -s -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '["ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi1", "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi0"]' \
http://0.0.0.0:80/inscriptions
[
{
"address": "bc1pnhyyzpetra3zvm376ng8ncnv9phtt45fczpt7sv2eatedtjj9vjqwhj080",
"charms": [
"vindicated"
],
"children": [],
"content_length": 116597,
"content_type": "image/avif",
"effective_content_type": "image/avif",
"fee": 1470535,
"height": 839704,
"id": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi1",
"next": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi2",
"number": 69994606,
"parents": [
"b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0"
],
"previous": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi0",
"rune": null,
"sat": null,
"satpoint": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527f:2:0",
"timestamp": 1713399652,
"value": 10000
},
{
"address": "bc1pnhyyzpetra3zvm376ng8ncnv9phtt45fczpt7sv2eatedtjj9vjqwhj080",
"charms": [
"vindicated"
],
"children": [],
"content_length": 106268,
"content_type": "image/avif",
"effective_content_type": "image/avif",
"fee": 1470535,
"height": 839704,
"id": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi0",
"next": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi1",
"number": 69994605,
"parents": [
"b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0"
],
"previous": "e2619e0fa641ed2dfba083dc57a15ca1d3f195f15d187de353e1576a0cb6e87ci8",
"rune": null,
"sat": null,
"satpoint": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527f:1:0",
"timestamp": 1713399652,
"value": 10000
}
]
GET
/inscriptions
Description
Get a list of the latest 100 inscriptions.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/inscriptions
{
"ids": [
"dca3da701a2607de6c89dd0bfe6106532dcefe279d13b105301a2d85eb4ffaafi0",
"0e50a465fc0ca415f3cb8a4aac1555b12a4bf3f33bc039f2a4d39f809e83af7ai0",
"934905624f847731e7f173ba70bfa3a1389b0a7fe2a4ffce8793eef2730b9ab9i0",
"50a42e51e6ce0ef76699f017a1017d7b5b6203e67d283c625ba7d1567b2e43bai0",
"65a78bdbc1e01ac02cda181a71304a8d82305bc2a24bf01e62bea4cfff3e2dd8i0",
"05ab6d843099fb30a1da1bbfe31117cb56466b3ba40a4b3f389cc37174d339b8i0",
"47825a32dd6e3de5fd7d97488d755e6d1005e5c8552b9ede5bc67900b074d09bi0",
"737552653d4424a523f8c652710d0f9416561ea67ee25242f8606b49fb428d9ai0",
"1d7d15ab48fccf7011435584556ee9106be71f7073a857689594c143d7899333i0",
"321e4f598ae0f4841af04d1a84f3abafa44802c7d35315ead91b32ffed0f400di0",
"eb1578eaca0a04eaf174296382fc5d77530f0feceb7747938b29c433c21d1afdi0",
"70d6136e949b5f07b6ac7d50aa9aea1fa6573e1b0e4f490170235ac74738bf5ai0",
"aab2c8514876fb81cb28f0f0516620cf189222e0ffc6fe6282863bb846955409i0",
"ef36dd247b98f12d19d15bab92ea7f8491b0766fb0b8074b7606614dbbab6c13i0",
"cec42963619240ede36fb03cd95d8fba883c9c1af72b1e2fc9746151a60729dci0",
"3124d086c59ce2205f52a108e21380e2c98b1ac6a21fc2f457fb5750317997d2i0",
"c2d19ab0d9e508ed20eb6620a4ed6b5700bcee835278eb171ad15e3d9e9cf3cci0",
"6aa9e8efbc0410adebca732a2baa6812bd4d9678771023503d20c8e90f632853i0",
"96fd8d9b06c9d55d57c926889716b05f03e508d05320ffbe052aed38f49a8a4fi0",
"9429a355eecc994380920e8c9a2fd17adcb2e745bc1c8a460ed016d37e02d11ei0",
"196fa44615bd2215e17f428d9cb6ea5de62e4fc6635e45089623f757189cc3b1i0",
"077ccaf7424917873fe217bc45cfe923d20a9732373fc2b08749106569a198a8i0",
"ea5d4f47955e9ac306113ebd616587d2eaef3fb242474fb5819562ec007db32fi0",
"db377bb1c8ad40dfa6bf69b2ff8f5417b419ee6b0657e75060e088b1ec8b1c93i0",
"3c9720eeaad27cad478404905c9d5dcd332878f95dd65fc9912bfd598041af0bi0",
"61ef119d102389c3daaa5c057514f30cf1cd410b7d5c41a28c58a9a902cb265ai0",
"f971ea01b40b35b8548a902e013a3a1b799d4c2c1613d37ef3a994120d65c10ei0",
"6021306cf760dfbb0da58bce59ffbc703db5c7d9b180a3ae5268ce4c5341bf34i0",
"10aebd52ccd20124d5aa1c7d3e52fa81776ac6a3fb79ada582495328fa968ca4i0",
"9ed8d1fc12ab4d4b50c869bda1a38bb0e82b6eb18d2c14ef880aa2bb1757dbf7i0",
"5f5db3b301aa766f1a22f796248b2cceb8c111419bcefb4a3365d8bb1ff6ca05i0",
"15737d13a3583ef3559090431d5ea846e5126963046041b1f4d42b2fcc9a03eci0",
"05fdf04307e006eefec908ef93806f96c472af9e073837f4b1f5ad52e1d719a9i0",
"559280eb5ceefadee232a5b4dcc2c05dddfc1f123293482fef30ab7632855b85i0",
"76939794300cac687832e68253640e69993b46e0b75e5af4678b3c4b2037bb4bi0",
"1967e5170c27e707545ec05624db313735799fc58142e2bd2b475b088b761022i0",
"b320472502a8750fc6b3cb87ac6a0b3eaef402fa5f218f1153f658642e3d1b3di0",
"456b48e7ef556004e4a9a8b98aee8c797d75e1027dc56982ef6936f8627eeda7i0",
"02fb3081fc7317cbec7adc63761ea373ec239c7703a13f5752c3344acf6312eei0",
"75e567e30b84205ca9f5b6280b29581310bed27504949996b64858110d38c5e8i0",
"47214c34652fda5745b56ac80512e7d353db9d949fac9e0e5a6d8b27507fe4c6i0",
"c3ccc1508fb08a6bc487b25e4d5a994ff73cb44251749619c53d87c7626d74c6i0",
"a8ce87da5b67d9782846d2f718058873c51bcdbbee536540266f868bb5376c8fi0",
"47dd14ebf43bc35ff753cb5acf8335eb1acb788d05a2b0b9d83302e16170127bi0",
"ae7c0ebe825c2bf0d5820bc28da095cfa1cb6913a5913142bc327ab985b3dd7ai0",
"cf68e9b9d1967859b7d832a9c815ae3c837c94031dc8e56d848d151ae24e4776i0",
"0fe7d513cf8c19734f84321a3c49d0e0e39255702ba18546740c2bb1a95c5170i0",
"e760f5028719b2130e0d2305c3531174f4f6167282251adebfc968d127b79369i0",
"aa81f43a1412b0d04c2ef825c3829707aa32cf4cca3452077c2819f012905b5ci0",
"cd3675b40f8056c7b816c02a537a6d997912a26302f77cd3d0ad83b657d24e4bi0",
"3f8bf38d3cd3e50693b9bf187e1a374ff9990ba8e8f6337829f0d7312805741bi0",
"415a9516e1dcad84a60cc7d012c2475361d575f713b1d3aa16f982d2e43e330di0",
"6db363228406a71744cbf9b86e2b58c21b4f2dd0a0ad0affa211b32af20e8809i0",
"ff1aa5bec2a626c8b6f90e6765ceb227d44565a90f9e54cf05f5360ef6e33708i0",
"161191b5de6a1b1ed53e816545176d47e214c50711474b1a4e3ab34d70634189i0",
"f3f7488bc66000965a36f4ddf000c3d3ca3cf94d7cd4defaf3ca0b68e86b3af8i0",
"b2fb38073ade49a3f0f2522a15f4f63122a60d03a9eaed5c1c4198d339a32a1ei0",
"2f99c317739ca8cb6eb904915648ac2044f815d01ecfae6762ecf3885ee3778ai0",
"9d30636a2c5b6e064e6868fe796986014ac4cf9ea7a859d12e2dea07128c04f5i0",
"62ea57535dbe1c748d79c693e507d787af60076eaec7629365c31f52607f1279i0",
"9540b2f1d24ad5750f155ee232b03e4bfe258fde8c396844471bd595cbf0d4e9i0",
"98bfe331d267749357857e86433f974595bdb1d76ff60d35e576b217d7eae4e3i0",
"00bea5fcc8723ce5d177ca1cd4e87f7f2792fa3043231554d584b869d791a9e0i0",
"2ca9e9aedb2bf622c5c499701ce74a1dae456569082704ade20ba125019ea5f9i0",
"83290426401ac68ce29306f6a1ec5c86c69ce66049a1d85fefa49088a0f5a11fi0",
"ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i8",
"ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i7",
"ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i6",
"ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i5",
"ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i4",
"ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i3",
"ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i2",
"ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i1",
"ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i0",
"d431778a7290951d463f356f637a801c4c8b77767f2f53686176202bfd3a1af7i0",
"8bc9f9d88f91d851eeb84481fb33baabd6ea172c0c5152e5b8d4140f8102671ai0",
"12454b1620904b63e8c47f31e17939735515923e674fc42f299b5466258b640ai0",
"a67d21421a27918ab052c4dee3dcca86ad0610ccf4a449f98d3316008953d54ci0",
"920512aa32b5d525495832a3146f32efb0bfa308519bc3e1d5bc151ec6c9412ai0",
"8defe7abfd7d4f9dc94be83ca0b2f823f196a80ea37ebe217702368ffd2c7807i0",
"6b26e994bdabb558d41f5824b3d427ec628e7a1e7596ac20dcf05e889a994fd2i0",
"327610662171136ee252724b6860d0b64b45f81cb2bf8a0606256db730946a39i0",
"e01ec43055caa4bdb73f300076501deb85780891181d07773231db700a7d2099i0",
"9c2dc67e959bf949396d31157f16b6d60e4469ff43ba1ed44957d197f3ebf78bi0",
"89126f596c644721edc65ef293730078f16f0894baf29a1d807aab4afc013d72i0",
"3ea79b7a166ed230046e3d890d6c39a7c64dec8443de933860534449fa3180a0i0",
"2f1b248a957dcfb442b89c4684f65ba7bab7061cd0dfa4eaae8f5c65d7b41985i0",
"ac0fb3d3d301a28d3d979ca7f522eb4fdf0b0fed9d8062ff4944d5dac353092fi0",
"d0ebf39a32d409eb92bdefb354a99408367709830d03d4c6bc36786e79782720i0",
"7bfa54eb0141a93cd9cd2d3a6a52de5c1116653035bd8179608e115c823b7574i0",
"14fbc773b0b7635c4fd598c102a0a5019aee75a1184ac8d189c59478931ba6e9i0",
"0101a253d50138b4ef67c4036246df3e2a74d70874ad3c8f943af54e4b37648ci0",
"d5b41d45f3c45e2bdf36a415d9ece493cca23e762ff5de34a6abcf79936fc614i0",
"4c92503dc1f38bf77c2b1219504bb6eb82dd1d8af172f84d86d433f7bc557d4fi0",
"7b6df715cf052fdf28dbe213fada59b910c9e339137f0bd35698f23d0140a826i0",
"da06b7b4d298c837566b8daafae7cba1d4be19ca3b9e63d867cc2a9f06dd6315i0",
"958655c68793fe9e4dc6c8155c28c6b14c0ed58c5aa340d6bd6ef085134d3fb7i0",
"f8dbba73e65bf996e7cd8388ad85f7303f2caa52acf1ce793d8141dd9f70f6e6i0",
"8d166e2e3ea2a9e5d6460964d533b61656b6a3d671e5f046030319bb73f93e9fi0",
"2a60d61dff2ba192ca81614f8f0bda6c24eaac2c45f879ef84302e8c4c859bc9i2"
],
"more": true,
"page_index": 0
}
GET
/inscriptions/<PAGE>
Description
Pagination allows you to choose which page of 100 inscriptions to return.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/inscriptions/9
{
"ids": [
"6fa8b4d1840fdd2172b51a40bde3c8b88ff2ca8b668e56fe05edb1d5eec91fc7i0",
"c6f11a3269e7ea108abb9d596c4273067f33f7e951bb4762b915a6c3c3e1ebc6i0",
"24829232f529c1c4d1bfc5c1c1410313c6388c1db14137fdc351f8659eab72c6i0",
"c068402416ec57e773d9d072ad51950b77359eddbf515a775bc6c70bf75869c6i0",
"3ffdf269a5a6a306c6e2e03b73b505a4f2dac3e0708257bca37c12d2ceec3ac6i0",
"f505cc5a01e603bee41e3986c0bfe020cd4054cbdfd0a35b57d89e375ba1e6c5i0",
"3caeb09bc1a6c7e3ac33528f69b9b10755072aac2c7b6b4f58878df45572ccc5i0",
"2233ee78d07be90ae18d12d51cc89734eb691b550b687c1547b0791de668b2c5i0",
"86475391a0e7f13f3b475e3b4aedb8ada36b63bf9bc4f9ac9203fb083a39a2c5i0",
"18fa7b8a0949b57fa4798ccf48e4ba4a16ecb14651edd5a5adc3806eaea0c9c4i0",
"fb6a338c0de40e88e03e7ae5231b036e5f452343db128b849049c2e63d0bc6c4i0",
"374e71e371dfedcfa2f9ac1d6f2d0664effe46ca27907792e396a3176a82a3c4i0",
"bc2b2fef1231c07232cd1333978366255e317e000a04c050262a7d71eaab0cc4i0",
"d627b48539c497f768279669be7690af5af8f302bfb2641989dacce8c4eed8c3i0",
"632cf2db36977e4e091ed50d61185ad78d97e7a6c6ba468b844bfd7ac9b8aec3i0",
"2fc44592a0d8924c8f48c9fcea8b189f9008f2795380446c0d13a9e452f284c3i0",
"2e84632f9f2965d8648a36e2695070e3f9a06fab1fa72176d95652a19d6d3dc3i0",
"c78e74a90bb23e55d23b221d6f184581d75f0e97acd94b6ab9c2536bae79f2c2i0",
"b4eb0dc05c24f48105d80c38c2ced8789c7910960d07db3e7326cbfae5ded9c2i0",
"5f166abe3f70f72479518451f11d67b6217a67e539c08440f844c6f71f2ea1c2i0",
"32c2d37d9bd7f6a019e48bc8bbcd0b07cee07314724f517935b1e0ff490e5cc2i0",
"0876e126bf57724045c799b0f1f6ae206d2bd15c4533212ec243951f03d834c2i0",
"6492faedbf75e28c4637b6a1e518d063c0da130c461bb193bf7215364c7bf5c1i0",
"be6f1f3e8ac1841f05dc0d67b650890dc845fbfd2d3833f48a0adb5016a6a2c1i0",
"1cb2cb5519aea30e3921d59862bb1ca7d2a61430fdf6b64dc2d84a35fcc52dc1i0",
"00d0f2dab82c0f1ba5208cd95cf204505617cdbaab854675875035f584fc0fc1i0",
"4fd6ea5ecc0660d4b238deeeef7c7a238ed324a5343e5a83d0cd34d0cba7f0c0i0",
"cb1d5b0b9c88e1cd2646939e2809119ba857770e0aacfa069ecf992745435bc0i0",
"30394ffad8c25f93083e9044b3faca9fdcce9610af522a3d72c8bf6478e612c0i0",
"2c80a5b7628e1cba9b890d4946d202fa9d534e0d4edb575ca18fc8fede1d05c0i0",
"e3bca997a4494d2c43b441eefda53ec1c63277fb79e93204787d3733bf9f91bfi0",
"7efeed6060c4a0749bd537b36d469fd874e66914b661de992a053e4702d618bfi0",
"39cc481cad92dfbe5a7db974a8f40f0b945ec0a10cf0e525a1e40214ae9b9ebei0",
"776725263fec5b995932dde0c79a511838b2f4da976d767ec357490d8e5142bei0",
"01d5456b25bf80cf0bc661f5fe65167382cb67c324ab88f9a622c0722f3934bei0",
"6cd9d02f08c818eca61fd40362855dce8157af0708460023710b2982053b2fbei0",
"ff4f062a8e1fba6d5089a7517bfadf996a24a79181cfffa479fb5142227c0bbei0",
"da23c5f3ca73c51fecdbfb7a77f028eb269bc438192e08fa7828850f7907b9bdi0",
"804a382fe000066845dd2f53bb33d880dce201b0595da73843f115d85f789dbdi0",
"3a837c80348691f965dbacf9414498c19eea184be8872509830ddc8e555611bdi0",
"d87bdf8547ff587af6ab4e9ba58cfabd81e9dbae29ebee7f91ee4ce504b1e7bci0",
"47f448eab72fa27e3ecd48cd9366f3900e13e3f385081a63027c3252452dcebci0",
"f98248bd62d1893623d07789d2b77c76c726343272fe33cffd0598496792bfbci0",
"9f4f89d78bf18eec65fad5a7e1e4b48023733678df1f831f762713aa28a7adbci0",
"99603a91e9c394b8a08e41292afa612773054a1852ad50b70b926e8ed5ff98bci0",
"ab9a8bc85f80436eb801f0b44525e735949b702b88165f276d9d5370a08792bci0",
"68a66f966af6a8df8a697d026f53ac3d1bbf16fe60e4c00046c38ca42e4c6abci0",
"f85395c84a44416973091c7b5b54093511a4e420d79b8a95f25392f60ee164bci0",
"0d94b03575c0abcd9b50463402c57c05a8fb13fdc4838b3ea38fdb4214a93fbci0",
"9101836abf01e3c2ec3b131bd392063aab15aafc15c83331e33bd5f27bddeabbi0",
"a6b1b98105d3a8b6552e191e0bc300ac432bdba02b87d7e69cca7a5f22e9cebbi0",
"38031a62f117119561f095109367359b1ec5b513cce605e99d3ad4fb3d73ccbbi0",
"518505a149382542af4a249a0ea3e8393eb11baaf1e607bb7fa089ccb0acb7bbi0",
"d6033366e191c597b5d060ccd11213625f7ca276a8dd3649db9463c401d654bbi0",
"23c94df33db29f2068237528c50bccb9af14dabeb1b4c370c1ce2cfaf2bb12bbi0",
"11407eeb6ecd4b5f721d3bdbb24d80c57bf978438466d44a37f4400dcf40dcbai0",
"26fd15fe036f3ff842e060207150594d5327963a5af729d9d7bb37f9b27cc9bai0",
"c85d49988d0a9e63b57a42b0f43b085ac848b4eec3c7567c6ff9835b28b7bfbai0",
"6f9d8c063ebd8777d42609563d5a2753739ba9822afdbd3f30248aa3622c1bbai0",
"59a5c6c8ebf33e8af27c5ca3a1fc34c6ec4a3933024431d74a7107c4cdb518bai0",
"113a792a0665cc766fe1725e94da88af51d637f0b4b2d8bab8acefc60a7fa2b9i0",
"74f75991f2f1f877c01834c8840778a67a66403ec6fe6db4889bd773a0c8f2b8i0",
"1aea70b0b26f38543f5ac323c88287b8b128f275eac1b26e316a86e14bf6c4b8i0",
"fb24445c829b8e9739be2153bf44f8962191c9ef470fa5a0a8cf6014d3939ab8i0",
"4f7bd6fb95500aad569bd9772f49545f997ffed98782938e6d030d1f0ea482b8i0",
"340716bc1585d9b57fc6c21e298caed04c84b27bd45873799b31b63d7fb965b8i0",
"cc515eb5a3125b80a8d7a2ac8e0ba54206185715332ebe6434dfbc86661053b8i0",
"e1ad8b866a5b25b67ccaf2b4e63eddb02b24e2a7abd8c3fd2c5d4ae488f83bb8i0",
"bd723e4bc055e8a43d52e80041664b94dd24a7e1a1c4aa02f39841596a0d76b7i0",
"45efc579e0fbbc539eeaf6fedc30fdd156fca6e32d7d0fff87c568b411a651b7i0",
"6ff468ac685ea84a44977322e23371aee5c6eb75d35207a60dd8b43d32632db7i0",
"9adda4d80df93b592ed215aee39da04fe4a43aec06a97f7228b483a747f4ebb6i0",
"adf97725b496134ebfd0eaaceb63f23d94052a585f557206f33443c2d659e6b6i0",
"41565db258d48adc4e0ff3467534890ee6a12beaed5378847667735affb8e2b6i0",
"fab5be5f8860e29eb394e56bd0a668752c346d1bdda73dc6a2fc2e824a17dbb6i0",
"1307d9531f2759ffcd125bdaf31ed9116c103a991a17d5b43b2e41a7e17460b6i0",
"5494d587b738c901b727c39628d94eb021a836bd78e82b20f6e331ed5c2850b6i0",
"6e98fb69311cf79bd271b13411df9e6b6138705fd08db20fe36a897eb4b513b6i0",
"f6f5d494bd9211ec6b71e9270f4a87237647e7f655ce7c10392fe1c80d8affb5i0",
"7fe37c78b2be6788af0fe810d5b6aedb1bb9c166b70667105e43de13234ee6b5i0",
"8093e0684c094a22b23f328b1dbd50c487c3ab37bc230de456a12b7fde95bcb5i0",
"7511c5ef23ab23f8e009e368b7954c4ed7e67a7a1cd94bae99b7d93a192a90b5i0",
"c98658f7731c9b5342c6a51f0860fec09fbcab9867b986d4704736abf1b0f6b4i0",
"b56001aa7fc59eb40068ea41e0f35a54f4d73c3483cd69ae0c26bb95dfc9e9b4i0",
"4147fbe40586287b1e6144c066731e43959e1aa7d3c7c8ea301ee44fd0b37fb4i0",
"3d43b7b45e4c0e062b21147be0ebdd68f9094f4e9c7b8a686aeb2948b40fbfb3i0",
"6e66c9e03e18250806515a3a60e4a6012f37e87aa1446a679ade384c7e55a3b3i0",
"8215caa5d781be0d5fae9ce7cb1a04efa17f82fb66cb2fa99e4c7bb1a2f479b3i0",
"ce288cac29042474740fa477163767a0fcf74b228e48748630ac7193118429b3i0",
"6d35d614a3574e85d80e27fdc5854a055c484dbf09f155411e279a839aa8ddb2i0",
"906804e50f92a51329b5009d65e5f6e3c32e512279c835c3171ea6765eaca6b2i0",
"70bd0c3531d62ab836187dd956e1e3fb7ef9903124b818a78e5ecd5198f5a3b2i0",
"92c2668efad88467edded7ffc50fb05a063e7b2b555ccc2073f41d599bb037b2i0",
"e97700fc461598ac01bcb2b74cde9ee31e608bfc7f53047e9e494697509f1fb2i0",
"f9d7f767ae23e67ccb9ffd21d9f83ef9a7b6617f5988a08481e1f722de05d1b1i0",
"262f07835303d1e3a8dce57c93488ed1512ad8ed633c9f129c1bc82535c99ab1i0",
"4ea5e8e9cc2c7414d2652c8db87ef556b48e61d60f68cef9c319eb87566e3db1i0",
"acfae264071fa0bb8bd7875e2d607ad48fac549c0817c2dba40858ee95571eb1i0",
"ed150d8980b923b214b8ea115a31933bbebf82666f93c68a1e11ebd3fee3d9b0i0",
"d9ea50a1c374d2feaf87a4ba82967aab419c1ecc4caac3964f69dac7323ca0b0i0"
],
"more": true,
"page_index": 9
}
GET
/inscriptions/block/<BLOCKHEIGHT>
Description
Get inscriptions for a specific block.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/inscriptions/block/767430
{
"ids": [
"6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0"
],
"more": false,
"page_index": 0
}
GET
/output/<OUTPOINT>
Description
Returns information about a UTXO, including inscriptions within it.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/output/bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:0
{
"address": "bc1pz4kvfpurqc2hwgrq0nwtfve2lfxvdpfcdpzc6ujchyr3ztj6gd9sfr6ayf",
"indexed": false,
"inscriptions": [],
"outpoint": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:0",
"runes": {},
"sat_ranges": null,
"script_pubkey": "OP_PUSHNUM_1 OP_PUSHBYTES_32 156cc4878306157720607cdcb4b32afa4cc6853868458d7258b907112e5a434b",
"spent": true,
"transaction": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed",
"value": 10000
}
POST
/outputs
Description
List information from a list of outputs.
예제
curl -s -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '["bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:0", "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:1"]' \
http://0.0.0.0:80/outputs
[
{
"address": "bc1pz4kvfpurqc2hwgrq0nwtfve2lfxvdpfcdpzc6ujchyr3ztj6gd9sfr6ayf",
"indexed": false,
"inscriptions": [],
"outpoint": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:0",
"runes": {},
"sat_ranges": null,
"script_pubkey": "OP_PUSHNUM_1 OP_PUSHBYTES_32 156cc4878306157720607cdcb4b32afa4cc6853868458d7258b907112e5a434b",
"spent": true,
"transaction": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed",
"value": 10000
},
{
"address": "bc1pkc2cdnm6xermt2vzxg9wwcur5prgpl6pms3xf9ydtyax5pnqsgwqvuu5cq",
"indexed": false,
"inscriptions": [],
"outpoint": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:1",
"runes": {},
"sat_ranges": null,
"script_pubkey": "5120b61586cf7a3647b5a982320ae76383a04680ff41dc2264948d593a6a0660821c",
"spent": true,
"transaction": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed",
"value": 483528
}
]
GET
/outputs/<ADDRESS>
Description
Get UTXOs held by <ADDRESS>
.
Query Parameters
type
(optional)
Value | Description |
---|---|
any | return all UTXOs |
cardinal | return UTXOs not containing inscriptions or runes |
inscribed | return UTXOs containing inscriptions |
runic | return UTXOs containing runes |
예제
curl -s -H "Accept: application/json" \
"http://0.0.0.0:80/outputs/358mMRwcxuCSkKheuVWaXHJBGKrXo3f6JW?type=cardinal"
[
{
"address": "358mMRwcxuCSkKheuVWaXHJBGKrXo3f6JW",
"indexed": true,
"inscriptions": [],
"outpoint": "6737d77ee9fba5f37e5f4128b03479209030bf44f78ffa3f4e94bf9783691b00:0",
"runes": {},
"sat_ranges": [
[
567775159437503,
567775159443555
],
[
1266853954166100,
1266853954177531
],
[
1210436862054339,
1210436862084993
],
[
690914221328806,
690914221362332
],
[
957021421066680,
957021421075017
]
],
"script_pubkey": "a91425c70777dfcf84ba7479483e262e1bc7bb0bf4d587",
"spent": false,
"transaction": "6737d77ee9fba5f37e5f4128b03479209030bf44f78ffa3f4e94bf9783691b00",
"value": 90000
},
{
"address": "358mMRwcxuCSkKheuVWaXHJBGKrXo3f6JW",
"indexed": true,
"inscriptions": [],
"outpoint": "0cfa3e55f14812c119e47936d95abbb4e04f3094f6d86ac16c6e10018b0b2900:0",
"runes": {},
"sat_ranges": [
[
1773029001419378,
1773029001509378
]
],
"script_pubkey": "a91425c70777dfcf84ba7479483e262e1bc7bb0bf4d587",
"spent": false,
"transaction": "0cfa3e55f14812c119e47936d95abbb4e04f3094f6d86ac16c6e10018b0b2900",
"value": 90000
}
]
GET
/rune/<RUNE>
Description
Returns details about the specified rune. Requires index with --index-runes
flag.
예제
curl -s -H "Accept: application/json" \
http://localhost/rune/UNCOMMONGOODS
{
"entry": {
"block": 1,
"burned": 139,
"divisibility": 0,
"etching": "0000000000000000000000000000000000000000000000000000000000000000",
"mints": 33891693,
"number": 0,
"premine": 0,
"spaced_rune": "UNCOMMON•GOODS",
"symbol": "⧉",
"terms": {
"amount": 1,
"cap": 340282366920938463463374607431768211455,
"height": [
840000,
1050000
],
"offset": [
null,
null
]
},
"timestamp": 0,
"turbo": true
},
"id": "1:0",
"mintable": true,
"parent": null
}
GET
/runes
Description
Returns details for last 100 inscribed runes. Requires index with --index-runes
flag.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/runes
{
"entries": [
[
"864348:823",
{
"block": 864348,
"burned": 0,
"divisibility": 0,
"etching": "645431123f5ff8b92d057803f2ba786689fd04f2d968d8fb6a4162b63cabc4fd",
"mints": 0,
"number": 119793,
"premine": 0,
"spaced_rune": "ZKSKOOUGYPXB",
"symbol": null,
"terms": {
"amount": 1,
"cap": 87187755,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728166072,
"turbo": false
}
],
[
"864348:822",
{
"block": 864348,
"burned": 0,
"divisibility": 0,
"etching": "9d3a1200adfcb2e0ef07e4975120980befcc265cd85b9f2300bc12d4a1ab1beb",
"mints": 0,
"number": 119792,
"premine": 0,
"spaced_rune": "VEMRWZCGQRLL",
"symbol": null,
"terms": {
"amount": 1,
"cap": 183543298,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728166072,
"turbo": false
}
],
[
"864346:427",
{
"block": 864346,
"burned": 0,
"divisibility": 0,
"etching": "2acaba44a6dc31cc5f8a8f4ee3a10eb9ca74e47d62975709cb8e81723d91a20d",
"mints": 0,
"number": 119791,
"premine": 0,
"spaced_rune": "LBQPCHACURXD",
"symbol": null,
"terms": {
"amount": 1,
"cap": 12894945,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728165011,
"turbo": false
}
],
[
"864343:2413",
{
"block": 864343,
"burned": 0,
"divisibility": 0,
"etching": "6698cd13f630107ccc4b3058cc09b1718aa435e8f9c4eba6b08eea5d13ee809b",
"mints": 0,
"number": 119790,
"premine": 1000000000,
"spaced_rune": "BABY•LEN•SASSAMAN",
"symbol": "Ⱡ",
"terms": {
"amount": 100000,
"cap": 11000,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728162943,
"turbo": false
}
],
[
"864342:2591",
{
"block": 864342,
"burned": 0,
"divisibility": 1,
"etching": "095513866c6e7aca84a39f403caac493eaa2f53eda848aaee3e96463571ec6d6",
"mints": 0,
"number": 119789,
"premine": 30000,
"spaced_rune": "COMPLETED•IT•MATE",
"symbol": "⚽",
"terms": {
"amount": 100,
"cap": 299999700,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728162376,
"turbo": true
}
],
[
"864338:4768",
{
"block": 864338,
"burned": 0,
"divisibility": 0,
"etching": "0d04505188efc69d4e2cb389607663ff556c062e1e2f8c890bfc598c637700ab",
"mints": 0,
"number": 119788,
"premine": 0,
"spaced_rune": "IJEIKMFKELRFRGRGRGEFREFGR",
"symbol": "d",
"terms": {
"amount": 211,
"cap": 554553,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728160156,
"turbo": false
}
],
[
"864338:4767",
{
"block": 864338,
"burned": 0,
"divisibility": 0,
"etching": "e0490721505254c83a69ce1411b1659b6ecd0690751cf43ac45240ca7d3ab4fb",
"mints": 0,
"number": 119787,
"premine": 0,
"spaced_rune": "CQHMUFFTWWPF",
"symbol": null,
"terms": {
"amount": 1,
"cap": 14372222,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728160156,
"turbo": false
}
],
[
"864338:4766",
{
"block": 864338,
"burned": 0,
"divisibility": 0,
"etching": "ada836a0e9c834977161543ba7bace0b552e55f88da0398626b1c49a170502dd",
"mints": 0,
"number": 119786,
"premine": 0,
"spaced_rune": "KJMKPVMKREMVBVBFBVFD",
"symbol": "3",
"terms": {
"amount": 332,
"cap": 211222,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728160156,
"turbo": false
}
],
[
"864337:4402",
{
"block": 864337,
"burned": 0,
"divisibility": 0,
"etching": "ed45aaf2e9b82d55e35a8d0654d0bb044d1d3e2fdd3eb8787d572854316c53c2",
"mints": 0,
"number": 119785,
"premine": 0,
"spaced_rune": "JNJKMLKMNJCMPMCESCVDSV•DV",
"symbol": "2",
"terms": {
"amount": 3222,
"cap": 1111111,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728160097,
"turbo": false
}
],
[
"864335:913",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "435cc412c946ced0a5ae5a50ee41d2b541f06f09b6f587619507dfbcc61b8842",
"mints": 0,
"number": 119784,
"premine": 0,
"spaced_rune": "UOBYCVAGPLNO",
"symbol": null,
"terms": {
"amount": 1,
"cap": 194090811,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:912",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "79d77e44d66af6ec82ff7970eb3f15b9537408e3888ed0348a265810e99ddd3a",
"mints": 0,
"number": 119783,
"premine": 0,
"spaced_rune": "YNJMQPGPUGWN",
"symbol": null,
"terms": {
"amount": 1,
"cap": 71782828,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:910",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "b014db8f651ec05a1f261f3569c66973318787ad4c7410d6677fc6fcc45e5cfe",
"mints": 0,
"number": 119782,
"premine": 0,
"spaced_rune": "FDLQGMGRYAMF",
"symbol": null,
"terms": {
"amount": 1,
"cap": 135966360,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:909",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "bd649ba830b262ddcf24b0d6da5091f2dbf1276af26ad0809b65a95c42ddbec2",
"mints": 0,
"number": 119781,
"premine": 0,
"spaced_rune": "LBPOUDNUAIDK",
"symbol": null,
"terms": {
"amount": 1,
"cap": 128338720,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:908",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "4ee02e12ba76c8c85208510e078810efbb3843fdaa1323d4e84f40a753d97380",
"mints": 0,
"number": 119780,
"premine": 0,
"spaced_rune": "RNVHGUYHAUCM",
"symbol": null,
"terms": {
"amount": 1,
"cap": 3346818,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:907",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "c9b47a71a2a552450f6259262fc0c23c45148fccb52ee32cd5bb668a467a9f5d",
"mints": 0,
"number": 119779,
"premine": 0,
"spaced_rune": "RTSQQFKTEEBX",
"symbol": null,
"terms": {
"amount": 1,
"cap": 85692692,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:906",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "df772301fef3107549d200fea54f47e46d6aae197f85e93b0068749640028055",
"mints": 0,
"number": 119778,
"premine": 0,
"spaced_rune": "IWHXSPKPYQOX",
"symbol": null,
"terms": {
"amount": 1,
"cap": 166869547,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:905",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "186049ed6091d0a4d9e1abf6d436a6af7bc7603a33c71031b8bb0ba02f386b3a",
"mints": 0,
"number": 119777,
"premine": 0,
"spaced_rune": "OHDKZWZHYLVL",
"symbol": null,
"terms": {
"amount": 1,
"cap": 189310557,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:904",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "74e72d9c58ce6300807d1ca6343fa95f5fa34f3d7e29fc95a94b553ff4c66b36",
"mints": 0,
"number": 119776,
"premine": 0,
"spaced_rune": "NSZNPZDDFYCT",
"symbol": null,
"terms": {
"amount": 1,
"cap": 72959668,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:386",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "76e81c2a204074d61869f58ce86bf8ecfe66f1213bd444c4f22c6f638a401ef9",
"mints": 0,
"number": 119775,
"premine": 0,
"spaced_rune": "NTOOWMNTOOWMNTOOWM",
"symbol": null,
"terms": {
"amount": 1,
"cap": 1000000,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864334:4073",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "6c132c6b69ff19d3dbbd0165bcf2fb5db9bba717824a3ff93e94e976b7da5f9e",
"mints": 0,
"number": 119774,
"premine": 0,
"spaced_rune": "HIDDEN•SELDOM•DISEASE•WISE",
"symbol": null,
"terms": {
"amount": 1,
"cap": 1127,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:4070",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "adcbc4dc91e0b354baacb37be52e187fab2cf619c43f0675b26c5e7d58ad1ded",
"mints": 0,
"number": 119773,
"premine": 0,
"spaced_rune": "TYDSJXISYECCOQYYSS",
"symbol": null,
"terms": {
"amount": 1,
"cap": 2361833545833,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:762",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "259fc5e99770c5d2ed0547571981ad191554282e6ab4b2a6eb4083c392edc1cb",
"mints": 0,
"number": 119772,
"premine": 0,
"spaced_rune": "BEGCOAJVXEHW",
"symbol": null,
"terms": {
"amount": 1,
"cap": 38385326,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:433",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "4d324233f38c0cbf36bf1a76e161cbe0ff9f0efb6ee78d94dffdd5f16ec7e8ba",
"mints": 0,
"number": 119771,
"premine": 0,
"spaced_rune": "BEDIALAMDARBEDIALAMDAR",
"symbol": null,
"terms": {
"amount": 5,
"cap": 100000,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:432",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "f7b804462b33fd468ef3b171071094f3498968b0a488d08489e16058d470d809",
"mints": 0,
"number": 119770,
"premine": 0,
"spaced_rune": "RUTHMARTINRUTHMARTIN",
"symbol": null,
"terms": {
"amount": 1,
"cap": 999999,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:431",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "51ce542a9557a4894b0dfd705d13268682aa16c83e5eee9c5b1ba4d67113def8",
"mints": 0,
"number": 119769,
"premine": 0,
"spaced_rune": "ULTIVERSEULTIVERSE",
"symbol": null,
"terms": {
"amount": 1,
"cap": 7777777,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:182",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "195dc952cb7c9e8a5c370fe098b4aa1d8bba8225bb4706ee7243b8e3c43f2b32",
"mints": 0,
"number": 119768,
"premine": 0,
"spaced_rune": "NUQHRKVWSYEA",
"symbol": null,
"terms": {
"amount": 1,
"cap": 3063483,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864333:3461",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "65078629f16f0ce11a91da3de877a0ac5a25b5ed4c68d0ba3f6a8e75eab5f871",
"mints": 0,
"number": 119767,
"premine": 0,
"spaced_rune": "FMTJRFVGNHVZNUCB",
"symbol": null,
"terms": {
"amount": 1,
"cap": 5541274870406,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3458",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "8471194b68cfab89a9d6112caf62f97819172d397e91674ec5413ad8f27b2828",
"mints": 0,
"number": 119766,
"premine": 0,
"spaced_rune": "WEELZZLGHGDRTO",
"symbol": null,
"terms": {
"amount": 1,
"cap": 507317119633,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3440",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "90d530d1daf7f1f6ece388a846fe8173a427f71b7e1c5cfc1c035dcd1fc0b017",
"mints": 0,
"number": 119765,
"premine": 0,
"spaced_rune": "MIIOBBPODENFJ",
"symbol": null,
"terms": {
"amount": 1,
"cap": 503174265447,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3437",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "5c0d2bbf9543cd50293fd6671d94502fa08c8c6d11431e0eee4ac3aedbdbc5bc",
"mints": 0,
"number": 119764,
"premine": 0,
"spaced_rune": "TASTE•RISING•FULL",
"symbol": null,
"terms": {
"amount": 1,
"cap": 4812,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3434",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "1766810d3f53cfce81a4e0620c21e8e4643c7a40936dbafa6e88339c025fb5f6",
"mints": 0,
"number": 119763,
"premine": 0,
"spaced_rune": "REGION•MARK•LOW",
"symbol": null,
"terms": {
"amount": 1,
"cap": 2470,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3433",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "f2a6805462cebffc6eb5855d1205dedf9c7f746a7dfd420c153011bb572f58ba",
"mints": 0,
"number": 119762,
"premine": 0,
"spaced_rune": "QHKKEWPTDMNB",
"symbol": null,
"terms": {
"amount": 1,
"cap": 53660832,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3432",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "5d2127d84533fc9d486eaec1a2b76b2d349fe63a06a9d14847b667d360af6e19",
"mints": 0,
"number": 119761,
"premine": 0,
"spaced_rune": "IWLUKGYIWMBP",
"symbol": null,
"terms": {
"amount": 1,
"cap": 94339731,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3431",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "ac4668d63f66c94515dbc2a74faa9152018758a75432cc085a7e7638a24cbc12",
"mints": 0,
"number": 119760,
"premine": 0,
"spaced_rune": "KWUFVEOJVKGQ",
"symbol": null,
"terms": {
"amount": 1,
"cap": 196312580,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:2714",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "c642cd4cc7a075c61d3a32b949217990aa91dfc928f12a2cdba1f2f228c699c7",
"mints": 26,
"number": 119759,
"premine": 210000,
"spaced_rune": "BOUNCE•THE•BITCOIN•CAT",
"symbol": "🐱",
"terms": {
"amount": 1000,
"cap": 20790,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": true
}
],
[
"864333:2482",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "cc2415293c275bea4d73ff8f45f68f269686b819de447f50ec6988ac04a62d1b",
"mints": 0,
"number": 119758,
"premine": 30000000,
"spaced_rune": "BITCAT•IS•IN•CONTROL",
"symbol": "🐈",
"terms": {
"amount": 5000,
"cap": 194000,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": true
}
],
[
"864333:2462",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "a75f792be155a0b53691289433a6413c1efb1aeaf970f752ee70be3c6e755a06",
"mints": 0,
"number": 119757,
"premine": 0,
"spaced_rune": "FIRST•CAT•EATING•BITCOINER",
"symbol": "🙀",
"terms": {
"amount": 1000,
"cap": 21000,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": true
}
],
[
"864333:1142",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "7488c2909e2bb5f39fb836ee1e18c23487d078e48e2420cc11776c8d7931fea5",
"mints": 0,
"number": 119756,
"premine": 0,
"spaced_rune": "AI•CRYPTO•AI•CRYPTO",
"symbol": "A",
"terms": {
"amount": 1000,
"cap": 1,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1140",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "a024e2d4c4e15eab941376a954bb9176bc95990ba6b2a6d31e5b7c26cd8d7e7c",
"mints": 0,
"number": 119755,
"premine": 0,
"spaced_rune": "SACMKSOKCMPOKMWCLWMCLWCDWC",
"symbol": "c",
"terms": {
"amount": 221,
"cap": 2111111,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1136",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "d6358e0601130c5ebbdb535aa93bbe2e752fd7fd6eee8601fe5af29e7ff179e1",
"mints": 0,
"number": 119754,
"premine": 0,
"spaced_rune": "XQOFVAHHLCQR",
"symbol": null,
"terms": {
"amount": 1,
"cap": 94964916,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1135",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "62aa2bd48b0eb8a1c3bb090c6129bdc52a2348f3b8e25a2e2eeaa27313e242af",
"mints": 0,
"number": 119753,
"premine": 0,
"spaced_rune": "YEPWCVNODTII",
"symbol": null,
"terms": {
"amount": 1,
"cap": 39185064,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1134",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "e3e6a144d3ac57d35f7f141f79ea818bd26a78bf900c2d0aeaa2a95ce68f8c9e",
"mints": 0,
"number": 119752,
"premine": 0,
"spaced_rune": "SDFGJUJTYHTGRSFAD",
"symbol": null,
"terms": {
"amount": 1,
"cap": 5,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1133",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "97600a89179c0bfd4b7c69bc5f4e9fc2f206124fbc08d4872f18ac6be29a525e",
"mints": 0,
"number": 119751,
"premine": 0,
"spaced_rune": "XQEKAAGEYDXY",
"symbol": null,
"terms": {
"amount": 1,
"cap": 147617461,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1131",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "8ecabca3a2b1518c67c5ee41c93e7874d1117edfd0b36e46ea68eb83e6f9eaad",
"mints": 0,
"number": 119750,
"premine": 0,
"spaced_rune": "XFHSGMZJEUML",
"symbol": null,
"terms": {
"amount": 1,
"cap": 1014672,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1130",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "77b1518d7ad77d89118eeb8eb92c120e1732d2e7ce9d6780cda180f5f4968df6",
"mints": 0,
"number": 119749,
"premine": 0,
"spaced_rune": "DJLNUHRYYTGR",
"symbol": null,
"terms": {
"amount": 1,
"cap": 146717679,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1129",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "4da09c158447950fabd281c7910c6e3f251b9b9a98ab7058e2f4b26304e332ee",
"mints": 0,
"number": 119748,
"premine": 0,
"spaced_rune": "CBAQVALKVMYP",
"symbol": null,
"terms": {
"amount": 1,
"cap": 181932658,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1128",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "b947075130f5a5f93a5cdfa9a216c76b761ff7cd2fb7ca677b3d00a3ca5d53e0",
"mints": 0,
"number": 119747,
"premine": 0,
"spaced_rune": "POJSRGWQBBWQ",
"symbol": null,
"terms": {
"amount": 1,
"cap": 100105873,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1127",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "a356dd06600bb163cb4d68bbe601f83d987c3c2cd456e3784616ab297d1843c0",
"mints": 0,
"number": 119746,
"premine": 0,
"spaced_rune": "FMPQPSLKENKY",
"symbol": null,
"terms": {
"amount": 1,
"cap": 82531312,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1126",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "b6ecdb27bb269949f58ace2ba162726483070e80c140dc60329b5fdbbd3e6395",
"mints": 0,
"number": 119745,
"premine": 0,
"spaced_rune": "GOARBTCEASGJ",
"symbol": null,
"terms": {
"amount": 1,
"cap": 99967467,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1125",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "abf680ed211d18428ddda208f164539fbf662705bd88d4041575c53e655ed794",
"mints": 0,
"number": 119744,
"premine": 0,
"spaced_rune": "MNBIUEEAKPBJ",
"symbol": null,
"terms": {
"amount": 1,
"cap": 168164931,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1124",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
"mints": 0,
"number": 119743,
"burned": 0,
"divisibility": 0,
"etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
"mints": 0,
"number": 119743,
"divisibility": 0,
"etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
"mints": 0,
"number": 119743,
"premine": 0,
"spaced_rune": "CWTYCFSOTBSU",
"symbol": null,
"etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
"mints": 0,
"number": 119743,
"premine": 0,
"spaced_rune": "CWTYCFSOTBSU",
"symbol": null,
"terms": {
"amount": 1,
"cap": 29807122,
"mints": 0,
"number": 119743,
"premine": 0,
"spaced_rune": "CWTYCFSOTBSU",
"symbol": null,
"terms": {
"amount": 1,
"cap": 29807122,
"premine": 0,
"spaced_rune": "CWTYCFSOTBSU",
"symbol": null,
"terms": {
"amount": 1,
"cap": 29807122,
"height": [
null,
null
"terms": {
"amount": 1,
"cap": 29807122,
"height": [
null,
null
"height": [
null,
null
null
],
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
]
],
"more": true,
"prev": null,
"next": 1
}
GET
/runes/<PAGE>
Description
Pagination allows you to specify which page of 100 runes you'd like to return.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/runes/0
{
"entries": [
[
"864348:823",
{
"block": 864348,
"burned": 0,
"divisibility": 0,
"etching": "645431123f5ff8b92d057803f2ba786689fd04f2d968d8fb6a4162b63cabc4fd",
"mints": 0,
"number": 119793,
"premine": 0,
"spaced_rune": "ZKSKOOUGYPXB",
"symbol": null,
"terms": {
"amount": 1,
"cap": 87187755,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728166072,
"turbo": false
}
],
[
"864348:822",
{
"block": 864348,
"burned": 0,
"divisibility": 0,
"etching": "9d3a1200adfcb2e0ef07e4975120980befcc265cd85b9f2300bc12d4a1ab1beb",
"mints": 0,
"number": 119792,
"premine": 0,
"spaced_rune": "VEMRWZCGQRLL",
"symbol": null,
"terms": {
"amount": 1,
"cap": 183543298,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728166072,
"turbo": false
}
],
[
"864346:427",
{
"block": 864346,
"burned": 0,
"divisibility": 0,
"etching": "2acaba44a6dc31cc5f8a8f4ee3a10eb9ca74e47d62975709cb8e81723d91a20d",
"mints": 0,
"number": 119791,
"premine": 0,
"spaced_rune": "LBQPCHACURXD",
"symbol": null,
"terms": {
"amount": 1,
"cap": 12894945,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728165011,
"turbo": false
}
],
[
"864343:2413",
{
"block": 864343,
"burned": 0,
"divisibility": 0,
"etching": "6698cd13f630107ccc4b3058cc09b1718aa435e8f9c4eba6b08eea5d13ee809b",
"mints": 0,
"number": 119790,
"premine": 1000000000,
"spaced_rune": "BABY•LEN•SASSAMAN",
"symbol": "Ⱡ",
"terms": {
"amount": 100000,
"cap": 11000,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728162943,
"turbo": false
}
],
[
"864342:2591",
{
"block": 864342,
"burned": 0,
"divisibility": 1,
"etching": "095513866c6e7aca84a39f403caac493eaa2f53eda848aaee3e96463571ec6d6",
"mints": 0,
"number": 119789,
"premine": 30000,
"spaced_rune": "COMPLETED•IT•MATE",
"symbol": "⚽",
"terms": {
"amount": 100,
"cap": 299999700,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728162376,
"turbo": true
}
],
[
"864338:4768",
{
"block": 864338,
"burned": 0,
"divisibility": 0,
"etching": "0d04505188efc69d4e2cb389607663ff556c062e1e2f8c890bfc598c637700ab",
"mints": 0,
"number": 119788,
"premine": 0,
"spaced_rune": "IJEIKMFKELRFRGRGRGEFREFGR",
"symbol": "d",
"terms": {
"amount": 211,
"cap": 554553,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728160156,
"turbo": false
}
],
[
"864338:4767",
{
"block": 864338,
"burned": 0,
"divisibility": 0,
"etching": "e0490721505254c83a69ce1411b1659b6ecd0690751cf43ac45240ca7d3ab4fb",
"mints": 0,
"number": 119787,
"premine": 0,
"spaced_rune": "CQHMUFFTWWPF",
"symbol": null,
"terms": {
"amount": 1,
"cap": 14372222,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728160156,
"turbo": false
}
],
[
"864338:4766",
{
"block": 864338,
"burned": 0,
"divisibility": 0,
"etching": "ada836a0e9c834977161543ba7bace0b552e55f88da0398626b1c49a170502dd",
"mints": 0,
"number": 119786,
"premine": 0,
"spaced_rune": "KJMKPVMKREMVBVBFBVFD",
"symbol": "3",
"terms": {
"amount": 332,
"cap": 211222,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728160156,
"turbo": false
}
],
[
"864337:4402",
{
"block": 864337,
"burned": 0,
"divisibility": 0,
"etching": "ed45aaf2e9b82d55e35a8d0654d0bb044d1d3e2fdd3eb8787d572854316c53c2",
"mints": 0,
"number": 119785,
"premine": 0,
"spaced_rune": "JNJKMLKMNJCMPMCESCVDSV•DV",
"symbol": "2",
"terms": {
"amount": 3222,
"cap": 1111111,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728160097,
"turbo": false
}
],
[
"864335:913",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "435cc412c946ced0a5ae5a50ee41d2b541f06f09b6f587619507dfbcc61b8842",
"mints": 0,
"number": 119784,
"premine": 0,
"spaced_rune": "UOBYCVAGPLNO",
"symbol": null,
"terms": {
"amount": 1,
"cap": 194090811,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:912",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "79d77e44d66af6ec82ff7970eb3f15b9537408e3888ed0348a265810e99ddd3a",
"mints": 0,
"number": 119783,
"premine": 0,
"spaced_rune": "YNJMQPGPUGWN",
"symbol": null,
"terms": {
"amount": 1,
"cap": 71782828,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:910",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "b014db8f651ec05a1f261f3569c66973318787ad4c7410d6677fc6fcc45e5cfe",
"mints": 0,
"number": 119782,
"premine": 0,
"spaced_rune": "FDLQGMGRYAMF",
"symbol": null,
"terms": {
"amount": 1,
"cap": 135966360,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:909",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "bd649ba830b262ddcf24b0d6da5091f2dbf1276af26ad0809b65a95c42ddbec2",
"mints": 0,
"number": 119781,
"premine": 0,
"spaced_rune": "LBPOUDNUAIDK",
"symbol": null,
"terms": {
"amount": 1,
"cap": 128338720,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:908",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "4ee02e12ba76c8c85208510e078810efbb3843fdaa1323d4e84f40a753d97380",
"mints": 0,
"number": 119780,
"premine": 0,
"spaced_rune": "RNVHGUYHAUCM",
"symbol": null,
"terms": {
"amount": 1,
"cap": 3346818,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:907",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "c9b47a71a2a552450f6259262fc0c23c45148fccb52ee32cd5bb668a467a9f5d",
"mints": 0,
"number": 119779,
"premine": 0,
"spaced_rune": "RTSQQFKTEEBX",
"symbol": null,
"terms": {
"amount": 1,
"cap": 85692692,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:906",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "df772301fef3107549d200fea54f47e46d6aae197f85e93b0068749640028055",
"mints": 0,
"number": 119778,
"premine": 0,
"spaced_rune": "IWHXSPKPYQOX",
"symbol": null,
"terms": {
"amount": 1,
"cap": 166869547,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:905",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "186049ed6091d0a4d9e1abf6d436a6af7bc7603a33c71031b8bb0ba02f386b3a",
"mints": 0,
"number": 119777,
"premine": 0,
"spaced_rune": "OHDKZWZHYLVL",
"symbol": null,
"terms": {
"amount": 1,
"cap": 189310557,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:904",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "74e72d9c58ce6300807d1ca6343fa95f5fa34f3d7e29fc95a94b553ff4c66b36",
"mints": 0,
"number": 119776,
"premine": 0,
"spaced_rune": "NSZNPZDDFYCT",
"symbol": null,
"terms": {
"amount": 1,
"cap": 72959668,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864335:386",
{
"block": 864335,
"burned": 0,
"divisibility": 0,
"etching": "76e81c2a204074d61869f58ce86bf8ecfe66f1213bd444c4f22c6f638a401ef9",
"mints": 0,
"number": 119775,
"premine": 0,
"spaced_rune": "NTOOWMNTOOWMNTOOWM",
"symbol": null,
"terms": {
"amount": 1,
"cap": 1000000,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158372,
"turbo": false
}
],
[
"864334:4073",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "6c132c6b69ff19d3dbbd0165bcf2fb5db9bba717824a3ff93e94e976b7da5f9e",
"mints": 0,
"number": 119774,
"premine": 0,
"spaced_rune": "HIDDEN•SELDOM•DISEASE•WISE",
"symbol": null,
"terms": {
"amount": 1,
"cap": 1127,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:4070",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "adcbc4dc91e0b354baacb37be52e187fab2cf619c43f0675b26c5e7d58ad1ded",
"mints": 0,
"number": 119773,
"premine": 0,
"spaced_rune": "TYDSJXISYECCOQYYSS",
"symbol": null,
"terms": {
"amount": 1,
"cap": 2361833545833,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:762",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "259fc5e99770c5d2ed0547571981ad191554282e6ab4b2a6eb4083c392edc1cb",
"mints": 0,
"number": 119772,
"premine": 0,
"spaced_rune": "BEGCOAJVXEHW",
"symbol": null,
"terms": {
"amount": 1,
"cap": 38385326,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:433",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "4d324233f38c0cbf36bf1a76e161cbe0ff9f0efb6ee78d94dffdd5f16ec7e8ba",
"mints": 0,
"number": 119771,
"premine": 0,
"spaced_rune": "BEDIALAMDARBEDIALAMDAR",
"symbol": null,
"terms": {
"amount": 5,
"cap": 100000,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:432",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "f7b804462b33fd468ef3b171071094f3498968b0a488d08489e16058d470d809",
"mints": 0,
"number": 119770,
"premine": 0,
"spaced_rune": "RUTHMARTINRUTHMARTIN",
"symbol": null,
"terms": {
"amount": 1,
"cap": 999999,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:431",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "51ce542a9557a4894b0dfd705d13268682aa16c83e5eee9c5b1ba4d67113def8",
"mints": 0,
"number": 119769,
"premine": 0,
"spaced_rune": "ULTIVERSEULTIVERSE",
"symbol": null,
"terms": {
"amount": 1,
"cap": 7777777,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864334:182",
{
"block": 864334,
"burned": 0,
"divisibility": 0,
"etching": "195dc952cb7c9e8a5c370fe098b4aa1d8bba8225bb4706ee7243b8e3c43f2b32",
"mints": 0,
"number": 119768,
"premine": 0,
"spaced_rune": "NUQHRKVWSYEA",
"symbol": null,
"terms": {
"amount": 1,
"cap": 3063483,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728158138,
"turbo": false
}
],
[
"864333:3461",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "65078629f16f0ce11a91da3de877a0ac5a25b5ed4c68d0ba3f6a8e75eab5f871",
"mints": 0,
"number": 119767,
"premine": 0,
"spaced_rune": "FMTJRFVGNHVZNUCB",
"symbol": null,
"terms": {
"amount": 1,
"cap": 5541274870406,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3458",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "8471194b68cfab89a9d6112caf62f97819172d397e91674ec5413ad8f27b2828",
"mints": 0,
"number": 119766,
"premine": 0,
"spaced_rune": "WEELZZLGHGDRTO",
"symbol": null,
"terms": {
"amount": 1,
"cap": 507317119633,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3440",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "90d530d1daf7f1f6ece388a846fe8173a427f71b7e1c5cfc1c035dcd1fc0b017",
"mints": 0,
"number": 119765,
"premine": 0,
"spaced_rune": "MIIOBBPODENFJ",
"symbol": null,
"terms": {
"amount": 1,
"cap": 503174265447,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3437",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "5c0d2bbf9543cd50293fd6671d94502fa08c8c6d11431e0eee4ac3aedbdbc5bc",
"mints": 0,
"number": 119764,
"premine": 0,
"spaced_rune": "TASTE•RISING•FULL",
"symbol": null,
"terms": {
"amount": 1,
"cap": 4812,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3434",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "1766810d3f53cfce81a4e0620c21e8e4643c7a40936dbafa6e88339c025fb5f6",
"mints": 0,
"number": 119763,
"premine": 0,
"spaced_rune": "REGION•MARK•LOW",
"symbol": null,
"terms": {
"amount": 1,
"cap": 2470,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3433",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "f2a6805462cebffc6eb5855d1205dedf9c7f746a7dfd420c153011bb572f58ba",
"mints": 0,
"number": 119762,
"premine": 0,
"spaced_rune": "QHKKEWPTDMNB",
"symbol": null,
"terms": {
"amount": 1,
"cap": 53660832,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3432",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "5d2127d84533fc9d486eaec1a2b76b2d349fe63a06a9d14847b667d360af6e19",
"mints": 0,
"number": 119761,
"premine": 0,
"spaced_rune": "IWLUKGYIWMBP",
"symbol": null,
"terms": {
"amount": 1,
"cap": 94339731,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:3431",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "ac4668d63f66c94515dbc2a74faa9152018758a75432cc085a7e7638a24cbc12",
"mints": 0,
"number": 119760,
"premine": 0,
"spaced_rune": "KWUFVEOJVKGQ",
"symbol": null,
"terms": {
"amount": 1,
"cap": 196312580,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:2714",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "c642cd4cc7a075c61d3a32b949217990aa91dfc928f12a2cdba1f2f228c699c7",
"mints": 26,
"number": 119759,
"premine": 210000,
"spaced_rune": "BOUNCE•THE•BITCOIN•CAT",
"symbol": "🐱",
"terms": {
"amount": 1000,
"cap": 20790,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": true
}
],
[
"864333:2482",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "cc2415293c275bea4d73ff8f45f68f269686b819de447f50ec6988ac04a62d1b",
"mints": 0,
"number": 119758,
"premine": 30000000,
"spaced_rune": "BITCAT•IS•IN•CONTROL",
"symbol": "🐈",
"terms": {
"amount": 5000,
"cap": 194000,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": true
}
],
[
"864333:2462",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "a75f792be155a0b53691289433a6413c1efb1aeaf970f752ee70be3c6e755a06",
"mints": 0,
"number": 119757,
"premine": 0,
"spaced_rune": "FIRST•CAT•EATING•BITCOINER",
"symbol": "🙀",
"terms": {
"amount": 1000,
"cap": 21000,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": true
}
],
[
"864333:1142",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "7488c2909e2bb5f39fb836ee1e18c23487d078e48e2420cc11776c8d7931fea5",
"mints": 0,
"number": 119756,
"premine": 0,
"spaced_rune": "AI•CRYPTO•AI•CRYPTO",
"symbol": "A",
"terms": {
"amount": 1000,
"cap": 1,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1140",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "a024e2d4c4e15eab941376a954bb9176bc95990ba6b2a6d31e5b7c26cd8d7e7c",
"mints": 0,
"number": 119755,
"premine": 0,
"spaced_rune": "SACMKSOKCMPOKMWCLWMCLWCDWC",
"symbol": "c",
"terms": {
"amount": 221,
"cap": 2111111,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1136",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "d6358e0601130c5ebbdb535aa93bbe2e752fd7fd6eee8601fe5af29e7ff179e1",
"mints": 0,
"number": 119754,
"premine": 0,
"spaced_rune": "XQOFVAHHLCQR",
"symbol": null,
"terms": {
"amount": 1,
"cap": 94964916,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1135",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "62aa2bd48b0eb8a1c3bb090c6129bdc52a2348f3b8e25a2e2eeaa27313e242af",
"mints": 0,
"number": 119753,
"premine": 0,
"spaced_rune": "YEPWCVNODTII",
"symbol": null,
"terms": {
"amount": 1,
"cap": 39185064,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1134",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "e3e6a144d3ac57d35f7f141f79ea818bd26a78bf900c2d0aeaa2a95ce68f8c9e",
"mints": 0,
"number": 119752,
"premine": 0,
"spaced_rune": "SDFGJUJTYHTGRSFAD",
"symbol": null,
"terms": {
"amount": 1,
"cap": 5,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1133",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "97600a89179c0bfd4b7c69bc5f4e9fc2f206124fbc08d4872f18ac6be29a525e",
"mints": 0,
"number": 119751,
"premine": 0,
"spaced_rune": "XQEKAAGEYDXY",
"symbol": null,
"terms": {
"amount": 1,
"cap": 147617461,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1131",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "8ecabca3a2b1518c67c5ee41c93e7874d1117edfd0b36e46ea68eb83e6f9eaad",
"mints": 0,
"number": 119750,
"premine": 0,
"spaced_rune": "XFHSGMZJEUML",
"symbol": null,
"terms": {
"amount": 1,
"cap": 1014672,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1130",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "77b1518d7ad77d89118eeb8eb92c120e1732d2e7ce9d6780cda180f5f4968df6",
"mints": 0,
"number": 119749,
"premine": 0,
"spaced_rune": "DJLNUHRYYTGR",
"symbol": null,
"terms": {
"amount": 1,
"cap": 146717679,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1129",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "4da09c158447950fabd281c7910c6e3f251b9b9a98ab7058e2f4b26304e332ee",
"mints": 0,
"number": 119748,
"premine": 0,
"spaced_rune": "CBAQVALKVMYP",
"symbol": null,
"terms": {
"amount": 1,
"cap": 181932658,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1128",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "b947075130f5a5f93a5cdfa9a216c76b761ff7cd2fb7ca677b3d00a3ca5d53e0",
"mints": 0,
"number": 119747,
"premine": 0,
"spaced_rune": "POJSRGWQBBWQ",
"symbol": null,
"terms": {
"amount": 1,
"cap": 100105873,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1127",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "a356dd06600bb163cb4d68bbe601f83d987c3c2cd456e3784616ab297d1843c0",
"mints": 0,
"number": 119746,
"premine": 0,
"spaced_rune": "FMPQPSLKENKY",
"symbol": null,
"terms": {
"amount": 1,
"cap": 82531312,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1126",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "b6ecdb27bb269949f58ace2ba162726483070e80c140dc60329b5fdbbd3e6395",
"mints": 0,
"number": 119745,
"premine": 0,
"spaced_rune": "GOARBTCEASGJ",
"symbol": null,
"terms": {
"amount": 1,
"cap": 99967467,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1125",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "abf680ed211d18428ddda208f164539fbf662705bd88d4041575c53e655ed794",
"mints": 0,
"number": 119744,
"premine": 0,
"spaced_rune": "MNBIUEEAKPBJ",
"symbol": null,
"terms": {
"amount": 1,
"cap": 168164931,
"height": [
null,
null
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
],
[
"864333:1124",
{
"block": 864333,
"burned": 0,
"divisibility": 0,
"etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
"mints": 0,
"number": 119743,
"burned": 0,
"divisibility": 0,
"etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
"mints": 0,
"number": 119743,
"divisibility": 0,
"etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
"mints": 0,
"number": 119743,
"premine": 0,
"spaced_rune": "CWTYCFSOTBSU",
"symbol": null,
"etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
"mints": 0,
"number": 119743,
"premine": 0,
"spaced_rune": "CWTYCFSOTBSU",
"symbol": null,
"terms": {
"amount": 1,
"cap": 29807122,
"mints": 0,
"number": 119743,
"premine": 0,
"spaced_rune": "CWTYCFSOTBSU",
"symbol": null,
"terms": {
"amount": 1,
"cap": 29807122,
"premine": 0,
"spaced_rune": "CWTYCFSOTBSU",
"symbol": null,
"terms": {
"amount": 1,
"cap": 29807122,
"height": [
null,
null
"terms": {
"amount": 1,
"cap": 29807122,
"height": [
null,
null
"height": [
null,
null
null
],
],
"offset": [
null,
null
]
},
"timestamp": 1728157837,
"turbo": false
}
]
],
"more": true,
"prev": null,
"next": 1
}
GET
/sat/<SAT>
Description
Returns details about a specific satoshi. Requires index with --index-sats
flag.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/sat/2099994106992659
{
"block": 3891094,
"charms": [],
"cycle": 3,
"decimal": "3891094.16797",
"degree": "3°111094′214″16797‴",
"epoch": 18,
"inscriptions": [],
"name": "satoshi",
"number": 2099994106992659,
"offset": 16797,
"percentile": "99.99971949060254%",
"period": 1930,
"rarity": "common",
"satpoint": null,
"timestamp": 3544214021
}
GET
/status
Description
Returns details about the server installation and index.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/status
{
"address_index": true,
"blessed_inscriptions": 76332641,
"chain": "mainnet",
"cursed_inscriptions": 472043,
"height": 864351,
"initial_sync_time": {
"secs": 59213,
"nanos": 979632000
},
"inscriptions": 76804684,
"lost_sats": 0,
"minimum_rune_for_next_block": "PVHGFEDCAZZ",
"rune_index": true,
"runes": 119811,
"sat_index": false,
"started": "2024-09-27T17:43:39.291876400Z",
"transaction_index": false,
"unrecoverably_reorged": false,
"uptime": {
"secs": 709843,
"nanos": 910346200
}
}
GET
/tx/<TRANSACTION_ID>
Description
Returns details about the specified transaction.
예제
curl -s -H "Accept: application/json" \
http://0.0.0.0:80/tx/99811de396ff10152cdfc9588d9750d0151501f081df2e56071c42dc3532b743
{
"chain": "mainnet",
"etching": null,
"inscription_count": 1,
"transaction": {
"version": 2,
"lock_time": 0,
"input": [
{
"previous_output": "7d154f826f68e86370105641e3b5b1c6afc697613b8dfce48e4e40db01e8317a:1",
"script_sig": "",
"sequence": 4294967295,
"witness": [
"e68e67c60dfc06f570dfa8fe880cc09f1041a9b10b285743dd72b8f2e672987f7176ced40d46d279385c148a0c39b9914b91d9d503b7388791f6758884f0c2f4",
"200c97fe0e7bb78d8dd7447bc098386c61248e1e9a7dfd263fd828c5373b945735ac0063036f7264010109696d6167652f706e67004d080289504e470d0a1a0a0000000d49484452000000360000003608060000008c456add000000017352474200aece1ce900000306494441546881ed9abf4e1b4110c63f477903a4b4a6a04186c21532a54de1c214a432051406d14471830405a2b25cb8701344e75c43a4d0514041112843a8281c642972111ec0cfb029ec3976d7b7e7fd670cd1fe24747b6b666ebf9bbdd9b9b581402010083c93f1e5a8130d18b5776b73defcdae26500a56a8df1e73fbe7f1d3acf6404ff2f29fe9d0f27c5fcba705cdbdcc1dae60ed8086028aad1aea0d1ae18f96612ba76ef8daea24131bf8edb874b004381fd6e0f8c3136bfb46aec4bb6fbfbfba7b6ad97881d1d6e6446471c1d6e089f2d2c2f627e69d56850c0b82853bc08234ad51a00e0e63c12fa49dcf1fe95961f5ed4d3e31d9e1eef70bc7f35f6cca6e155188f2c0e001aed4aaab84e34609d6820881af51b271b6f998932a32c88a20800fd6e2f6e2709e4138b8b28600ac94397b4ece82a0a98e25424f8082e2c2fc66d1abc0cf59fd64f9cd6ba99450c508bf3c1d423362bbc444c2ea9542465ca69613d879bad0b461506210d5cf09dcd1562f17bdb07906d937cb8240f2b233e42095150facce60a8c4f202a7c88339e8aa56a8d513d68220a1866452a942962fcda46647305e7c462953c14d348ebaede3e5ca68a22b2b9020060b73627bceee862953c6ece23a1a230b505c48a24293a24cc164d44012b610917d57e0664db490bb52dffed3a1684bd3582b0b78695b0848ca5bdced0abfe246692ee6dd730575b138c23d6eff650ccaf27550d13a346b60afb18bea4b2ad15ad8a60be524f98562a9f6c643bd13fefd35698ed3396d9db3e00301ca83458a6f88b074db60adf71db657bc069974ab53325fdcf589fce0be769fd049fbe7c7e5d7b1eb6627ce26b6b20b1df568c6bb4802944eca523a3c25a98bc81f35a0411b60b74da9e8792d3fa8970feebcf3700c0d9f5bdcd3052319ec726a23ad1403857a5eeadf20a0344812e3b5480a1b049a2642180d957b25be515e6539c16cdd6052b556bacd9ba10165efaeaa7130dd8e8cec7fd36d7e17db8f8d17ec66867898e141dfe8ed29472e1ecfa3e2347ce066d611f3fe49fdb29a5ce56790580dbaf02489cad7d20100804026f9d7f6be4942aeb43f7890000000049454e44ae42608268",
"c10c97fe0e7bb78d8dd7447bc098386c61248e1e9a7dfd263fd828c5373b945735"
]
}
],
"output": [
{
"value": 546,
"script_pubkey": "51208a2ade400b30af7cae07e30a9afa8ac49f54fb3ff7d0f42bbf4a66578a34c280"
}
]
},
"txid": "99811de396ff10152cdfc9588d9750d0151501f081df2e56071c42dc3532b743"
}
Recursive Endpoints
See Recursion.
오디널 탐색기
The ord
binary includes a block explorer. We host an instance of the block explorer on mainnet at ordinals.com, on signet at signet.ordinals.com, and on testnet at testnet.ordinals.com. As of version 0.16.0 the wallet needs ord server
running in the background. This is analogous to how bitcoin-cli
needs bitcoind
running in the background.
탐색기 실행
서버는 이것으로 로컬에서 실행할 수 있다:
ord server
포트를 지정하려면 --http-port
플래그를 추가한다:
ord server —http-port 8080
The JSON-API endpoints are enabled by default, to disable them add the --disable-json-api
flag (see here for more info):
ord server --disable-json-api
검색
검색 상자에는 다양한 개체 표현이 허용된다.
블록
블록은 해시별로 검색할 수 있다 (예를 들어 제네시스 블록):
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
트랜잭션
트랜잭션을 해시별로 검색할 수 있다 (예를 들어 제네시스 블록 코인베이스 트랜잭션):
4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
출력
Transaction outputs can be searched by outpoint, for example, the only output of the genesis block coinbase transaction:
4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b:0
Sats
각 SAT은 정수로 검색할 수 있다. 이는 전체 비트코인 공급량 내에서 해당 SAT의 위치다:
소수점 기준으로 검색할 수 있다. 이는 해당 블록과 해당 블록 내의 오프셋을 나타낸다:
도표기법으로 검색할 수 있다. 이는 주기, 마지막 반감기 이후 블록, 마지막 난이도 조정 이후 블록, 블록 내 오프셋을 나타낸다:
이름으로 검색할 수 있다. 이는 문자 “a”부터 “z”까지를 사용하여 SAT을 base26으로 표기하는 법이다:
또는 백분위수로 검색할 수 있다. 이는 해당 SAT가 채굴되었을 때 이미 발행되었거나 앞으로 발행될 비트코인의 공급량의 비율이다:
Wallet
각 SAT에 임의의 콘텐츠를 새길 수 있으며, 이로써 비트코인 지갑에 보관하고 비트코인 거래를 통해 전송할 수 있는 고유한 비트코인 자체 디지털 아티팩트를 만들 수 있다. 인스크립션은 비트코인만큼이나 내구성이 있고, 불변하며, 안전하고, 탈중앙화되어 있다.
인스크립션 작업에는 비트코인 블록체인의 현재 상태를 볼 수 있는 비트코인 풀 노드와 인스크립션을 생성하고 다른 지갑으로 인스크립션을 전송하는 트랜잭션을 만들 때 SAT 제어를 수행할 수 있는 지갑이 필요하다.
Bitcoin Core는 비트코인 풀노드와 지갑을 모두 제공한다. 그러나 Bitcoin Core 지갑은 인스크립션을 생성할 수 없으며, SAT 제어를 수행하지 않는다.
이를 위해서는 오디널 유틸리티인 ord
가 필요하다. ord
는 자체 지갑을 구현하지 않으므로 ord wallet
하위 명령은 Bitcoin Core 지갑과 상호작용한다.
이 가이드에서 다룰 토픽:
- Bitcoin Core 설치
- 비트코인 블록체인 동기화
- Bitcoin Core 지갑 만들기
ord wallet receive
을 사용하여 SAT 받기ord wallet inscribe
으로 인스크립션 만들기ord wallet send
로 인스크립션 보내기ord wallet receive
로 인스크립션 받기- Batch inscribing with
ord wallet inscribe --batch
도움 받기
문제가 해결되지 않는다면, 오디널스 디스코드 서버에서 도움을 요청해 보거나 깃허브에서 관련 이슈 및 토론을 확인해 보자.
Bitcoin Core 설치
Bitcoin Core는 bitcoincore.org의 다운로드 페이지에서 이용할 수 있다.
Making inscriptions requires Bitcoin Core 28 or newer.
이 가이드에서는 Bitcoin Core 설치에 대해 자세히 다루지 않는다. Bitcoin Core가 설치되면 명령줄에서 bitcoind -version
을 성공적으로 실행할 수 있어야 한다. bitcoin-qt
는 사용하지 말라.
Bitcoin Core 설정하기
ord
는 Bitcoin Core의 트랜잭션 인덱스와 rest 인터페이스가 필요하다.
트랜잭션 인덱스를 유지하도록 Bitcoin Core 노드를 설정하려면, bitcoin.conf
에 다음을 추가한다:
txindex=1
또는 -txindex
와 함께 bitcoind
를 실행한다:
bitcoind -txindex
bitcoin.conf
파일 생성 또는 수정에 대한 자세한 내용은 여기에서 확인할 수 있다.
비트코인 블록체인 동기화
체인을 동기화하려면 다음을 실행한다:
bitcoind -txindex
...그리고 getblockcount
가:
bitcoin-cli getblockcount
mempool.space block explorer와 같은 블록 탐색기의 블록 수와 일치할때까지 실행한다. ord
는 bitcoind
와 상호 작용하므로 ord
을 사용할 때는 bitcoind
를 백그라운드에서 실행하도록 두어야 한다.
블록체인은 약 600GB의 디스크 공간을 필요로 한다. 블록을 저장할 외장 드라이브가 있는 경우, 설정 옵션 blocksdir=<external_drive_path>
를 사용한다. 이렇게 하면 쿠키 파일이 여전히 bitcoin-cli
와 ord
가 찾을 수 있는 기본 위치에 있기 때문에 datadir
옵션을 사용하는 것보다 훨씬 간단하다.
트러블 슈팅
bitcoind
를 bitcoin-cli -getinfo
로 액세스할 수 있는지 그리고 이것이 완전히 동기화되었는지를 확인한다.
bitcoin-cli -getinfo
가 Could not connect to the server
을 반환하면 bitcoind
가 실행되고 있지 않은 것이다.
rpcuser
, rpcpassword
또는 rpcauth
가 bitcoin.conf
파일에 설정되어 있지 않는 것을 확인하자. ord
는 쿠키 인증에 사용을 요구한다. 비트코인 데이터 디렉토리에 .cookie
파일이 있는지 확인하자.
bitcoin-cli -getinfo
가 Could not locate RPC credentials
을 반환하면 쿠키 파일 위치를 지정해야 한다. 사용자 지정 데이터 디렉터리를 사용하는 경우(datadir
옵션을 지정) bitcoin-cli -rpccookiefile=<your_bitcoin_datadir>/.cookie -getinfo
와 같이 쿠키 위치를 지정해야 한다. ord
을 실행할 때는 --cookie-file=<your_bitcoin_datadir>/.cookie
로 쿠키 파일 위치를 지정해야 한다.
bitcoin.conf
파일에 disablewallet=1
이 없는 것을 확인하자. bitcoin-cli listwallets
가 Method not found
을 반환하면 지갑이 비활성화된 것이며 ord
를 사용할 수 없다.
txindex=1
이 설정되어 있는지 확인한다. bitcoin-cli getindexinfo
를 실행하면 다음과 같은 결과가 반환되어야 한다
{
"txindex": {
"synced": true,
"best_block_height": 776546
}
}
만약 {}
만 반환하면 txindex
가 설정되지 않은 것이다. ”synced”: false
를 반환하면 bitcoind
가 여전히 txindex
를 생성하고 있는 것이다. ”synced”: true
가 될 때까지 기다렸다가 ord
를 사용하라.
maxuploadtarget
이 설정되어 있으면 ord
인덱스를 위해 블록을 가져오는 데 방해가 될 수 있다. 이를 제거하거나 whitebind=127.0.0.1:8333
을 설정하라.
ord
설치
'ord` 유틸리티는 Rust로 작성되었으며 소스에서 빌드할 수 있다. 미리 빌드된 바이너리는 릴리스 페이지에서 사용할 수 있다.
명령줄에서 다음을 사용하여 미리 빌드된 최신 바이너리를 설치할 수 있다:
curl --proto '=https' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s
ord
가 설치되면 다음을 실행할 수 있어야 한다:
ord --version
이것이 ord
의 버전 번호를 출력한다.
Creating a Wallet
ord
uses bitcoind
to manage private keys, sign transactions, and broadcast transactions to the Bitcoin network. Additionally the ord wallet
requires ord server
running in the background. Make sure these programs are running:
bitcoind -txindex
ord server
To create a wallet named ord
, the default, for use with ord wallet
, run:
ord wallet create
This will print out your seed phrase mnemonic, store it somewhere safe.
{
"mnemonic": "dignity buddy actor toast talk crisp city annual tourist orient similar federal",
"passphrase": ""
}
If you want to specify a different name or use an ord server
running on a non-default URL you can set these options:
ord wallet --name foo --server-url http://127.0.0.1:8080 create
To see all available wallet options you can run:
ord wallet help
Restoring and Dumping Wallet
The ord
wallet uses descriptors, so you can export the output descriptors and import them into another descriptor-based wallet. To export the wallet descriptors, which include your private keys:
$ ord wallet dump
==========================================
= THIS STRING CONTAINS YOUR PRIVATE KEYS =
= DO NOT SHARE WITH ANYONE =
==========================================
{
"wallet_name": "ord",
"descriptors": [
{
"desc": "tr([551ac972/86'/1'/0']tprv8h4xBhrfZwX9o1XtUMmz92yNiGRYjF9B1vkvQ858aN1UQcACZNqN9nFzj3vrYPa4jdPMfw4ooMuNBfR4gcYm7LmhKZNTaF4etbN29Tj7UcH/0/*)#uxn94yt5",
"timestamp": 1296688602,
"active": true,
"internal": false,
"range": [
0,
999
],
"next": 0
},
{
"desc": "tr([551ac972/86'/1'/0']tprv8h4xBhrfZwX9o1XtUMmz92yNiGRYjF9B1vkvQ858aN1UQcACZNqN9nFzj3vrYPa4jdPMfw4ooMuNBfR4gcYm7LmhKZNTaF4etbN29Tj7UcH/1/*)#djkyg3mv",
"timestamp": 1296688602,
"active": true,
"internal": true,
"range": [
0,
999
],
"next": 0
}
]
}
An ord
wallet can be restored from a mnemonic:
ord wallet restore --from mnemonic
Type your mnemonic and press return.
To restore from a descriptor in descriptor.json
:
cat descriptor.json | ord wallet restore --from descriptor
To restore from a descriptor in the clipboard:
ord wallet restore --from descriptor
Paste the descriptor into the terminal and press CTRL-D on unix and CTRL-Z on Windows.
SAT 받기
인스크립션은 SAT로 수수료를 지불하는 일반 비트코인 거래를 사용하여 개별 SAT에 새김 됨으로 지갑에 약간의 SAT가 필요하다.
다음을 실행하여 ord
지갑에서 새 주소를 가져온다:
ord wallet receive
그리고 자금을 조금 보내자.
다음을 사용하여 펜딩 트랜잭션을 확인할 수 있다:
ord wallet transactions
트랜잭션이 컨펌되면 ord wallet outputs
으로 트랜잭션 출력을 확인할 수 있다.
인스크립션 콘텐츠 만들기
SAT에는 모든 종류의 콘텐츠를 새길 수 있지만, ord
지갑은 ord
블록 탐색기에서 표시할 수 있는 콘텐츠 유형만 지원한다.
또한 인스크립션은 트랜잭션에 포함되므로 콘텐츠가 클수록 인스크립션 트랜잭션에서 지불해야 하는 수수료가 높아진다.
인스크립션 콘텐츠는 트랜잭션 증인에 포함되며, 증인 할인(witness discount)을 받는다. 인스크립트 트랜잭션이 지불할 대략의 수수료를 계산하려면 콘텐츠 크기를 4로 나눈 다음 수수료율을 곱하면 된다.
인스크립션 트랜잭션은 400,000 가중치 단위(weight unit) 미만이어야 하며, 그렇지 않으면 Bitcoin Core에서 릴레이 되지 않는다. 1바이트의 인스크립션 콘텐츠는 1 가중치 단위의 비용이 든다. 인스크립션 트랜잭션에는 인스크립션 콘텐츠만 포함되지 않으므로, 인스크립션 콘텐츠를 400,000 가중치 단위 미만으로 제한하라. 390,000 개의 가중치 단위미만은 안전할 것이다.
인스크립션 생성하기
FILE
의 내용으로 인스크립션을 만들려면 다음을 실행한다:
ord wallet inscribe --fee-rate FEE_RATE --file FILE
Ord는 커밋 트랜잭션과 리빌 트랜잭션에 대한 두 개의 트랜잭션 ID와 인스크립션 ID를 출력한다. 인스크립션 ID는 TXIDiN
형식이며, 여기서 TXID
는 리빌 트랜잭션의 트랜잭션 ID이고 N
은 리빌 트랜잭션안에 있는 인스크립션의 인덱스이다.
커밋 트랜잭션은 인스크립션 콘텐츠가 포함된 탭스크립트(tapscript)에 커밋하고, 리빌 트랜잭션은 해당 탭스크립트에서 지출하여 체인에서 콘텐츠를 공개하고 해당 탭스크립트가 포함된 입력의 첫 번째 SAT에 인스크립션을 새긴다.
리빌 트랜잭션이 채굴될 때까지 기다린다. Mempool.space 블록 탐색기를 사용하여 커밋 및 리빌 트랜잭션의 상태를 확인할 수 있다.
리빌 트랜잭션이 채굴되면 다음을 실행할 때 인스크립션 ID가 출력되어야 한다:
ord wallet inscriptions
부모-자식 인스크립션
부모-자식 인스크립션은 구어체로 컬렉션이라고 하는 것을 가능하게 한다. 자세한 내용은 기원을 참조하자.
인스크립션을 다른 인스크립션의 자식으로 만들려면 부모 인스크립션이 새김되어 있고 지갑에 있어야 한다. 부모를 선택하려면 ord wallet inscriptions
을 실행하고 인스크립션 ID(<PARENT_INSCRIPTION_ID>
)를 복사한다.
이제 자식 인스크립션을 새기고 부모를 다음과 같이 지정한다:
ord wallet inscribe --fee-rate FEE_RATE --parent <PARENT_INSCRIPTION_ID> --file CHILD_FILE
이 관계는 소급하여 추가할 수 없으며, 부모는 자녀가 시작될 때 이미 존재해야 한다.
인스크립션 보내기
수신자에게 다음을 실행해 새 주소를 생성하도록 요청한다:
ord wallet receive
다음을 실행하여 인스크립션을 보낸다:
ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>
다음을 실행하여 펜딩 트랜잭션을 확인한다:
ord wallet transactions
전송 트랜잭션이 확인되면 수신자는 다음을 실행하여 수신을 확인할 수 있다:
ord wallet inscriptions
Sending Runes
수신자에게 다음을 실행해 새 주소를 생성하도록 요청한다:
ord wallet receive
Send the runes by running:
ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <RUNES_AMOUNT>
Where RUNES_AMOUNT
is the number of runes to send, a :
character, and the name of the rune. For example if you want to send 1000 of the EXAMPLE rune, you would use 1000:EXAMPLE
.
ord wallet send --fee-rate 1 SOME_ADDRESS 1000:EXAMPLE
다음을 실행하여 펜딩 트랜잭션을 확인한다:
ord wallet transactions
Once the send transaction confirms, the recipient can confirm receipt with:
ord wallet balance
인스크립션 받기
다음을 사용하여 새 수신 주소를 생성한다:
ord wallet receive
발신자는 다음을 사용하여 인스크립션을 당신의 주소로 전송할 수 있다:
ord wallet send --fee-rate <FEE_RATE> ADDRESS INSCRIPTION_ID
다음을 실행하여 펜딩 트랜잭션을 확인한다:
ord wallet transactions
Once the send transaction confirms, you can confirm receipt by running:
ord wallet inscriptions
Batch Inscribing
Multiple inscriptions can be created at the same time using the pointer field. This is especially helpful for collections, or other cases when multiple inscriptions should share the same parent, since the parent can passed into a reveal transaction that creates multiple children.
To create a batch inscription using a batchfile in batch.yaml
, run the following command:
ord wallet batch --fee-rate 21 --batch batch.yaml
Example batch.yaml
# example batch file
# inscription modes:
# - `same-sat`: inscribe on the same sat
# - `satpoints`: inscribe on the first sat of specified satpoint's output
# - `separate-outputs`: inscribe on separate postage-sized outputs
# - `shared-output`: inscribe on a single output separated by postage
mode: separate-outputs
# parent inscriptions:
parents:
- 6ac5cacb768794f4fd7a78bf00f2074891fce68bd65c4ff36e77177237aacacai0
# postage for each inscription:
postage: 12345
# allow reinscribing
reinscribe: true
# sat to inscribe on, can only be used with `same-sat`:
# sat: 5000000000
# rune to etch (optional)
etching:
# rune name
rune: THE•BEST•RUNE
# allow subdividing super-unit into `10^divisibility` sub-units
divisibility: 2
# premine
premine: 1000.00
# total supply, must be equal to `premine + terms.cap * terms.amount`
supply: 10000.00
# currency symbol
symbol: $
# mint terms (optional)
terms:
# amount per mint
amount: 100.00
# maximum number of mints
cap: 90
# mint start and end absolute block height (optional)
height:
start: 840000
end: 850000
# mint start and end block height relative to etching height (optional)
offset:
start: 1000
end: 9000
# future runes protocol changes may be opt-in. this may be for a variety of
# reasons, including that they make light client validation harder, or simply
# because they are too degenerate.
#
# setting `turbo` to `true` opts in to these future protocol changes,
# whatever they may be.
turbo: true
# inscriptions to inscribe
inscriptions:
# path to inscription content
- file: mango.avif
# inscription to delegate content to (optional)
delegate: 6ac5cacb768794f4fd7a78bf00f2074891fce68bd65c4ff36e77177237aacacai0
# destination (optional, if no destination is specified a new wallet change address will be used)
destination: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
# inscription metadata (optional)
metadata:
title: Delicious Mangos
description: >
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam semper,
ligula ornare laoreet tincidunt, odio nisi euismod tortor, vel blandit
metus est et odio. Nullam venenatis, urna et molestie vestibulum, orci
mi efficitur risus, eu malesuada diam lorem sed velit. Nam fermentum
dolor et luctus euismod.
- file: token.json
# inscription metaprotocol (optional)
metaprotocol: DOPEPROTOCOL-42069
- file: tulip.png
destination: bc1pdqrcrxa8vx6gy75mfdfj84puhxffh4fq46h3gkp6jxdd0vjcsdyspfxcv6
metadata:
author: Satoshi Nakamoto
- file: gallery.png
# gallery items
gallery:
- a4676e57277b70171d69dc6ad2781485b491fe0ff5870f6f6b01999e7180b29ei0
- a4676e57277b70171d69dc6ad2781485b491fe0ff5870f6f6b01999e7180b29ei3
Splitting
Complex transactions can be created using the ord wallet split
command.
The split
command takes a YAML configuration file, which specifies any number of outputs to be created, their bitcoin value, and their value of any number of runes. It does not currently allow assigning inscriptions to outputs.
The split
command can be used to split cardinal, bitcoin-only outputs for transacting, distribute runes to large numbers of recipients in a single transaction.
To send a split transaction using the configuration in splits.yaml
, run the following command:
ord wallet split --fee-rate 21 --splits split.yaml
Example splits.yaml
--------------------`
# example split file
# output fields:
# address: output recipient bitcoin address
# value: output bitcoin value (optional, defaults to minimal-non dust value for `address`)
# runes: output rune value map (values respect rune divisibility)
outputs:
- address: bc1p5d7rjq7g6rdk2yhzks9smlaqtedr4dekq08ge8ztwac72sfr9rusxg3297
value: 10 sat
runes:
UNCOMMON•GOODS: 1234
GRIEF•WAGE: 5000000
- address: 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
runes:
HELLO•WORLD: 22.5
수집
현재 희귀한 SAT 및 인스크립션(이하 오디널)을 안전하게 보관하고 전송하는 데에 필수인 SAT콘트롤 및 SAT선택을 지원하는 지갑은 ord가 유일하다.
오디널을 주고받고 보관하는 권장된 방법은 ord
를 사용하는 것이지만, 조금만 주의하면 다른 지갑으로 오디널을 안전하게 보관하고 경우에 따라서는 전송하는 것도 가능하다.
일반적으로, 지원되지 않는 지갑에서 오디널을 받는 것은 위험하지 않다. 오디널은 모든 비트코인 주소로 전송할 수 있으며, 오디널이 포함된 UTXO가 사용되지 않는 한 안전하다. 그러나 해당 지갑이 비트코인을 전송하는 데 사용되는 경우, 해당 지갑은 오디널이 포함된 UTXO를 입력으로 선택해 인스크립션을 보내거나 수수료로 사용할 수 있다.
이 핸드북에는 스패로우 월렛를 사용해 ord
와 호환되는 지갑을 만드는 가이드가 있다.
이 가이드를 따르는 경우, 오디널 전송을 피하기 위해 수동으로 코인선택을 하지 않는 한, 생성한 지갑을 사용해 BTC를 전송해서는 안 된다는 점에 유의하기 바란다.
스패로우 월렛으로 인스크립션과 오디널 수집하기
ord 지갑을 설정할 수 없거나 아직 설정하지 않은 사용자는 해당 지갑에서 지출하는 방식에 매우 주의를 기울인다면 대체 비트코인 지갑으로 인스크립션과 오디널을 받을 수 있다.
이 가이드는 ord
와 호환되며 나중에 ord
로 가져오기 할 수 있는 스패로우 월렛을 사용해 지갑을 어떻게 생성하는지에 기본 단계를 설명한다
⚠️⚠️ 경고!! ⚠️⚠️
일반적으로 이 방법을 사용하는 경우, 이 지갑을 스패로우 소프트웨어에 사용해 수신 전용(receive-only) 지갑으로 사용해야 한다.
어떻게 하는지 확실하지 않다면 이 지갑에서 사토시를 사용(spend) 하지 말자. 이 경고에 주의하지 않으면 실수로 오디널과 인스크립션 대한 액세스를 아주 쉽게 잃을 수 있다.
지갑 설정 및 수신하기
릴리즈 페이지에서 당신 운영체제의 맞는 스패로우 월렛을 다운로드한다.
File -> New Wallet
을 선택하고 ord
라는 새 지갑을 생성한다.
Script Type
을 Taproot (P2TR)
로 변경하고 New or Imported Software Wallet
옵션을 선택한다.
Use 12 Words
을 선택한 다음 Generate New
를 클릭한다. 비밀번호는 비워둔다.
새로운 12단어 BIP39 시드 문구가 생성된다. 지갑에 액세스하기 위한 백업용이므로 안전한 곳에 적어두자. 절대로 이 시드 문구를 다른 사람에게 공유하거나 보여주지 말자.
시드 문구를 적었으면 Confirm Backup
을 클릭한다.
적어둔 시드 문구를 다시 입력한 다음 Create Keystore
을 클릭한다.
Import Keystore
를 클릭한다.
Apply
를 클릭한다. 원하는 경우 지갑의 비밀번호를 설정한다.
이제 ord
와 호환되는 지갑을 갖게 되었으며, BIP39 시드 문구를 사용하여 ord
로 가져오기 할 수 있다. 오디널 또는 인스크립션을 받으려면 Receive
탭을 클릭하고 새 주소를 복사한다.
수신을 원할 때마다 기존 주소를 재사용하지 말고 새 주소를 사용해야 한다.
비트코인은 다른 블록체인 지갑들과 달리 새 주소를 무제한으로 생성할 수 있다는 점을 유의하자. Get Next Address
버튼을 클릭하면 새 주소를 생성할 수 있다. 앱의 Addresses
탭에서 모든 주소를 확인할 수 있다.
각 주소에 레이블(label)을 추가하여 사용 용도를 추적할 수 있다.
수신된 인스크립션 확인하기/보기
인스크립션을 받으면 스패로우의 Transactions
탭에 새 트랜잭션이 표시되고, UTXOs
탭에 새 UTXO가 표시된다.
처음에 이 트랜잭션은 "미확인”(“Unconfirmed”) 상태일 수 있으며, 완전히 수신하려면 이 트랜잭션이 비트코인 블록으로 채굴될 때까지 기다려야 한다.
트랜잭션의 상태를 추적하려면 트랜잭션을 마우스 오른쪽 버튼으로 클릭하고 Copy Transaction ID
를 선택한 다음 해당 트랜잭션 ID를 mempool.space에 붙여넣기 하면 된다.
트랜잭션이 확인되면 UTXOs
탭으로 이동하여 확인하려는 UTXO를 찾아 Output
을 마우스 오른쪽 버튼으로 클릭하고 Copy Transaction Output
를 선택하여 인스크립션의 유효성을 검사하고 확인할 수 있다. 그런 다음 이 트랜잭션 출력 ID를 ordinals.com 검색에 붙여넣을 수 있다.
UTXO 동결하기
위에서 설명한 것처럼, 각 인스크립션은 미사용 트랜잭션 출력값(UTXO)에 저장된다. 실수로 인스크립션을 사용하지 않도록 매우 주의해야 하며, 이런 일이 발생하지 않도록 하는 한 가지 방법은 UTXO를 동결(freeze)하는 것이다.
이렇게 하려면 UTXOs
탭으로 이동하여 동결하려는 UTXO를 찾은 다음 Output
을 마우스 오른쪽 버튼으로 클릭하고 Freeze UTXO
을 선택한다.
이 UTXO(인스크립션)는 이제 동결을 해제할 때까지 스패로우 지갑 내에서 사용할 수 없다.
ord
지갑으로 가져오기
For details on setting up Bitcoin Core and the ord
wallet check out the Wallet Guide
ord
를 설정할 때 ord wallet create
을 실행하여 새로운 지갑을 생성하는 대신, 스패로우 월렛에서 생성한 시드 문구와 ord wallet restore “BIP39 SEED PHRASE”
를 사용하여 기존 지갑을 가져오기 할 수 있다.
현재 가져오기 한 지갑이 블록체인에 대해 자동으로 재스캔되지 않는 버그가 있다. 이 문제를 해결하려면 bitcoin core cli(bitcoin-cli -rpcwallet=ord rescanblockchain 767430
)를 사용하여 수동으로 재스캔을 트리거해야 한다
그런 다음 ord wallet inscriptions
을 사용하여 지갑의 인스크립션을 확인할 수 있다
이전에 ord
로 지갑을 생성한 적이 있다면 기본 이름의 지갑이 이미 있을 것이므로 가져오기 한 지갑에 다른 이름을 지정해야 한다. 모든 ord
명령에 --wallet
매개변수를 사용하여 다른 지갑을 참조할 수 있다. 예시:
ord wallet --name ord_from_sparrow wallet restore --from mnemonic
ord wallet --name ord_from_sparrow wallet inscriptions
bitcoin-cli -rpcwallet=ord_from_sparrow rescanblockchain 767430
스패로우 월렛으로 인스크립션 보내기
⚠️⚠️ 경고 ⚠️⚠️
Bitcoin Core 노드를 설정하고 ord
소프트웨어를 실행하는 것을 적극 권장하지만, 스패로우 월렛에서 안전한 방법으로 인스크립션을 전송할 수 있는 몇 가지 제한된 방법이 있다. 이 방법은 권장되지 않으며, 자신이 무엇을 하는지 완전히 이해하는 경우에만 이 방법을 사용해야 한다는 점에 유의하기 바란다.
ord
소프트웨어를 사용하면 인스크립션 전송을 자동으로 안전하게 처리할 수 있으므로 여기서 설명하는 복잡성을 상당 부분 제거할 수 있다.
⚠️⚠️ 추가 경고 ⚠️⚠️
스패로우 인스크립션 지갑을 사용해 인스크립션이 아닌 일반 비트코인을 송금하지 말자. 일반적인 비트코인 거래를 해야 하는 경우 스패로우에서 별도의 지갑을 설정하고 인스크립션 지갑을 따로 보관할 수 있다.
비트코인의 UTXO 모델
트랜잭션을 전송하기 전에 비트코인의 미사용 트랜잭션 출력값(UTXO) 시스템에 대한 올바른 멘털 모델을 갖추는 것이 중요하다. 비트코인의 작동 방식은 이더리움과 같은 다른 블록체인과 근본적으로 다르다. 이더리움에서는 일반적으로 이더를 저장하는 단일 주소가 있으며, 이더를 구분할 수 없으므로 이것은 단지 그 주소에 있는 총금액의 단일 값일 뿐이다. 비트코인은 매번 수신 때마다 지갑에 새 주소를 생성한다는 점에서 매우 다르게 작동하며, 지갑에 있는 주소로 SAT를 받을 때마다 새로운 UTXO를 생성하게 된다. 각 UTXO는 개별적으로 보고 관리할 수 있다. 사용하고자 하는 특정 UTXO를 선택할 수 있으며, 특정 UTXO를 사용하지 않도록 선택할 수도 있다.
일부 비트코인 지갑은 이러한 수준의 세부 정보를 노출하지 않으며, 지갑에 있는 모든 비트코인의 합산된 가치만 보여준다. 하지만 인스크립션을 전송할 때는 UTXO 제어가 가능한 스패로우와 같은 지갑을 사용하는 것이 중요하다.
보내기 전에 인스크립션 검사하기
앞서 설명한 것처럼 인스크립션은 SAT에 새겨지며, SAT는 UTXO 내에 저장된다. UTXO는 특정 값의 사토시 수(출력 값)를 가진 사토시의 모음이다. 일반적으로 (항상 그런 것은 아니지만) 인스크립션은 UTXO의 첫 번째 사토시에 새겨진다.
전송하기 전에 인스크립션을 검사할 때 가장 중요하게 확인해야 할 것은 UTXO의 사토시 중 인스크립션이 새겨진 사토시가 어느 것인지다.
이것을 하려면 위에서 설명한 수신된 인스크립션 확인하기/보기를 따라 ordinals.com에서 해당 인스크립션에 대한 인스크립션 페이지를 찾을 수 있다
여기에서 다음과 같은 해당 인스크립션에 대한 메타데이터를 찾을 수 있다:
여기서 확인해야 할 몇 가지 중요한 사항이 있다:
output
식별자가 전송하려는 UTXO의 식별자와 일치한- 인스크립션의
offset
은0
이다 (이는 인스크립션이 UTXO의 첫 번째 SAT에 위치한다는 의미) output_value
에 트랜잭션 전송 수수료(우송료)를 충당할 수 있는 충분한 SAT가 있는지 확인한다. 필요한 정확한 금액은 트랜잭션에 대해 선택할 수수료율에 따라 다르다
위의 모든 사항이 당신 인스크립션에 해당하면 아래 방법을 사용하여 인스크립션을 보내도 안전할 것이다.
⚠️⚠️ 특히 offset
값이 0
이 아닌 경우 인스크립션을 보낼 때 매우 주의하라. 이 경우 이 방법을 권장하지 않는다. 자신이 무엇을 하고 있는지 모르는 상태에서 이 방법을 사용하면 실수로 비트코인 채굴자에게 인스크립션을 전송할 수 있기 때문이다.
인스크립션 보내기
인스크립션을 보내려면 UTXOs
탭으로 이동하여 이전에 유효성을 확인한 인스크립션이 포함된 UTXO를 찾는다.
이전에 UXTO를 동결했다면 마우스 오른쪽 버튼으로 클릭한 후 동결 해제해야 한다.
전송하려는 UTXO를 선택하고, 이 UTXO 만 이 선택되어 있는지 확인한다. 인터페이스에 UTXO 1/1
이 표시될 것이다. 이 것이 확인되면 Send Selected
를 누르면 된다.
그러면 트랜잭션 생성(create transaction) 인터페이스가 표시된다. 안전한 송금인지 확인하기 위해 여기서 확인해야 할 몇 가지 사항이 있다:
- 트랜잭션에는 입력(input)이 1개만 있어야 하며, 이 입력은 전송하려는 레이블이 있는 UTXO여야 한다
- 트랜잭션에는 출력(output)이 1개만 있어야 하며 이는 인스크립션을 보낼 주소/레이블이다
예를 들어 입력이 여러 개이거나 출력이 여러 개인 등 거래가 조금이라도 다르게 보인다면 안전한 송금이 아닐 수 있으니, 더 많은 정보를 파악하거나 ord
지갑으로 가져오기 할 수 있을 때까지 전송을 중단해야 한다.
적절한 트랜잭션 수수료를 설정해야 하며, 보통 스패로우에서 합리적인 수수료를 추천해 주지만, 트랜잭션 전송에 대한 권장 수수료율을 확인하려면 mempool.space에서 확인할 수도 있다.
받는 사람 주소에 레이블을 추가해야 하는데, alice address for inscription #123
와 같은 레이블이 이상적이다.
위의 확인사항을 통해 안전한 트랜잭션인지 확인하고 송금에 확신이 들면 Create Transaction
을 클릭한다.
여기서도 거래가 안전한지 다시 한 번 확인할 수 있으며, 확신이 들면 Finalize Transaction for Signing
을 클릭한다.
여기에서 Sign
을 누르기 전에 모든 것을 다시 한 번 확인할 수 있다.
그리고 실제로 Broadcast Transaction
을 누르기 전에 모든 것을 확인할 수 있는 마지막 기회가 주어진다. 트랜잭션을 브로드캐스트하면 비트코인 네트워크로 전송되고 멤풀로 전파되기 시작한다.
트랜잭션의 상태를 추적하려면 Transaction Id (Txid)
를 복사하여 mempool.space에 붙여넣으면 된다
트랜잭션이 확인되면 ordinals.com에서 인스크립션 페이지를 확인하여 새 출력 위치(output location) 및 주소로 이동했는지 확인할 수 있다.
트러블 슈팅
스패로우 지갑에 트랜잭션/UTXO가 표시되지 않지만, 나는 mempool.space에서는 볼 수 있다!
지갑이 비트코인 노드에 연결되어 있는지 확인하자. 이를 확인하려면 Preferences
-> Server
설정으로 이동하여 Edit Existing Connection
을 클릭한다.
여기에서 노드를 선택하고 Test Connection
를 클릭하여 스패로우가 성공적으로 연결할 수 있는지 확인할 수 있다.
중재
ord
에는 블록 탐색기가 포함되어 있으며, ord server
로 로컬에서 실행할 수 있다.
블록 탐색기를 통해 인스크립션을 볼 수 있다. 인스크립션은 사용자가 생성한 콘텐츠로, 그 콘텐츠가 불쾌감을 주거나 불법일 수 있다.
오디널스 블록 탐색기 인스턴스를 운영하는 각 개인은 불법 콘텐츠에 대한 자신의 책임을 이해하고 자신의 인스턴스에 적합한 중재 정책을 결정할 책임이 있다.
특정 인스크립션이 ord
인스턴스에 표시되지 않도록 하려면 --config
옵션을 사용해 로드되는 YAML 구성 파일에 포함할 수 있다.
인스크립션을 숨기려면 먼저 숨기려는 인스크립션 ID를 사용하여 구성 파일을 만든다:
hidden:
- 0000000000000000000000000000000000000000000000000000000000000000i0
'ord' 구성 파일의 권장 이름은 'ord.yaml'이지만 어떤 파일 이름도 사용할 수 있다.
그런 다음 서버를 시작할 때 --config
에 파일을 전달한다:
ord --config ord.yaml server
—config
옵션은 ord
뒤에 오지만 server
하위 명령 앞에 온다는 점을 유의하자.
구성 파일의 변경 사항을 로드하려면 ord
를 다시 시작해야 한다.
ordinals.com
ordinals.com
인스턴스는 systemd
를 사용하여 ord
라고 하는 ord server
서비스를 실행하며, 구성 파일은 /var/lib/ord/ord.yaml
에 있다.
ordinals.com
에서 인스크립션을 숨기려면:
- SSH 사용하여 서버에 접속한다
- 인스크립션 ID를
/var/lib/ord/ord.yaml
에 추가한다 systemctl restart ord
로 서비스를 다시 시작한다journalctl -u ord
로 재시작을 모니터링한다
현재 ord
는 재시작 속도가 느리기 때문에 사이트가 즉시 온라인 상태로 돌아오지 않을 것이다.
재인덱싱
때때로 ord
데이터베이스를 재인덱싱해야 하는 경우가 있는데, 이는 데이터베이스를 삭제하고 ord index update
또는 ord server
를 사용하여 인덱싱 프로세스를 다시 시작해야 함을 의미한다. 재인덱싱해야 하는 이유는 다음과 같다:
- 데이터베이스 체계를 변경하는 ord의 새로운 주요 릴리스
- 데이터베이스가 어떻게든 손상되었을 때
ord
가 사용하는 데이터베이스는 redb이므로 인덱스에 index.redb
로 기본 파일 이름을 지정한다. 기본적으로 이 파일은 운영 체제에 따라 다른 위치에 저장된다.
Platform | Value | 예제 |
---|---|---|
Linux | $XDG_DATA_HOME /ord 또는 $HOME /.local/share/ord | /home/alice/.local/share/ord |
macOS | $HOME /Library/Application Support/ord | /Users/Alice/Library/Application Support/ord |
Windows | {FOLDERID_RoamingAppData} \ord | C:\Users\Alice\AppData\Roaming\ord |
따라서 MacOS에서 데이터베이스를 삭제하고 재인덱스하려면 터미널에서 다음 명령을 실행해야 한다:
rm ~/Library/Application Support/ord/index.redb
ord index update
물론 ord --datadir <DIR> index update
로 데이터 디렉터리의 위치를 직접 설정하거나 ord --index <FILENAME> index update
로 특정 파일 이름과 경로를 지정할 수도 있다.
SAT 헌팅
오디널 헌팅은 어렵지만 보람이 있다. 희귀하고 이색적인 SAT의 향기가 풍기는 UTXO가 가득한 지갑을 소유했을 때의 기분은 그 무엇과도 비교할 수 없다.
오디널은 사토시를 나타내는 숫자이다. 모든 사토시에는 서수가 있고 모든 서수에는 사토시가 있다.
준비
시작하기 전에 몇 가지 준비해야 할 사항이 있다.
-
첫째, 트랜잭션 인덱스가 있는 동기화된 Bitcoin Core 노드가 필요하다. 트랜잭션 인덱싱을 활성화하려면 명령줄에
-txindex
를 입력한다:bitcoind -txindex
또는 다음을 Bitcoin configuration file에 입력한다:
txindex=1
이를 실행하고 체인 끝을 따라잡을 때까지 기다린 후 다음 명령을 입력하면 현재 블록 높이를 출력할 것이다:
bitcoin-cli getblockcount
-
둘째, 동기화된
ord
인덱스가 필요하다.-
the repo에서
ord
의 사본을 가져오자. -
Run
ord --index-sats server
. It should connect to your bitcoin core node and start indexing. -
Once it has finished indexing, leave the server running and submit new
ord
commands in a separate terminal session.
-
-
셋째, 검색하려는 UTXO가 있는 지갑이 필요하다.
희귀 오디널스 검색하기
Bitcoin Core 지갑에서 희귀 오디널스 검색하기
ord wallet
명령은 Bitcoin Core의 RPC API를 감싸는 래퍼일 뿐이므로 Bitcoin Core 지갑에서 희귀한 오디널스를 검색하는 것은 쉽다. 지갑의 이름이 foo
이라는 가정하에:
-
지갑을 로드한다:
bitcoin-cli loadwallet foo
-
희귀한 오디널스 지갑
foo
의 UTXO를 표시한다:ord --index-sats wallet --name foo sats
Bitcoin Core 지갑이 아닌 지갑에서 희귀 오디널스 검색하기
ord wallet
명령은 Bitcoin Core의 RPC API를 감싸는 래퍼일 뿐이므로, Bitcoin Core가 아닌 지갑에서 희귀 오디널스를 검색하려면 지갑의 기술자(discriptors)를 Bitcoin Core로 가져오기 해야 한다.
기술자는 지갑이 개인 키와 공개 키를 생성하는 방법을 설명한다.
지갑의 공개 키에 대한 기술자만 Bitcoin Core로 가져와야 하며, 개인 키는 가져오지 않아야 한다.
지갑의 공개 키 기술자가 유출되면 공격자가 지갑 주소를 볼 수 있지만 자금은 안전할 것이다.
지갑의 개인 키 기술자가 유출되면 공격자가 지갑에서 자금을 탈취할 수 있다.
-
희귀 오디널스를 검색하려는 지갑에서 지갑 기술자를 가져온다. 다음과 같은 형태일 것이다:
wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29
-
‘foo-watch-only’라는 이름으로 Watch-only 지갑을 생성한다:
bitcoin-cli createwallet foo-watch-only true true
당신 마음대로
foo-watch-only
보다 더 좋은 이름으로 지어주자! -
foo-watch-only
지갑을 로드한다:bitcoin-cli loadwallet foo-watch-only
-
지갑 기술자를 'foo-watch-only'로 가져온다:
bitcoin-cli importdescriptors \ '[{ "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax", "timestamp":0 }]'
지갑이 처음 트랜잭션을 받기 시작한 유닉스 타임스탬프를 알고 있다면,
0
대신”timestamp”
값에 사용할 수 있다. 이렇게 하면 Bitcoin Core가 당신 지갑의 UTXO를 검색하는 데 걸리는 시간을 줄일 수 있다. -
모든 것이 제대로 되었는지 확인한다:
bitcoin-cli getwalletinfo
-
당신 지갑의 희귀 오디널스를 표시한다:
ord wallet sats
다중 경로 기술자를 내보내기 하는 지갑에서 희귀 오디널스 검색하기
일부 기술자는 꺾쇠 괄호(예: <0;1>
)를 사용하여 하나의 기술자 안에 다수에 경로를 기술한다. 다중 경로 기술자는 아직 Bitcoin Core에서 지원되지 않으므로, 먼저 다수에 기술자들로 변환한 다음 Bitcoin Core로 해당 기술자들을 가져오기 해야 한다.
-
먼저 지갑에서 다중 경로 기술자를 가져온다. 다음과 같은 형태가 될 것이다:
wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/<0;1>/*)#fw76ulgt
-
수신 주소 경로에 대한 기술자를 만든다:
wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)
그리고 주소 변경 경로에 대한 기술자를 만든다:
wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)
-
수신 주소 기술자의 체크섬(이 경우
tpnxnxax
)을 가져와 기록한다:bitcoin-cli getdescriptorinfo \ 'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)'
{ "descriptor": "wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29", "checksum": "tpnxnxax", "isrange": true, "issolvable": true, "hasprivatekeys": false }
그리고 변경 주소 설명자의 체크섬(이 경우
64k8wnd7
)를 가져와 기록한다:bitcoin-cli getdescriptorinfo \ 'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)'
{ "descriptor": "wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)#fyfc5f6a", "checksum": "64k8wnd7", "isrange": true, "issolvable": true, "hasprivatekeys": false }
-
기술자를 가져오기 할 지갑을 로드한다:
bitcoin-cli loadwallet foo-watch-only
-
이제 올바른 체크섬과 기술자를 Bitcoin Core로 가져오기 한다.
bitcoin-cli \ importdescriptors \ '[ { "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax" "timestamp":0 }, { "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)#64k8wnd7", "timestamp":0 } ]'
지갑이 처음 트랜잭션을 받기 시작한 유닉스 타임스탬프를 알고 있다면,
0
대신”timestamp”
값에 사용할 수 있다. 이렇게 하면 Bitcoin Core가 당신 지갑의 UTXO를 검색하는 데 걸리는 시간을 줄일 수 있다. -
모든 것이 제대로 되었는지 확인한다:
bitcoin-cli getwalletinfo
-
당신 지갑의 희귀 오디널스를 표시한다:
ord wallet sats
기술자 내보내기
스패로우 월렛
Settings
탭으로 이동한 다음 Script Policy
로 이동한 후 편집 버튼을 눌러 기술자를 표시한다.
오디널스 전송하기
The ord
wallet supports transferring specific satoshis by using the name of the satoshi. To send the satoshi zonefruits
, do:
ord wallet send <RECEIVING_ADDRESS> zonefruits --fee-rate 21
You can also use the bitcoin-cli
commands createrawtransaction
, signrawtransactionwithwallet
, and sendrawtransaction
, but this method can be complex and is outside the scope of this guide.
Settings
ord
can be configured with the command line, environment variables, a configuration file, and default values.
The command line takes precedence over environment variables, which take precedence over the configuration file, which takes precedence over defaults.
The path to the configuration file can be given with --config <CONFIG_PATH>
. ord
will error if <CONFIG_PATH>
doesn't exist.
The path to a directory containing a configuration file name named ord.yaml
can be given with --config-dir <CONFIG_DIR_PATH>
or --datadir <DATA_DIR_PATH>
in which case the config path is <CONFIG_DIR_PATH>/ord.yaml
or <DATA_DIR_PATH>/ord.yaml
. It is not an error if it does not exist.
If none of --config
, --config-dir
, or --datadir
are given, and a file named ord.yaml
exists in the default data directory, it will be loaded.
For a setting named --setting-name
on the command line, the environment variable will be named ORD_SETTING_NAME
, and the config file field will be named setting_name
. For example, the data directory can be configured with --datadir
on the command line, the ORD_DATA_DIR
environment variable, or data_dir
in the config file.
See ord --help
for documentation of all the settings.
ord
's current configuration can be viewed as JSON with the ord settings
command.
Example Configuration
# example config
# see `ord --help` for setting documentation
bitcoin_data_dir: /var/lib/bitcoin
bitcoin_rpc_password: bar
bitcoin_rpc_url: https://localhost:8000
bitcoin_rpc_username: foo
chain: mainnet
commit_interval: 10000
config: /var/lib/ord/ord.yaml
config_dir: /var/lib/ord
cookie_file: /var/lib/bitcoin/.cookie
data_dir: /var/lib/ord
height_limit: 1000
hidden:
- 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
- 703e5f7c49d82aab99e605af306b9a30e991e57d42f982908a962a81ac439832i0
index: /var/lib/ord/index.redb
index_addresses: true
index_cache_size: 1000000000
index_runes: true
index_sats: true
index_transactions: true
integration_test: true
no_index_inscriptions: true
server_password: bar
server_url: http://localhost:8888
server_username: foo
Hiding Inscription Content
Inscription content can be selectively prevented from being served by ord server
.
Unlike other settings, this can only be configured with the configuration file or environment variables.
To hide inscriptions with an environment variable:
export ORD_HIDDEN='6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0 703e5f7c49d82aab99e605af306b9a30e991e57d42f982908a962a81ac439832i0'
Or with the configuration file:
hidden:
- 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
- 703e5f7c49d82aab99e605af306b9a30e991e57d42f982908a962a81ac439832i0
Teleburning
Teleburn addresses can be used to burn assets on other blockchains, leaving behind in the smoking rubble a sort of forwarding address pointing to an inscription on Bitcoin.
Teleburning an asset means something like, "I'm out. Find me on Bitcoin."
Teleburn addresses are derived from inscription IDs. They have no corresponding private key, so assets sent to a teleburn address are burned. Currently, only Ethereum teleburn addresses are supported. Pull requests adding teleburn addresses for other chains are welcome.
Ethereum
Ethereum teleburn addresses are derived by taking the first 20 bytes of the SHA-256 hash of the inscription ID, serialized as 36 bytes, with the first 32 bytes containing the transaction ID, and the last four bytes containing big-endian inscription index, and interpreting it as an Ethereum address.
예제
The ENS domain name rodarmor.eth, was teleburned to inscription zero.
The inscription ID of inscription zero is 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
.
Passing 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
to the teleburn command:
$ ord teleburn 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
Returns:
{
"ethereum": "0xe43A06530BdF8A4e067581f48Fae3b535559dA9e"
}
Indicating that 0xe43A06530BdF8A4e067581f48Fae3b535559dA9e
is the Ethereum teleburn address for inscription zero, which is, indeed, the current owner, on Ethereum, of rodarmor.eth
.
테스팅
Test Environment
ord env <DIRECTORY>
creates a test environment in <DIRECTORY>
, spins up bitcoind
and ord server
instances, prints example commands for interacting with the test bitcoind
and ord server
instances, waits for CTRL-C
, and then shuts down bitcoind
and ord server
.
ord env
tries to use port 9000 for bitcoind
's RPC interface, and port 9001
for ord
's RPC interface, but will fall back to random unused ports.
Inside of the env directory, ord env
will write bitcoind
's configuration to bitcoin.conf
, ord
's configuration to ord.yaml
, and the env configuration to env.json
.
env.json
contains the commands needed to invoke bitcoin-cli
and ord wallet
, as well as the ports bitcoind
and ord server
are listening on.
These can be extracted into shell commands using jq
:
bitcoin=`jq -r '.bitcoin_cli_command | join(" ")' env/env.json`
$bitcoin listunspent
ord=`jq -r '.ord_wallet_command | join(" ")' env/env.json`
$ord outputs
If ord
is in the $PATH
and the env directory is env
, the bitcoin-cli
command will be:
bitcoin-cli -datadir=env
And the ord
will be:
ord --datadir env
Test Networks
Ord는 다음 플래그를 사용하여 테스트 네트워크를 지정하여 테스트할 수 있다. 테스트를 위한 Bitcoin Core 실행에 대한 자세한 내용은 비트코인 개발자 문서를 참조하자.
Most ord
commands in wallet and explorer can be run with the following network flags:
네트워크 | 플래그 |
---|---|
Testnet | --testnet 또는 -t |
Signet | --signet 또는 -s |
Regtest | --regtest 또는 -r |
Regtest doesn't require downloading the blockchain since you create your own private blockchain, so indexing ord
is almost instantaneous.
예제
Run bitcoind
in regtest with:
bitcoind -regtest -txindex
Run ord server
in regtest with:
ord --regtest server
다음을 사용해 regtest에 지갑을 만든다:
ord --regtest wallet create
다음을 사용해 regtest 수신 주소를 얻는다:
ord --regtest wallet receive
다음을 사용해 101 블록을 채굴한다(코인베이스 잠금 해제를 위해):
bitcoin-cli -regtest generatetoaddress 101 <receive address>
다음을 사용해 regtest에 인스립션을 새긴다:
ord --regtest wallet inscribe --fee-rate 1 --file <file>
다음을 사용해 인스크립션을 채굴한다:
bitcoin-cli -regtest generatetoaddress 1 <receive address>
By default, browsers don't support compression over HTTP. To test compressed content over HTTP, use the --decompress
flag:
ord --regtest server --decompress
리커젼 테스트
리커젼을 테스트할 때는 종속성을 먼저 새긴다 (예: p5.js를 사용):
ord --regtest wallet inscribe --fee-rate 1 --file p5.js
This will return the inscription ID of the dependency which you can then reference in your inscription.
However, inscription IDs differ between mainnet and test chains, so you must change the inscription IDs in your inscription to the mainnet inscription IDs of your dependencies before making the final inscription on mainnet.
그런 다음을 사용해 리커젼 인스크립션을 새길 수 있다:
ord --regtest wallet inscribe --fee-rate 1 --file recursive-inscription.html
마지막으로 블록을 어느 정도 채굴해야 하고 서버를 시작해야 한다:
bitcoin-cli generatetoaddress 6 <receive address>
Mainnet Dependencies
To avoid having to change dependency inscription IDs to mainnet inscription IDs, you may utilize a content proxy when testing. ord server
accepts a --proxy
option, which takes the URL of a another ord server
instance. When making a request to /content/<INSCRIPTION_ID>
when a content proxy is set and the inscription is not found, ord server
will forward the request to the content proxy. This allows you to run a test ord server
instance with a mainnet content proxy. You can then use mainnet inscription IDs in your test inscription, which will then return the content of the mainnet inscriptions.
ord --regtest server --proxy https://ordinals.com
오디널 현상금 사냥 힌트
-
ord
지갑은 특정 사토시를 주고받을 수 있다. 또한 오디널 이론은 매우 간단하다. 영리한 해커라면 짧은 시간에 오디널 이론을 사용하여 사토시를 조작하는 코드를 처음부터 작성할 수 있을 것이다. -
오디널 이론에 대한 자세한 내용은 자주 묻는 질문에서 개요를, BIP에서 기술적 세부 사항을, ord repo에서
ord
지갑 및 블록 탐색기를 확인하길 바란다. -
사토시는 오디널 이론의 최초 개발자였다. 하지만 다른 사람들이 이 이론을 이단적이고 위험하다고 생각할 것을 알았기 때문에 자신의 지식을 숨겼고, 이는 결국 시간의 모래 속으로 사라져 버렸다. 이 강력한 이론은 이제야 재발견되고 있다. 당신이 희귀한 사토시를 연구하면 이에 도움이 될 수 있다.
행운과 성공을 빈다!
오디널 현상금 0
기준
서수가 0으로 끝나는 SAT를 제출 주소로 보낸다:
해당 SAT는 전송하는 출력(output)의 첫 번째 SAT여야 한다.
보상
100,000 SAT
제출 주소
1PE7u4wbDP2RqfKN6geD1bG57v9Gj9FXm3
상태
@count_null이 획득했다!
오디널 현상금 1
기준
제출된 모든 UTXO 중에서 가장 오래된 SAT가 포함된, 즉 가장 낮은 숫자의 SAT를 제출한 트랜잭션이 승자로 판단된다.
현상금은 난이도 조정 기간 374의 첫 번째 블록인 753984 블록까지 제출할 수 있다. 블록 753984 이후에 포함된 제출물은 고려되지 않는다.
보상
200,000 SAT
제출 주소
145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap
상태
@ordinalsindex가 획득했다!
오디널 현상금 2
기준
Send an uncommon sat to the submission address:
제출하기 전에 제출 주소에 트랜잭션이 수신되지 않았는지 확인하자. 첫 번째 성공적인 제출에 대해서만 보상이 지급된다.
보상
300,000 SAT
제출 주소
1Hyr94uypwWq5CQffaXHvwUMEyBPp3TUZH
상태
@utxoset가 획득했다!
오디널 현상금 3
기준
오디널 현상금 3은 두 부분으로 나뉘며, 두 부분 모두 오디널 이름 을 기반으로 한다. 오디널 이름은 서수의 수정된 base26 인코딩이다. 사용할 수 없는 제네시스 블록 코인베이스 보상 안에 짧은 이름이 고정되는 것을 방지하기 위해 서수가 길어질수록 오디널 이름은 짧아진다. 첫 번째 채굴되는 SAT 0의 이름은 nvtdijuwxlp
이고, 마지막 채굴되는 SAT 2,099,999,997,689,999의 이름은 a
이다.
The bounty is open for submissions until block 840000—the first block after the fourth halving. Submissions included in block 840000 or later will not be considered.
두 부분 모두 frequency.tsv를 사용한다. 이는 Google Books Ngram dataset에 있는 단어 목록 그리고 각 단어가 이 데이터셋에서 등장하는 횟수며 제출 기간이 끝날 때까지 채굴될, 전체목록에 최소 5000번 이상 등장하는 SAT의 이름만 포함하도록 필터링하였다.
frequency.tsv
는 탭으로 구분된 값의 파일이다. 첫 번째 열은 단어이고 두 번째 열은 이 단어가 전체목록에 나타나는 횟수이다. 항목은 가장 적게 나타나는 항목부터 가장 많이 나타나는 항목까지 정렬된다.
이 프로그램을 사용하여 frequency.tsv
를 컴파일했다.
frequency.tsv
에 이름이 있는 SAT을 ord
지갑에서 검색하려면 다음 ord
명령을 사용한다:
ord wallet sats --tsv frequency.tsv
이 명령에는 SAT 인덱스가 필요하므로 인덱스를 처음 생성할 때 --index-sats
를 ord에 전달해야 한다.
파트 0
희귀 SAT는 희귀 단어와 가장 잘 어울린다.
frequency.tsv
에서 가장 적은 횟수로 나타나는 SAT 이름을 포함하는 UTXO를 제출한 트랜잭션이 파트 0의 승자가 된다.
파트 1
Popularity is the fount of value.
frequency.tsv
에서 가장 많은 횟수로 나타나는 SAT 이름이 포함된 UTXO를 제출한 트랜잭션이 파트 1의 승자가 된다.
타이 브레이킹
동점인 경우, 즉 제출물의 빈도가 동일할 경우 먼저 제출된 것이 승자가 된다.
보상
- 파트 0: 200,000 SAT
- 파트 1: 200,000 SAT
- 총: 400,000 SAT
제출 주소
17m5rvMpi78zG8RUpCRd6NWWMJtWmu65kg
상태
미수령!