Introducción

Este manual es una guía de la teoría ordinal. La teoría Ordinal se encarga de proporcionar a cada Satoshi un identificador único, posibilitando que cada uno pueda ser rastreado, transferido, e imbuido de significado.

Los Satoshis y no el Bitcoin, son la divisa atómica y nativa de la red de Bitcoin. Un Bitcoin puede subdividirse en exactamente 100,000,000 Satoshis, ni más ni menos.

La teoría Ordinal opera sin la necesidad de una cadena lateral o token distinto a Bitcoin, y puede utilizarse sin ningún cambio en la red Bitcoin. Funciona ahora mismo.

La teoría Ordinal otorga a los Satoshis un valor numismático, permitiendo que sean coleccionados e intercambiados como coleccionables.

En cada Satoshi se puede inscribir diferentes tipos de contenido, permitiendo la creación de artefactos digitales únicos nativos en Bitcoin. Estos artefactos digitales pueden almacenarse en monederos de Bitcoin y transferirse mediante transacciones de Bitcoin. Las inscripciones son tan duraderas, inmutables, seguras y descentralizadas como el propio Bitcoin.

Otros casos de uso más inusuales son posibles: monedas por fuera de la cadena y coloreadas (colored-coins), infraestructura de clave pública con rotación de clave, un reemplazo descentralizado para el DNS. No obstante, en la actualidad, tales casos de uso son especulativos y existen solo en las mentes de los teóricos de ordinals.

Para obtener más detalles sobre la teoría Ordinal, consulte la descripción general.

Para obtener más detalles sobre las inscripciones, ver inscripciones.

Cuando estés listo para ponerte manos a la obra, un buen lugar para comenzar es en la página de inscripciones, un tipo de artefacto digital posibilitado por la teoría ordinal.

Authors

Enlaces

Videos

Descripción General de la Teoría Ordinal

Los Ordinals son un sistema de numeración para los satoshis con el cual podemos hacerles seguimiento y transferirlos de manera individual. Dichos números se denominan números ordinales. A cada Satoshi se le otorga un número de serie que se establece según el orden en el que fueron minados y se transfieren basándose en la secuencia de las transacciones entrantes y salientes, siguiendo el proceso FIFO (First In, First Out). Tanto el esquema de numeración como el de transferencia se basan en el orden secuencial; el esquema de numeración en el orden en que se minan los satoshis, mientras que el esquema de transferencia se basa en el orden de las entradas y salidas de las transacciones. De allí se deriva el nombre, ordinals.

Los detalles técnicos están disponibles en el BIP.

La teoría Ordinal funciona en este momento sin hacer cambios a Bitcoin y no requiere de un token aparte u otra blockchain.

Los números Ordinales tienen varias representaciones:

  • Notación entera: 2099994106992659. El número ordinal, asignado según el orden en que se minó el Satoshi.

  • Notación decimal: 3891094.16797 El primer número es la altura del bloque en el cual se minó el Satoshi, el segundo es el desplazamiento del Satoshi dentro del bloque.

  • Notación sexagesimal: 3°111094′214″16797‴. Hablaremos de eso más adelante.

  • Notación porcentual: 99.99971949060254% . La posición del Satoshi en el suministro de Bitcoin, expresado como un porcentaje.

  • Nombre: Satoshi. Una codificación del número ordinal utilizando los caracteres de la a a la z.

Activos arbitrarios como los NFTs, tokens de seguridad, cuentas o stablecoins se pude adjuntar a los satoshis usando números ordinales como identificadores.

Ordinals es un proyecto de código abierto, desarrollado en GitHub. El proyecto consta de un BIP que describe el esquema de Ordinals, un índice que se comunica con un nodo de Bitcoin Core para rastrear la ubicación de todos los satoshis, un monedero que permite realizar transacciones de Ordinals, un explorador de bloques para la exploración interactiva de la blockchain, funcionalidad para inscribir artefactos digitales en los satoshis y este manual.

Rareza

Los humanos son coleccionistas, y ahora que los satoshis se pueden rastrear y transferir, las personas querrán coleccionarlos. Los teóricos de Ordinals pueden decidir por sí mismos cuáles sats son raros y deseables, pero aquí hay algunas pistas…

Bitcoin tiene eventos periódicos, algunos frecuentes y algunos menos comunes, y estos se prestan para obtener un sistema de rareza. Estos eventos periódicos son:

  • Bloques: Se mina un bloque nuevo aproximadamente cada 10 minutos, desde ahora hasta el fin de los tiempos.

  • Ajustes de dificultad: Cada 2016 bloques, o aproximadamente cada dos semanas, la red de Bitcoin responde a cambios en la tasa de hash ajustando la dificultad que los bloques deben cumplir para ser aceptados.

  • Halvings: Cada 210,000 bloques, o aproximadamente cada cuatro años, la cantidad de nuevos Satoshis creados en cada bloque se reduce a la mitad.

  • Ciclos: Cada seis halvings, sucede algo mágico: el halving y el ajuste de dificultad suceden al mismo tiempo. Esto se llama conjunción, y el período de tiempo entre conjunciones es un ciclo. Una conjunción ocurre aproximadamente cada 24 años. La primera conjunción debería ocurrir en el 2032.

Esto nos conlleva a los siguientes niveles de rareza:

  • común: Cualquier sat que no es el primero en su bloque
  • poco común: El primer sat de cada bloque
  • raro: El primer sat en un periodo de ajuste de dificultad
  • épico: El primer satoshi después de un halving
  • legendario: El primer Satoshi de cada ciclo
  • mítico: El primer Sat del bloque génesis

Esto nos lleva a la notación sexagesimal, la cual representa un numero ordinal de tal manera que nos facilita ver la rareza de un satoshis:

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

Los teóricos de Ordinals suelen usar los términos "hora", "minuto", "segundo" y "tercero" en referencia a A, B, C, y D.

Por ejemplo, este Satoshi es común:

1°1′1″1‴
│ │ │ ╰─ Not first sat in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── Not first block in halving epoch
╰─────── Second cycle

Este Satoshi es poco común:

1°1′1″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── Not first block in halving epoch
╰─────── Second cycle

Este Satoshi es raro:

1°1′0″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── Not the first block in halving epoch
╰─────── Second cycle

Este Satoshi es épico:

1°0′1″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── Second cycle

Este Satoshi es legendario:

1°0′0″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── Second cycle

Este Satoshi es mítico:

0°0′0″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── First cycle

Si el Satoshi es el primero en el bloque, el cero puede ser omitido. Este es el ejemplo del Satoshi poco común que explicamos previamente:

1°1′1″
│ │ ╰─ Not first block in difficulty adjustment period
│ ╰─── Not first block in halving epoch
╰───── Second cycle

Suministro de Satoshi Raros

Suministro Total

  • common: 2,099,999,990,760,000
  • uncommon: 6,926,535
  • rare: 3432
  • epic: 27
  • legendario: 5
  • mítico: 1

Suministro actual

  • common: ~1.98 quadrillion
  • uncommon: ~880,000 (a new uncommon is mined roughly every ten minutes)
  • rare: ~430 (a new rare is mined roughly every two weeks)
  • épico: 3
  • legendario: 0
  • mítico: 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.

Nombres

Cada Satoshi tiene un nombre compuesto por las letras A hasta la Z. Este nombre se va haciendo más corto cuanto más lejos en el futuro se mine el Satoshi. Podrían comenzar con nombres cortos e irse alargando, pero esto causaría que todos los nombres cortos quedaran atrapados en el bloque génesis el cual no se puede gastar.

Por ejemplo, el nombre de 1905530482684727°' es "iaiufjszmoba". El nombre del último satoshi que será minado es "a". Cada combinación de 10 caracteres o menos ya existe, o existirá, algún día.

Exóticos

Los satoshis pueden ser valorados por otras características distintas a su nombre o rareza. Esto podría ser alguna cualidad intrínseca con el número, como tener una raíz cuadrada o cúbica. También podría ser debido a una conexión con un evento histórico, tales como los Satoshis del bloque 477,120, el bloque en el que se activó SegWit, o 2099999997689999°, el último satoshi que será minado.

A estos satoshis se les denomina "exóticos". Cuales Satoshis son exóticos y lo que los convierte en ello es subjetivo. A los teóricos de Ordinals se les incentiva a buscar sats exóticos basados en sus propios criterios.

Inscripciones

Los satoshis pueden ser inscritos con contenido arbitrario, de este modo creando artefactos digitales nativos en Bitcoin. La inscripción se realiza enviando el satoshi que se desea inscribir en una transacción que revela el contenido adjuntado a la inscripción en la cadena. Este contenido queda inextricablemente vinculado a ese satoshi, convirtiéndolo en un artefacto digital inmutable que puede ser rastreado, transferido, guardado, comprado, vendido, perdido y redescubierto.

Arqueología

Ha surgido una gran comunidad de arqueólogos que se dedican a catalogar y coleccionar los primeros NFTs. Aquí hay un gran resumen de los NFTs históricos por Chainleft.

El 19 de marzo del 2018, por lo general es la fecha límite para referirnos a los primeros NFT debido a que este día se implementó en Ethereum el primer contrato ERC-721, SU SQUARES.

¡Si los Ordinals son de interés o no para los arqueólogos de NFT siempre será una pregunta abierta! Los ordinals fueron creados a principios del 2022, cuando se finalizaron las especificaciones de Ordinals. En este sentido, no son de interés histórico.

Pero si miramos desde otra perspectiva, los ordinals fueron creados por Satoshi Nakamoto en el 2009 cuando minó el bloque génesis de Bitcoin. Desde este punto de vista, los ordinals, y especialmente los primeros ordinals, ciertamente son de interés histórico.

Muchos teóricos de ordinals favorecen este concepto. Esto se debe en parte a que los ordinals fueron descubiertos en otras dos ocasiones, mucho antes de que comenzara la era de los NFTs modernos.

El 21 de agosto de 2012, Charlie Lee publicó una propuesta en el foro de Bitcoin Talk para añadir el Proof of Stake (PoS) o prueba de participación a Bitcoin. Esto no era un esquema de activos, pero sí utilizaba el algoritmo de ordinals, y fue implementado, pero nunca se utilizó.

El 8 de octubre de 2012, jl2012 publicó una propuesta en el mismo foro que utiliza notación decimal y tiene todas las propiedades importantes de los ordinals. Se discutió el esquema, pero nunca fue utilizado.

Estos inventos que son independientes a los ordinals indican de alguna manera que los ordinals fueron descubiertos, o redescubiertos, y no inventados. Los ordinals son algo inevitable que nace debido a la logística matemática de Bitcoin, sus raíces no provienen de su documentación moderna, sino de su génesis. Son la culminación de una secuencia de eventos que se han ido desarrollando a través de los años y comenzó cuando se minó el primer bloque.

Artefactos Digitales

Imagina un artefacto físico. Digamos una moneda rara, guardada de forma segura durante muchísimos años en el oscuro y secreto escondite de un tesoro vikingo, ahora desenterrado por tus propias manos. Esta moneda…

...tiene un dueño. Tú. Mientras la mantengas a salvo, nadie puede quitártela.

...está completa. No le falta ninguna pieza.

...solo puede ser modificada por ti. Si fueras comerciante y llegaras a la China del siglo XVIII, solo tu podrías marcarla con tu sello personal.

...solo tú puedes deshacerte de ella. La elección de venderla, intercambiarla o regalarla es tuya y de la persona que elijas.

¿Qué son los artefactos digitales? Pues simplemente, son el equivalente digital de los artefactos físicos.

Para que algo digital sea un artefacto digital, debe ser como esa moneda tuya:

  • Los artefactos digitales pueden tener dueño. Un número no es un artefacto digital, porque nadie puede ser dueño de él.

  • Los artefactos digitales están completos. Un NFT que apunta a contenido fuera de cadena alojado en IPFS o Arweave está incompleto, y por lo tanto no es un artefacto digital.

  • Los artefactos digitales son sin permiso. Un NFT que no pueda ser vendido sin tener que pagar regalías no es sin permisos, y por lo tanto no es un artefacto digital.

  • Los artefactos digitales no pueden ser censurados. Puede que hoy en día se permita cambiar la información en una base de datos centralizada, pero tal vez mañana no sea posible, por lo tanto, no puede ser un artefacto digital.

  • Los artefactos digitales son inmutables. Un NFT con una llave de actualización o dinámico no es un artefacto digital.

La definición de un artefacto digital tiene la intención de reflejar lo que deberían ser los NFTs, y lo que siempre serán las inscripciones debido a su naturaleza.

Inscripciones

En una inscripción inscribimos contenido arbitrario en un sat, con este proceso creamos artefactos digitales nativos de Bitcoin, comúnmente conocidos como NFTs. Las inscripciones no requieren una cadena lateral ni un token aparte.

Los sats que se han inscrito pueden ser transferidos en una transacción de bitcoin, ser enviados a direcciones Bitcoin y ser contenidos en UTXOs (transacción de salida no gastada) de Bitcoin. Todos estos procesos se llevan a cabo como se han hecho normalmente en Bitcoin, con la excepción de que, para enviar cada sat, las transacciones deben controlar el orden y el valor de las entradas y salidas según la teoría Ordinal.

El modelo de contenido de las inscripciones funciona similar al de la web.Una inscripción está conformada por el tipo de contenido, conocido como el tipo MIME, y el contenido que es una cadena de bytes. Esto permite que el contenido de la inscripción se pueda obtener de un servidor web y tener la posibilidad de crear inscripciones HTML que usen el contenido de otras inscripciones.

El contenido de la inscripción está completamente en la cadena de bloques o blockchain, almacenado en scripts de taproot. Los scripts de taproot tienen muy pocas restricciones en cuanto a lo que pueden contener, y además reciben el descuento de testigo, lo que hace que el almacenamiento de contenido de las inscripciones sea relativamente económico.

Dado que los gastos de script de taproot (taproot script spends) sólo pueden hacerse desde salidas de taproot existentes, las inscripciones se hacen en dos fases de compromiso/revelación. Primero, en la transacción de compromiso, se crea una salida de taproot que se compromete a un script que contiene el contenido de inscripción. Segundo, en la transacción de revelación, la salida creada por la transacción de compromiso se gasta, revelando el contenido de la inscripción en la cadena.

El contenido de la inscripción se serializa utilizando push de datos dentro de condicionales que no han sido ejecutados, a estos se les llama "sobres". Los sobres consisten en un OP_FALSE OP_IF ... OP_ENDIF envolviendo los push de datos. Dado que los sobres son operaciones nulas, no cambian la semántica del script en el que están incluidos y pueden combinarse con cualquier otro script de bloqueo.

Una inscripción de texto que contiene la cadena "¡Hola, Mundo!" se serializa de la siguiente manera:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 0
  OP_PUSH "¡Hola, Mundo!"
OP_ENDIF

Primero, se hace un push con el string ord para diferenciar que sobre va a utilizar la inscripción.

OP_PUSH 1 indica que el próximo push es el tipo de contenido y OP_PUSH 0 indica que los siguientes datos en el push contienen el contenido que se va a anexar. Múltiples push de datos deben ser utilizados para inscripciones de gran tamaño ya que una de las pocas restricciones de Taproot es que un push de datos no puede ser mayor a 520 bytes.

El contenido de la inscripción se encuentra dentro de la entrada de una transacción de revelación, y la inscripción se crea en el primer satoshi de su entrada si este no tiene un campo de puntero. Este satoshi puede ser rastreado utilizando las reglas de la teoría ordinal, lo que permite que sea transferido, comprado, vendido, perdido en las tarifas y recuperado.

Contenido

El modelo de datos de las inscripciones es el de una respuesta HTTP, permitiendo que el contenido de la inscripción sea obtenido a través de un servidor web y visualizado en un navegador web.

Campos

Las inscripciones pueden incluir campos antes de un cuerpo opcional. Cada campo consta de dos push de datos, una etiqueta y un valor.

Actualmente, hay seis campos definidos:

  • content_type, con una etiqueta de 1, cuyo valor es el tipo MIME del cuerpo.
  • pointer, con una etiqueta de 2, ver documentación de punteros.
  • parent, con una etiqueta de 3, ver proveniencia.
  • metadata, con una etiqueta de 5, ver metadatos.
  • metaprotocol, con una etiqueta de 7, cuyo valor es el identificador del metaprotocolo.
  • content_encoding, con una etiqueta de 9, cuyo valor es la codificación del cuerpo.
  • delegate, con una etiqueta de 11, ver delegado.

Para indicar el principio del cuerpo y el final de los campos se hace un push de datos vacío.

Las etiquetas no reconocidas se interpretan de forma diferente según sean pares o impares, siguiendo la regla "está bien que sean impares" utilizada por la Lightning Network.

Las etiquetas pares se utilizan para campos que pueden afectar a la creación, asignación inicial o transferencia de una inscripción. Por esto, las inscripciones con campos pares no reconocidos deben mostrarse como "no vinculadas", es decir, sin ubicación.

Las etiquetas impares se utilizan para campos que no afectan a la creación,asignación inicial o transferencia, tales como los metadatos adicionales, y por lo tanto se pueden ignorar.

ID de las Inscripciones

Las inscripciones están alojadas en las entradas de una transacción de revelación. Para identificarlas se les asigna un ID como este:

521f8eccffa4c41a3a7728dd012ea5a4a02feed81f41159231251ecf1e5c79dai0

La parte delante de la i es el ID de transacción (txid) de la transacción de revelación. El número después la i es el índice (comenzando por 0) de las nuevas inscripciones que se están inscribiendo en la transacción de revelación.

Las inscripciones pueden estar en diferentes entradas, dentro de la misma entrada o en una combinación de ambas. En ambos de estos casos, el orden es claro, ya que un analizador sintáctico (parser) recorrería las entradas consecutivamente buscando los sobres de las inscripciones.

EntradaConteo de InscripcionesÍndice
02i0, il
11i2
23i3, i4, i5
30
41i6

Números de Inscripción

Las inscripciones se les asignan números de inscripción comenzando desde cero, basados en el orden en que aparecen las transacciones de revelación dentro de los bloques y el orden de los sobres de revelación dentro de esas transacciones.

Debido a un error histórico en ord que no se puede corregir sin cambiar una gran cantidad de números de inscripción, las inscripciones que se revelan y luego se gastan inmediatamente en tarifas se numeran como si aparecieran al final en el bloque en el que se revelan.

Las inscripciones que están marcadas como embrujdas reciben números de inscripción comenzando desde menos uno y contando hacia abajo. Aquellas inscripciones marcadas como embrujadas desde el jubileo en el bloque 824544 son redimidas y se les asignan números de inscripción positivos.

Sandboxing o Aislamiento

Las inscripciones en HTML y SVG están restringidas en un entorno aislado llamado sandboxing para evitar referencias a contenido fuera de la cadena, manteniendo así las inscripciones inmutables y contenidas dentro del entorno.

Esto se logra cargando las inscripciones en HTML y SVG dentro de iframes con el atributo sandbox y agregando Content-Security-Policy a los encabezados.

Autorreferencia

El contenido asociado a la inscripción identificada por el ID INSCRIPTION_ID debe estar disponible desde la ruta URL /content/<ID_DE_INSCRIPCIÓN>.

Esto permite que las inscripciones obtengan su propio ID de inscripción usando:

let inscription_id = window.location.pathname.split("/").pop();

Si una inscripción con ID X delega a una inscripción con ID Y, es decir, si la inscripción X contiene un campo de delegado con el valor Y, entonces el contenido de la inscripción X debe estar disponible desde la ruta URL /content/X, no desde /content/Y.

Esto permite que las inscripciones delegadas utilicen su propio ID de inscripción como semilla para generar contenido delegado.

Reinscripciones

Los satoshis previamente inscritos pueden reinscribirse con el comando --reinscribe si la inscripción está presente en el monedero. Esto solo añadirá una inscripción adicional a un satoshi, sin modificar la inscripción inicial.

Reinscribe con el satpoint: `ord wallet inscribe --fee-rate <TASA_DE_TARIFA> --reinscribe --file --satpoint

Reinscribir en un sat (requiere el índice de sats): ord --index-sats wallet inscribe --fee-rate <TASA_DE_TARIFA> --reinscribe --file <ARCHIVO> --sat <SAT>

Quemar

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.

Delegado

Las inscripciones pueden nominar una inscripción delegada. Si se peticiona el contenido de una inscripción que tenga un delegado esta retornará el contenido, tipo de contenido y la codificación del contenido del delegado. Esto puede utilizarse para crear copias de una inscripción de manera económica.

Especificación

Para crear una inscripción I con una inscripción delegada D:

  • Crear una inscripción D. Tenga en cuenta que la inscripción D no tiene que existir al momento de crear la inscripción I. Puede ser inscrita después. Antes de que la inscripción D sea inscrita, las solicitudes para el contenido de la inscripción I devolverán un error 404.
  • Agregar a I la etiqueta 11, es decir, OP_PUSH 11, con el valor del ID de la inscripción binaria serializada de D, serializado con un TXID de 32 bytes, seguido por el INDEX de cuatro bytes en formato little-endian, omitiendo los ceros del final.

NB Los bytes del ID de una transacción de Bitcoin están invertidos en su representación textual, por lo que el ID de transacción serializada estará en el orden opuesto.

Ejemplo

Un ejemplo de una inscripción que delega a 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 11
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
OP_ENDIF

Observamos que el valor de la etiqueta 11 está en valor decimal y no en hexadecimal.

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.

Metadatos

Las inscripciones pueden incluir metadatos de tipo CBOR, almacenados como envío de datos en campos con la etiqueta 5. Dado que los envíos de datos están limitados a 520 bytes, los metadatos que excedan los 520 bytes deben dividirse en varios campos que contengan la etiqueta 5, los cuales se concatenarán antes de la decodificación.

Los metadatos son legibles por humanos, y todos los metadatos se mostrarán al usuario junto con su inscripción. Se incentiva a los inscriptores que consideren cómo se verán los metadatos y a crear metadatos sean concisos y atractivos.

Los metadatos se renderizan en HTML para su visualización de la siguiente manera:

  • null, true, false, números, floats y strings se renderizan como texto sin formato.
  • Los strings de bytes se renderizan como hexadecimal en mayúsculas.
  • Las matrices se renderizan como etiquetas <ul>, con cada elemento envuelto en etiquetas <li>.
  • Los mapas se renderizan como etiquetas <dl>, con cada llave envuelta en etiquetas <dt> y cada valor envuelto en etiquetas <dd>.
  • Las etiquetas se renderizan como la etiqueta, dentro de una etiqueta <sup>, seguida del valor.

CBOR es una especificación compleja con muchos tipos de datos y múltiples formas de representar los mismos datos. Puede que los tipos de datos exóticos, tales como etiquetas, floats y bignums, y codificaciones como valores indefinidos, no se muestren correctamente o tal vez ni aparezcan. Las contribuciones a ord para remediar esto son bienvenidas.

Ejemplo

Dado que CBOR no es legible por humanos, en estos ejemplos se representa como JSON. Tenga en cuenta que esto es solo para estos ejemplos, y los metadatos JSON no se mostrarán correctamente.

Los metadatos {"foo":"bar","baz":[null,true,false,0]} se incluirían en una inscripción de esta manera:

OP_FALSE
OP_IF
    ...
    OP_PUSH 0x05 OP_PUSH '{"foo":"bar","baz":[null,true,false,0]}'
    ...
OP_ENDIF

Y renderizados de esta forma:

<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>

Metadatos mayores a 520 bytes deben dividirse en varios campos:

OP_FALSE
OP_IF
    ...
    OP_PUSH 0x05 OP_PUSH '{"metadatos":"muy","largos":'
    OP_PUSH 0x05 OP_PUSH '"porfin","se":"terminan"}'
    ...
OP_ENDIF

Que luego se concatenaría en {"metadatos":"muy","largos":"porfin","se":"terminan"}.

See examples for on-chain examples of inscriptions that feature this functionality.

Puntero

Para crear una inscripción en un sat distinto al primero de su entrada, se puede proporcionar un entero que comienza en cero, llamado "puntero", con la etiqueta 2. Esto hace que la inscripción se cree en el sat localizado en la posición especificada en las salidas. Si el puntero es igual o mayor que el número total de sats en las salidas de la transacción de inscripción, este se ignora y la inscripción se realiza como de costumbre. El valor del campo de puntero es un entero en formato little endian, ignorando los ceros finales.

Se utiliza una etiqueta con un numero par, de modo que las versiones antiguas de ord consideren que la inscripción no está vinculada, en lugar de asignarla incorrectamente al primer sat.

Esto se puede usar para crear múltiples inscripciones en una sola transacción en diferentes sats, de otro modo se harían en el mismo sat.

Ejemplos

Una inscripción con puntero 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

Una inscripción con puntero 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

Una inscripción con puntero 256, ignorando los ceros del final:

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 GalleryItems are galleries.

Galleries contain GalleryItems, 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.

Proveniencia

El propietario de una inscripción puede crear inscripciones hijos (secundarias), estableciendo proveniencia en cadena que indica que esta fue creada por el propietario de la inscripción padre. Esto se puede utilizar para colecciones, donde las inscripciones hijos de una inscripción padre son miembros de la misma colección.

Las inscripciones hijos pueden tener a su vez sus propias inscripciones hijos, lo que permite jerarquías complejas. Por ejemplo, un artista podría crear una inscripción representándose a sí mismo, con subinscripciones que representan las colecciones que vaya a crear, y que las inscripciones hijos de esas subinscripciones sean elementos de esas colecciones.

Especificación

Para crear una inscripción hijo H con una inscripción padre P:

  • Crear una transacción de inscripción T para crear H.
  • Gastar la inscripción principal P en una de las entradas de T.
  • Agregar a H etiqueta 3, es decir, OP_PUSH 3, con el valor del ID de la inscripción binaria serializada de P, serializado con un TXID de 32 bytes, seguido por el INDEX de cuatro bytes en formato little-endian, omitiendo los ceros del final.

NB Los bytes del ID de una transacción de Bitcoin están invertidos en su representación textual, por lo que el ID de transacción serializada estará en el orden opuesto.

Ejemplo

Ejemplo de una inscripción hijo de 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 "Hola, mundo!"
OP_ENDIF

Ten en cuenta que el valor de la etiqueta 3 es en formato binario, y no hexadecimal, y 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0 debe ser utilizado como una de las entradas de la transacción de inscripción para que la inscripción sea reconocida como una inscripción hijo.

Ejemplo de codificación del ID de inscripción 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
  …
OP_ENDIF

Y de este ID de inscripción 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
  …
OP_ENDIF

Notas

La etiqueta 3 es utilizada ya que es la primera etiqueta impar disponible. Etiquetas impares que no son reconocidas no causaran que una inscripción se desvincule, por lo que las inscripciones segundarias serían reconocidas y rastreadas por las versiones antiguas de ord.

Una colección puede cerrarse quemando la inscripción principal de la colección, lo que garantiza que no se puedan emitir más elementos en la colección.

See examples for on-chain examples of inscriptions that feature this functionality.

Recursión

Una excepción importante al [sandboxing](../inscripciones.md#sandboxing o aislamiento) es la recursión. Los endpoints recursivos son endpoints que permiten el acceso a los datos que hay en cadena, incluyendo el contenido de otras inscripciones.

Dado que los cambios en los endpoints recursivos podrían romper inscripciones que dependen de ellos, los endpoints recursivos tienen compatibilidad retroactiva que no comparten los otros endpoints en el server de ord. En particular:

  • Los endpoints recursivos no serán eliminados
  • Los campos de objeto que devuelven los endpoints recursivos no serán renombrados ni cambiarán de tipo

Sin embargo, se pueden añadir o reordenar campos de objeto adicionales, por lo que las inscripciones deben manejar campos adicionales e inesperados, y no deben esperar que los campos estén en un orden específico.

La recursión tiene varios casos de uso interesantes:

  • Reutilización del contenido de inscripciones existentes.

  • Publicar fragmentos de código, imágenes, audio y hojas de cálculo como recursos públicos.

  • Colecciones de arte generativo en donde un algoritmo está inscrito en JavaScript, y se instancia desde múltiples inscripciones con semillas únicas.

  • Colecciones generativas de imágenes de perfil donde los accesorios y atributos se inscriben como imágenes individuales, o en un atlas de texturas compartido, y luego se combinan, estilo collage, en combinaciones únicas creando múltiples inscripciones.

Endpoints

GET /content/<INSCRIPTION_ID>

Description

The content of the inscription with <INSCRIPTION_ID>.

Ejemplo

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.

Ejemplo

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.

Ejemplo

curl -s  \
  http://0.0.0.0:80/r/blockhash/840000
"0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5"
GET /r/blockheight

Description

Latest block height.

Ejemplo

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,
  "versión": 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,
  "versión": 710926336
}
GET /r/blocktime

Description

UNIX time stamp of latest block.

Ejemplo

curl -s  \
  http://0.0.0.0:80/r/blocktime
1729362253
GET /r/children/<INSCRIPTION_ID>

Description

The first 100 child inscription ids.

Ejemplo

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>.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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/undelegated-content/<INSCRIPTION_ID>

Description

Undelegated content of an inscription.

GET /r/inscription/<INSCRIPTION_ID>

Description

Information about an inscription.

Ejemplo

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.

Ejemplo

curl -s \
  http://0.0.0.0:80/r/metadata/b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0
"ac6c50484f544f475241504845526a5041524b4552204441596643414d4552416c43414e4f4e20454f532d31566446494c4d6f4b4f44414b20454b54415220313030644c454e53781a5a4549535320504c414e415220542a2038354d4d20462f312e346d5348555454455220535045454465312f31323568415045525455524563462f38664d4f44454c5318646650484f544f531903e8684c4f434154494f4e774c4f5320414e47454c45532c2043414c49464f524e49416443524557a36a415353495354414e4345826e41524941532042555244454c4c49684e4153204e495858664d414b45555087754544454e2053594d4f4e45204c415454414e5a494f6a4d494d49204d455945526e53414d414e544841204c455052456f4c4953455454452053414e54414e416e4a45535349434120564552474f4e63504f4e724d415941204e414b415241205352554f4348644841495283694a414b4920494348556c4a4f43454c594e2056454741724a4546464552534f4e2054414e475241444966504154524f4e6e434153455920524f4441524d4f52674c4943454e534563434330"
GET /r/parents/<INSCRIPTION_ID>

Description

The first 100 parent inscription ids.

Ejemplo

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>.

Ejemplo

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.

Ejemplo

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>.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplos

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
}

   

Nota: <SAT_NUMBER> solo permite el número real de un sat, no otras notaciones de sat como sexagesimal, porcentual o decimal. En el futuro, podemos expandir para permitir esas notaciones.

Responses from most of the above recursive endpoints are JSON. For backwards compatibility, some endpoints are supported which only return plain-text responses.

  • /blockheight: altura del bloque más reciente.
  • /blockhash: hash del bloque más reciente.
  • /blockhash/<ALTURA>: hash del bloque en la altura de bloque dada.
  • /blocktime: marca de tiempo UNIX del bloque más reciente.

See examples for on-chain examples of inscriptions that feature this functionality.

Renderizado

Proporción de Aspecto

Las inscripciones deben renderizarse con una proporción de aspecto cuadrado. No se deben recortar las inscripciones que no sean cuadradas; en vez, deben centrarse y redimensionarse para ajustarse a su contenedor.

Tamaño Máximo

El explorador ord, utilizado por ordinals.com, muestra vistas previas de inscripciones con un tamaño máximo de 576 por 576 píxeles, siendo una buena elección a la hora de elegir un tamaño máximo de visualización.

Renderizado de Imágenes

La propiedad CSS image-rendering controla cómo se redimensionan las imágenes cuando se amplían y reducen.

Al reducir el tamaño de las inscripciones de imágenes, se debe usar image-rendering: auto. Esto es deseable incluso al reducir el tamaño de arte en píxeles.

Al incrementar el tamaño de las inscripciones que contienen imágenes, excepto de tipo AVIF, se debe utilizar image-rendering: pixelated. Esto es deseable al incrementar el tamaño de arte de píxeles, ya que preserva los bordes afilados de los píxeles. No es deseable al aumentar imágenes que no sean arte de píxeles, pero aun así debe usarse para mantener la compatibilidad visual con el explorador ord.

Al ampliar inscripciones en formatos AVIF y JPEG XL, se debe usar image-rendering: auto. Esto permite que los inscriptores opten por una ampliación no pixelada para inscripciones que no sean arte de píxeles. Hasta que JPEG XL sea ampliamente compatible con los navegadores, no se recomienda utilizarlos como formato de imagen.

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

Delegado

Metadatos

  • Each member in the FUN collection has metadata that describes its attributes.
  • This inscription uses its own metadata to draw the ordinal image.

Proveniencia

  • 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.

Recursión

  • 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.

Runas

Las runas permiten que las transacciones de Bitcoin graben, minteen y transfieran productos digitales nativos de Bitcoin.

Mientras que cada inscripción es única y diferente, una unidad de runa es idéntica. Son tokens intercambiables, hechos para servir una variedad de propósitos.

Piedras Rúnicas (Runestones)

Los mensajes del protocolo de runas, llamados piedras rúnicas, se almacenan en las salidas de las transacciones de Bitcoin.

El pubkey del script de salida de una piedra rúnica comienza con un OP_RETURN, seguido por OP_13, seguido por cero o más pushes de datos. Estos push de datos se concatenan y decodifican en una secuencia de enteros de 128 bits, finalmente estos se analizan y se convierten en una piedra rúnica.

Una transacción puede tener como máximo una piedra rúnica.

Una piedra rúnica puede grabar una runa nueva, mintear una runa existente y transferir runas de las entradas de una transacción a sus salidas.

La salida de una transacción puede contener saldos de cualquier cantidad de runas.

Las runas se identifican por ID, las cuales consisten en el bloque en el que se grabó una runa y el índice de la transacción de grabado dentro de ese bloque, su representación textual sería BLOQUE:TX. Por ejemplo, el ID de la runa grabada en la transacción 20 del bloque 500 es 500:20.

Grabado

Las runas cobran vida al ser grabadas. El grabado crea una runa y establece sus propiedades. Una vez establecidas, estas propiedades son inmutables, incluso para quien las grabó.

Nombre

Los nombres consisten en letras de la A a la Z y tienen entre una y veintiséis letras. Por ejemplo, UNCOMMONGOODS es un nombre de runa.

Los nombres pueden tener separadores, representados como un punto en medio, para facilitar su lectura. UNCOMMONGOODS podría ser grabado como UNCOMMON•GOODS.

La exclusividad de un nombre no depende de los separadores. Por lo tanto, una runa no puede ser grabada con la misma secuencia de letras a la de una runa existente, incluso si tiene diferentes separadores.

Los separadores solo pueden colocarse entre dos letras. Finalmente, los separadores no cuentan como letras.

Divisibilidad

La divisibilidad de una runa es la capacidad de dividirse en unidades. La divisibilidad se expresa como el número de dígitos permitidos después del punto decimal en una cantidad de runas. Una runa con divisibilidad 0 no puede dividirse. Una unidad de una runa con divisibilidad 1 puede dividirse en diez subunidades, una runa con divisibilidad 2 puede dividirse en cien, y así sucesivamente.

Símbolo

El símbolo de una runa es un punto de código Unicode, por ejemplo, $, o 🧿, que se muestra después de las cantidades de esa runa.

101 unidades de una runa con divisibilidad 2 y el símbolo 🧿 se representarían como 1.01 🧿.

Si una runa no tiene símbolo, se debe usar el signo de moneda genérico ¤, también llamado escarabajo.

Premina

El grabador de una runa puede asignarse a sí mismo unidades de la runa que está grabando. Esta asignación se llama premina.

Términos

Una runa puede tener un minteo abierto, permitiendo que cualquiera cree y asigne unidades de esa runa para sí mismo. Un minteo abierto está sujeto a términos, los cuales se establecen al grabar.

Un minteo está abierto mientras se cumplan todos los términos, y se cierra cuando alguno de ellos no se cumple. Por ejemplo, un minteo puede estar limitado a una altura inicial, una altura final y un límite, y estará abierto entre la altura inicial y la altura final, o hasta que se alcance el límite, cual sea que ocurra primero.

Tope

El tope es la cantidad de veces que se puede mintear una runa. El minteo termina una vez que se alcance el tope.

Cantidad

Cada vez que se realiza una transacción de minteo, se produce una cantidad fija de nuevas unidades de una runa.

Altura Inicial

Un minteo comienza en el bloque de la altura inicial dada.

Altura Final

Una runa no puede ser minteada en o después del bloque de la altura final especificada.

Desplazamiento Inicial

Un minteo se abre comenzando en el bloque cuya altura es igual al desplazamiento inicial más la altura del bloque en el que se grabó la runa.

Desplazamiento Final

Una runa no puede ser minteada en o después del bloque cuya altura es igual al desplazamiento final más la altura del bloque en el que se grabó la runa.

Minteo

Mientras que el minteo de una runa esté abierto, cualquiera puede crear una transacción de minteo que genere una cantidad fija de nuevas unidades de esa runa, sujeta a los términos del minteo.

Transferencia

Cuando las entradas de una transacción contienen runas, o se crean nuevas runas mediante una premina o minteo, esas runas se transfieren a las salidas de esa transacción. La runa de una transacción puede modificar cómo las runas de entrada se transfieren a las salidas.

Edictos (Edicts)

Una runa puede contener cualquier cantidad de edictos. Los edictos consisten en un ID de runa, una cantidad y un número de salida. Los edictos se procesan en orden, asignando runas que no han sido asignadas a las salidas.

Puntero

Una vez procesados todos los edictos, las runas no asignadas se transfieren a la primera salida de la transacción que no sea OP_RETURN. De manera opcional, una runa puede incluir un puntero que indique una salida predeterminada diferente.

Quemar

Las runas pueden ser quemadas transfiriéndolas a una salida OP_RETURN que tenga un edicto o puntero.

Cenotafios

Las runas pueden estar mal formadas por varias razones, incluyendo opcodes no pushdata en el OP_RETURN de la runa, varints inválidos o campos de runas no reconocidos.

Las runas mal formadas se denominan cenotafios.

Las runas ingresadas a una transacción con un cenotafio se queman. Las runas grabadas en una transacción con un cenotafio se consideran no minteables. Los minteos en una transacción con un cenotafio cuentan para el tope del minteo, pero las runas creadas se queman.

Los cenotafios actúan como un mecanismo de actualización, permitiendo que las runas adopten nuevas semánticas que modifiquen cómo se crean y transfieren. Esto se logra sin confundir a los clientes desactualizados acerca de la ubicación de las runas, ya que dichos clientes las percibirán como si hubieran sido quemadas.

Las Runas No Tienen una Especificación Formal

ord es la implementación de referencia de las Runas y constituye la especificación normativa del protocolo de Runas.

Nada de lo que leas aquí o en cualquier otro lugar, aparte del código de ord, constituye una especificación oficial. Esta descripción en prosa del protocolo de Runas se proporciona como una guía sobre el comportamiento de ord, y siempre se debe consultar el código de ord para confirmar la exactitud de cualquier descripción en prosa.

Si, debido a un error o bug en ord, este documento se desvía del comportamiento real de ord y resulta poco práctico modificar el comportamiento de ord, este documento se actualizará para reflejar el comportamiento real de ord.

Los usuarios que vayan a utilizar implementaciones alternativas lo hacen bajo su propio riesgo. Se recomienda encarecidamente a los servicios que deseen integrar Runas que utilicen ord para realizar transacciones de Runas y para determinar el estado de las runas, los minteos y los saldos.

Piedras Rúnicas (Runestones)

Los mensajes del protocolo de Runas se denominan "runestones".

El protocolo de Runas se activa en el bloque 840,000, y las runestones en bloques anteriores se ignoran.

En términos abstractos, los runestones contienen los siguientes campos:

#![allow(unused)]
fn main() {
struct Runestone {
  edicts: Vec<Edict>,
  etching: Option<Etching>,
  mint: Option<RuneId>,
  pointer: Option<u32>,
}
}

Las Runas se crean mediante grabados (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>,
}
}

Los cuales pueden tener estos términos de minteo:

#![allow(unused)]
fn main() {
struct Terms {
  amount: Option<u128>,
  cap: Option<u128>,
  height: (Option<u64>, Option<u64>),
  offset: (Option<u64>, Option<u64>),
}
}

Las runas se transfieren por medio de edictos (edict):

#![allow(unused)]
fn main() {
struct Edict {
  id: RuneId,
  amount: u128,
  output: u32,
}
}

Los IDs de las runas están codificados con la altura del bloque y el índice de transacción de la transacción en la cual la runa fue grabada:

#![allow(unused)]
fn main() {
struct RuneId {
  block: u64,
  tx: u32,
}
}

Los ID de las Runas son representados textualmente como BLOCK:TX.

Los nombres de las runas se codifican como enteros modificados en base 26:

#![allow(unused)]
fn main() {
struct Rune(u128);
}

Descifrado

Las piedras rúnicas se descifran basándose en las las transacciones con los siguientes pasos:

  1. Encuentra la primera salida de transacción cuyo script pubkey comience con OP_RETURN OP_13.

  2. Concatenar todos los siguientes pushes de datos en un búfer.

  3. Decodificar del búfer la secuencia de enteros de 128 bits LEB128.

  4. Analizar y convertir la secuencia de enteros en un mensaje sin tipo (untyped).

  5. Analizar y convertir el mensaje sin tipo (untyped) en una piedra rúnica.

El descifrado puede producir una piedra rúnica mal formada, denominada cenotafio.

Localizando la Salida de la Piedra Rúnica

Se examinan las salidas para identificar el primer script pubkey que comienza con OP_RETURN OP_13. Si el descifrado no tiene éxito, no se tomarán en cuenta las salidas coincidentes siguientes.

Creación del Búfer

El búfer se ensambla concatenando los pushes de datos que vienen después de OP_13, en el script pubkey correspondiente.

Los pushes de datos abarcan los opcodes del 0 al 78, el 78 incluido. Si se encuentra un opcode distinto, es decir, cualquier opcode igual o superior al 79, la piedra rúnica descifrada resultará ser un cenotafio sin grabado, minteo ni edictos.

Decodificación la Secuencia de Enteros

Del búfer se extrae y decodifica una secuencia de enteros de 128 bits como varints LEB128.

Los varints LEB128 se codifican como una serie de bytes, cada uno con el bit más significativo establecido, excepto el último.

La piedra rúnica decodificada será un cenotafio sin grabado, minteo ni edictos si un varint LEB128 contiene más de 18 bytes, desborda (overflow) un u128, o está truncado. Esto significaría que se alcanza el final del búfer de carga útil antes de encontrar un byte con el bit de continuación que no se ha establecido.

Análisis y Conversión del Mensaje

La secuencia de enteros se analiza y se convierte en un mensaje sin tipo (untyped):

#![allow(unused)]
fn main() {
struct Message {
  fields: Map<u128, Vec<u128>>,
  edicts: Vec<Edict>,
}
}

Los enteros se interpretan como una secuencia de pares de etiqueta/valor (tag/value), en donde las etiquetas duplicadas añaden su valor al valor del campo.

Si se encuentra una etiqueta con valor cero, todos los enteros siguientes se interpretan como una serie de edictos de cuatro enteros, cada uno compuesto por la altura de bloque de ID de la runa, un índice de transacción de ID de la runa, la cantidad y salida.

#![allow(unused)]
fn main() {
struct Edict {
  id: RuneId,
  amount: u128,
  output: u32,
}
}

Las alturas de bloque de ID de runa y los índices de transacción en los edictos son en codificación delta.

La decodificación del edicto de ID de runa comienza con una altura de bloque base y un índice de transacción inicial de cero. Al decodificar cada ID de runa, se añade primero el delta de la altura del bloque codificado a la altura del bloque base. Si el delta de la altura del bloque es cero, el siguiente entero es un delta del índice de transacción. Si el delta de la altura del bloque es mayor a cero, el siguiente entero es un índice de transacción absoluto.

Esto significa que los edictos deben ordenarse primero por ID de runa antes de ser codificados en una piedra rúnica.

Por ejemplo, para codificar los siguientes edictos:

bloqueTXcantidadsalida
10551
501254
10718
105103

Primero se ordenan por altura de bloque e índice de transacción:

bloqueTXcantidadsalida
10551
105103
10718
501254

Y luego el delta codificado como:

delta del bloquedelta de TXcantidadsalida
10551
00103
0218
401254

La piedra rúnica decodificada es un cenotafio si la salida de un edicto supera el número de salidas de la transacción, si se encuentra un ID de runa de edicto con bloque cero y un índice de transacción distinto de cero, o si un campo está truncado lo cual significa que una etiqueta se encuentra sin valor.

Cabe señalar que si se produce un cenotafio en este caso, el cenotafio no estará vacío, lo que significa que tiene los campos y edictos, que pueden incluir un grabado y un minteo.

Análisis y Conversión de la Piedra Rúnica (Runestone)

La piedra rúnica:

#![allow(unused)]
fn main() {
struct Runestone {
  edicts: Vec<Edict>,
  etching: Option<Etching>,
  mint: Option<RuneId>,
  pointer: Option<u32>,
}
}

Se analiza a partir del mensaje sin firmar utilizando las siguientes etiquetas:

#![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,
}
}

Ten en cuenta que las etiquetas se agrupan por paridad, es decir, si son pares o impares. Las etiquetas impares que no son reconocidas se ignoran. Las etiquetas pares que no son reconocidas producen un cenotafio.

All unused tags are reserved for use by the protocol, may be assigned at any time, and should not be used.

Cuerpo (Body)

La etiqueta Body indica el final de los campos de la piedra rúnica, causando que todos los enteros posteriores se interpreten como edictos.

Banderas (Flag)

El campo Flag contiene un mapa de bits de banderas, cuya posición es 1 << FLAG_VALUE:

#![allow(unused)]
fn main() {
enum Flag {
  Etching = 0,
  Terms = 1,
  Turbo = 2,
  Cenotaph = 127,
}
}

La bandera Etching indica que esta transacción contiene un grabado.

La bandera Terms indica que el grabado de esta transacción tiene términos de minteo abiertos.

La bandera Turbo indica que el grabado de esta transacción opta por futuros cambios en el protocolo. Estos cambios pueden aumentar los costos de validación para clientes ligeros o ser altamente degenerados.

La bandera Cenotaph no es reconocida.

Si después de eliminar las banderas reconocidas, el valor del campo de banderas es distinto de cero, la piedra rúnica se considera un cenotafio.

Runa

El campo Rune especifica el nombre de la runa que se está grabando. Si la bandera Etching está activa pero el campo Rune se omite, se asigna un nombre de runa reservado.

Premina

El campo Premine especifica la cantidad de runas preminadas.

Tope

El campo Cap especifica el número de minteos permitidos.

Cantidad

El campo Amount especifica la cantidad de runas que recibe cada transacción de minteo.

HeightStart y HeightEnd

Los campos HeightStart y HeightEnd especifican las alturas de bloque absolutas de inicio y fin del minteo. El minteo comienza en el bloque con altura HeightStart y finaliza en el bloque con altura HeightEnd.

OffsetStart y OffsetEnd

Los campos OffsetStart y OffsetEnd especifican las alturas de bloque de inicio y fin del minteo, relativas al bloque en el que se extrae el grabado. El minteo comienza en el bloque con altura OffsetStart + ETCHING_HEIGHT y termina en el bloque con altura OffsetEnd + ETCHING_HEIGHT.

Minteo

El campo Mint especifica el ID de la runa que se minteara en dicha transacción.

Puntero

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.

Cenotafio

El campo Cenotaph no es reconocido.

Divisibilidad

El campo Divisibility, elevado a la potencia de diez, determina el número de subunidades en una unidad de runas.

Por ejemplo, aca se observa la cantidad 1234 de diferentes runas con divisibilidad de 0 a 3:

DivisibilidadAparece
01234
1123.4
212.34
31.234
Separadores

El campo Spacers es un mapa de bits de separadores que deben mostrarse entre las letras del nombre de una runa.

El campo N del mapa de bits, comenzando desde el menos significativo, determina si debe mostrarse un separador entre los caracteres N y N+1, comenzando desde la izquierda del nombre de la runa.

Por ejemplo, el nombre de la runa AAAA representado con diferentes separadores:

SeparadoresAparece
0b1A•AAA
0b11A•A•AA
0b10AA•AA
0b111A•A•A•A

Los separadores al final del nombre son ignorados.

Símbolo

El campo Symbol representa el punto de código Unicode del símbolo de la runa, el cual debe aparecer después de las cantidades de esa runa. Si una runa no tiene un símbolo específico, se debe utilizar el carácter de moneda genérico ¤.

Por ejemplo, si el Symbol es # y la divisibilidad es 2, la cantidad de 1234 unidades debe aparecer como 12.34 #.

Nop

El campo Nop no es reconocido.

Cenotafios

Los cenotafios tienen los siguientes efectos:

  • Todas las runas ingresadas a una transacción que contiene un cenotafio se queman.

  • Si la piedra rúnica que produjo el cenotafio contenía un grabado, la runa grabada tiene un suministro de cero y no se puede mintear.

  • Si la piedra rúnica que produjo el cenotafio es un minteo, esta se contabiliza contra el límite de minteos y las runas minteadas se queman.

Los cenotafios pueden generarse si una piedra rúnica contiene una etiqueta par no reconocida, una bandera no reconocida, un edicto con un número de salida mayor al número de entradas, un ID de runa con bloque cero y un índice de transacción distinto a cero, un varint malformado, una instrucción que no es push de datos en el script pubkey de la salida de la piedra rúnica, una etiqueta sin valor posterior o enteros al final que no formen parte de un edicto.

Ejecución de la Piedra Rúnica

Las piedras rúnicas se ejecutan en el orden en que sus transacciones se incluyan en los bloques.

Grabados

Una piedra rúnica puede contener este grabado:

#![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 es el nombre de la runa que sera grabada, codificada como un entero modificado de base-26.

Los nombres de runas consisten en las letras de la A a la Z, con la siguiente codificación:

NombreCodificación
A0
B1
Y24
Z25
AA26
AB27
AY50
AZ51
BA52

Y así sucesivamente.

Los nombres de runas AAAAAAAAAAAAAAAAAAAAAAAAAAA y superiores están reservados.

Si rune se omite, se asigna un nombre de runa reservado de la siguiente manera:

#![allow(unused)]
fn main() {
fn reserve(block: u64, tx: u32) -> Rune {
  Rune(
    6402364363415443603228541259936211926
    + (u128::from(block) << 32 | u128::from(tx))
  )
}
}

6402364363415443603228541259936211926 corresponde al nombre de runa AAAAAAAAAAAAAAAAAAAAAAAAAAA.

Si rune está presente, debe desbloquearse a partir del bloque en el que aparece el grabado.

Inicialmente, todos los nombres de runas de trece caracteres o más, hasta el primer nombre de runa reservado, están desbloqueados.

Las runas comienzan a desbloquearse en el bloque 840,000, el bloque en el que se activa el protocolo de runas.

A partir de entonces, cada período de 17,500 bloques, se desbloquea continuamente la siguiente longitud más corta de nombres de runas. Entre el bloque 840,000 y el 857,500, se desbloquean los nombres de runas de doce caracteres, entre el bloque 857,500 y el 875,000 se desbloquean los nombres de runas de once caracteres, y así sucesivamente, hasta que los nombres de runas de un solo carácter se desbloqueen entre el bloque 1,032,500 y el bloque 1,050,000. Consulte la base de código ord para el calendario preciso de desbloqueo.

Para evitar el front running de un grabado que ha sido transmitido pero no minado, si se está grabando un nombre de runa no reservado, la transacción de grabado debe contener un compromiso válido con el nombre que se está grabando.

Un compromiso consiste en un push de datos del nombre de la runa, codificado como un entero little-endian con los bytes de cero al final eliminados, presente en el testigo de entrada tapscript donde la salida que se gasta tiene al menos seis confirmaciones.

Si no hay un compromiso válido, se ignora el grabado.

Minteo

Una piedra rúnica puede mintear una runa incluyendo el ID de la runa en el campo Mint.

Si el minteo está abierto, la cantidad minteada se añade a las runas no asignadas en las entradas de la transacción. Estas runas pueden ser transferidas usando edictos, y de lo contrario, se transferirán a la primera salida que no sea OP_RETURN, o a la salida designada por el campo Pointer.

Los minteos pueden realizarse en cualquier transacción despues del grabado, incluso en el mismo bloque.

Transferencia

Las runas se transfieren por medio de edictos (edict):

#![allow(unused)]
fn main() {
struct Edict {
  id: RuneId,
  amount: u128,
  output: u32,
}
}

Una piedra rúnica puede contener cualquier número de edictos, los cuales se procesan en secuencia.

Antes de procesar los edictos, las runas de entrada, así como las runas minteadas o preminadas, si las hay, no están asignadas.

Cada edicto reduce el saldo que no ha sido asignado de la runa id e incrementa el saldo asignado a las salidas de transacción de la runa id.

Si un edicto asignara más runas de las que no están asignadas, amount se reduce al número de runas que no estan asignadas. En otras palabras, el edicto asigna todas las unidades restantes que no han sido asignadas de la runa id.

Dado que el ID de una runa grabada no se conoce antes de que se incluya en un bloque, se usa el ID 0:0 para referirse a la runa que se está grabando en esta transacción, si la hay.

Un edicto con con el valor amount igual a cero asigna todas las unidades restantes de la runa id.

Un edicto con output igual al número de salidas de la transacción asigna amount de runas a cada salida que no sea OP_RETURN en orden.

Un edicto con el valor de amount igual a cero y output igual al número de salidas de la transacción distribuye todas las unidades no asignadas de la runa id entre cada salida que no sea OP_RETURN. Si la cantidad de runas no asignadas no se puede dividir equitativamente entre las salidas que no son OP_RETURN, se asigna una runa adicional a las primeras R salidas que no son OP_RETURN, donde R es el residuo que queda después de dividir el balance de unidades no asignadas de la runa id por el número de salidas que no son OP_RETURN.

La piedra rúnica se convierte en un cenotafio si algún edicto en una piedra rúnica tiene un ID de runa con block igual a cero y tx mayor que cero, o output mayor que el número de salidas de la transacción.

Se debe tener en cuenta que los edictos en los cenotafios no se procesan, y todas las runas de entrada se queman.

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!

Preguntas frecuentes sobre la teoría Ordinal

¿Qué es la teoría ordinal?

La teoría ordinal es un protocolo para asignar números de serie a los satoshis, la denominación más pequeña de un bitcoin, y rastrear esos satoshis a medida que son gastados en transacciones.

Estos números de serie son números grandes, un ejemplo es el número 804766073970493. Cada satoshi, el cual es ¹⁄₁₀₀₀₀₀₀₀₀ de un bitcoin, tiene un número ordinal.

¿La teoría ordinal requiere una cadena lateral, un token separado o cambios en Bitcoin?

¡No! La teoría ordinal funciona en este momento, sin una cadena lateral, y el único token necesario es simplemente bitcoin.

¿Para qué sirve la teoría Ordinals?

Para coleccionar, comerciar e innovar. La teoría ordinal asigna una identidad a los satoshis, permitiendo que se rastreen e intercambien, como curiosidades y por su valor numismático.

La teoría ordinal también habilita las inscripciones, un protocolo para adjuntar contenido arbitrario a los satoshis, convirtiéndolos en artefactos digitales nativos en bitcoin.

¿Cómo funciona la teoría ordinal?

Los números ordinales se asignan a los satoshis en el orden en que se minan. El primer satoshi en el primer bloque tiene el número ordinal 0, el segundo tiene el número ordinal 1 y el último satoshi del primer bloque tiene el número ordinal 4,999,999,999.

Los satoshis se hallan en las transacciones salientes, pero las transacciones se destruyen cuando son emitidas y se crean nuevas transacciones, lo que la teoría de Ordinals hace es utilizar un algoritmo para determinar cómo los satoshis se mueven entre las transacciones que salen y entran.

Afortunadamente, ese algoritmo es bastante sencillo.

Los satoshis se transfieren en orden, el primero que entra, es el primero en salir. Simplemente hay que pensar en las entradas a una transacción como una lista de satoshis, y las salidas como una lista con espacios libres, esperando para recibir un satoshi. Para asignar satoshis a un espacio libre, se asigna uno por uno al próximo espacio que esté disponible.

Imaginemos una transacción con tres entradas y dos salidas. Las entradas están a la izquierda de la flecha y las salidas a la derecha, todas con sus respectivos valores:

[2] [1] [3] → [4] [2]

Ahora miremos la misma transacción con los números ordinales de los satoshis que contiene cada entrada. Pondremos signos de interrogantes para cada espacio de salida que está libre. Ya que los números ordinales son grandes utilizaremos letras para representarlos:

[a b] [c] [d e f] → [? ? ? ?] [? ?]

Para saber dónde el satoshi quedara ubicado en la transacción de salida, revisa los satoshis en la transacción de entrada y asigna cada uno a un signo de interrogación:

[a b] [c] [d e f] → [a b c d] [e f]

¿En este momento te estarás preguntando qué pasara con las comisiones? ¡Buena pregunta! Imaginemos la misma transacción, esta vez con una comisión de dos satoshis. Las transacciones con comisiones contienen más satoshis en las transacciones de entrada que las que reciben las transacciones de salida, por lo que para convertir nuestra transacción en una que pague comisiones, eliminaremos la segunda salida:

[2] [1] [3] → [4]

Los satoshis e y f ahora no tienen ningún lugar a donde ir en las salidas:

[a b] [c] [d e f] → [a b c d]

Así que van al minero que minó el bloque como comisión. El BIP tiene los detalles, pero, en resumen, las comisiones pagadas por las transacciones se tratan como entradas adicionales a la transacción coinbase y se ordenan según el orden en el que están en el bloque. La transacción coinbase del bloque podría verse así:

[SUBSIDY] [e f] → [SUBSIDY e f]

¿Dónde puedo encontrar los detalles técnicos?

¡En el BIP!

¿Por qué a las inscripciones de Satoshis se les llama "artefactos digitales" en lugar de "NFT"?

Una inscripción es un NFT, pero se utiliza el término "artefacto digital", porque es fácil, sugerente y familiar.

La frase "artefacto digital" es muy sugerente, incluso para alguien que nunca ha oído el término. En comparación, NFT es un acrónimo y no proporciona ninguna indicación de lo que significa si no has escuchado el término.

Además, la palabra, "NFT" suena como terminología financiera, y tanto la palabra "fungible" como el sentido de la palabra "token" como se usa en los "NFT" no son comunes fuera de los contextos financieros.

¿Cómo se comparan las inscripciones con…

¿Los NFT de Ethereum?

Las inscripciones siempre son inmutables.

No hay forma de que el creador de una inscripción, o el propietario de una inscripción, la modifique después de haber sido creada.

Los NFTs en Ethereum pueden ser inmutables, pero muchos no lo son y pueden ser cambiados o eliminados por el propietario del contrato del NFT.

Para asegurarse de que un NFT de Ethereum sea inmutable, se debe analizar el código del contrato, lo cual requiere un conocimiento a profundidad de la EVM y la semántica de Solidity.

Para un usuario que no tiene habilidades técnicas es bastante difícil determinar si un NFT de Ethereum es mutable o inmutable, y las plataformas Ethereum NFT no se esfuerzan para ayudar a distinguir si un NFT es mutable o inmutable y si el código fuente del contrato está disponible y ha sido auditado.

El contenido de la inscripción siempre está en la cadena de Bitcoin.

No hay forma de que una inscripción haga referencia a contenido que esta por fuera de la cadena de Bitcoin. Debido a esto las inscripciones son más duraderas porque el contenido no puede perderse y también las hace más escasas porque los creadores de inscripciones deben pagar comisiones proporcionales al tamaño del contenido.

Hay algunos NFTs en Ethereum que están en la cadena, pero muchos no lo están y se almacenan en plataformas como IPFS o Arweave, o en servidores web centralizados. No se garantiza que el contenido que esta almacenado en IPFS continue estando disponible, de hecho, ya se ha perdido contenido de NFTs que fueron almacenado en IPFS. Plataformas como Arweave dependen de suposiciones económicas y probablemente fallarán catastróficamente cuando estas suposiciones ya no se cumplan. Los servidores web centralizados pueden desaparecer en cualquier momento.

Es difícil para un usuario que no tienes habilidades técnicas determinar donde el contenido de un NFT de Ethereum esta alojado.

Las inscripciones son mucho más sencillas.

Los NFT de Ethereum dependen de la red y la máquina virtual de Ethereum, las cuales son altamente complejas, cambian constantemente e introducen cambios mediante bifurcaciones incompatibles con versiones anteriores.

Por otro lado, las inscripciones dependen de la blockchain de Bitcoin que es relativamente simple y conservadora, e introduce cambios mediante bifurcaciones suaves (soft fork) compatibles con versiones anteriores.

Las inscripciones son más seguras.

Las inscripciones heredan el modelo de transacción de Bitcoin, lo que permite al usuario ver exactamente qué inscripciones se están transfiriendo en una transacción antes de firmarla. Las inscripciones pueden ofrecerse a la venta mediante transacciones parcialmente firmadas, lo que no requiere el permiso un tercero, como un mercado o plataforma para la transferencia.

En comparación, los NFT de Ethereum están plagados de vulnerabilidades de seguridad para el usuario final. Es común firmar transacciones a ciegas, otorgar permisos ilimitados a aplicaciones de terceros sobre los NFTs e interactuar con contratos inteligentes complejos e impredecibles. Estos problemas que tienen los NFTs de Ethereum simplemente no son una preocupación para los teóricos de Ordinals.

Las inscripciones son más escasas.

Para mintear, transferir y almacenar inscripciones, se requiere bitcoin. Superficialmente esto parece un inconveniente, pero la razón de ser de los artefactos digitales es ser escasos y, por lo tanto, valiosos.

Los NFT de Ethereum, por otro lado, pueden ser minteados en cantidades prácticamente ilimitadas con una sola transacción, lo que los hace intrínsecamente menos escasos y, por lo tanto, potencialmente menos valiosos.

Las inscripciones no pretenden respaldar regalías en la cadena.

En teoría, la idea de implementar regalías en blockchain suena prometedora, pero en la práctica surgen problemas significativos. La aplicación de regalías enfrenta restricciones complejas e invasivas en la cadena. Actualmente, el ecosistema de NFT en Ethereum está lidiando con problemas debido a la confusión en torno a las regalías. Colectivamente, se está llegando a la conclusión de que las regalías en cadena, originalmente vistas como una ventaja para los artistas en los NFT, no son factibles. Algunas plataformas ya están eliminando el soporte para regalías.

Las inscripciones evitan esta situación por completo al no hacer falsas promesas de respaldar regalías en la cadena, evitando así la confusión, el caos y la negatividad de la situación que ocurre con los NFT en Ethereum.

Las inscripciones abren las puertas a nuevos mercados.

La valoración de mercado y el flujo de capital en Bitcoin exceden considerablemente a los de Ethereum. Gran parte de esta liquidez no está disponible para los NFT en Ethereum, ya que muchos bitcoiners prefieren no interactuar con el ecosistema de Ethereum debido a las preocupaciones relacionadas con la simplicidad, seguridad y descentralización.

Estos bitcoiners podrían estar más interesados en las inscripciones que en los NFT de Ethereum, abriendo la puerta a otros tipos de coleccionistas.

Las inscripciones tienen un modelo de datos más robusto.

Una inscripción consiste en un tipo de contenido, conocido como tipo MIME, acompañado por una cadena (string) de bytes que representa su contenido. Este modelo de datos es el mismo utilizado en la web, lo que permite que el contenido de la inscripción evolucione junto con la web y pueda admitir cualquier tipo de contenido compatible con los navegadores web, sin necesidad de modificar el protocolo subyacente.

¿Activos de RGB y Taro?

RGB y Taro son protocolos de activos construidos en una capa segundaria sobre Bitcoin. En comparación con las inscripciones, son mucho más complicados, pero con muchas más funcionalidades.

La teoría ordinal ha sido desarrollada específicamente para artefactos digitales desde cero, mientras que RGB y Taro se enfocan en tokens fungibles. Por lo tanto, la experiencia del usuario con las inscripciones probablemente sea más simple y refinada en comparación con el uso de NFTs de RGB y Taro.

RGB y Taro almacenan contenido fuera de la cadena, lo que implica depender de una infraestructura adicional que podría perderse. Por el contrario, el contenido de las inscripciones se guarda en la cadena y no corre el riesgo de perderse.

La teoría ordinal, RGB y Taro están en sus primeras etapas, por lo que todo esto es especulativo, pero el enfoque de la teoría ordinal podría darle la ventaja en términos de funcionalidad para artefactos digitales, incluyendo un mejor modelo de contenido y características como símbolos globalmente únicos.

¿Activos de Counterparty?

Counterparty tiene su propio token, XCP, que es necesario para algunas funcionalidades, lo que hace que la mayoría de los bitcoiners lo consideren como una altcoin, y no como una extensión o segunda capa de bitcoin.

La teoría ordinal fue diseñada específicamente para tratar con artefactos digitales, a diferencia de Counterparty, que se diseñó principalmente enfocado en la emisión de tokens financieros.

Inscripciones para…

Artistas

Las inscripciones están en Bitcoin. Bitcoin es la moneda digital con el mayor prestigio y la mayor probabilidad de supervivencia a largo plazo. Si deseas garantizar que tu arte perdure en el futuro, no hay mejor forma de publicarlo que mediante inscripciones.

Almacenamiento en cadena es menos costoso. A $20,000 por BTC y una comisión mínima de 1 satoshi por vbyte, el costo de publicar contenido en una inscripción es de $50 por 1 millón de bytes.

¡Las inscripciones están en sus inicios! Las inscripciones todavía están en desarrollo y aún no se han lanzado en la red principal. Esto te brinda la oportunidad de ser un pionero y explorar el medio a medida que evoluciona.

Las inscripciones son simples. No es necesario escribir ni comprender contratos inteligentes.

Las inscripciones abren las puertas a nuevas fuentes de liquidez. Las inscripciones resultan más accesibles y atractivas para los poseedores de bitcoin, dando paso a una clase completamente nueva de coleccionistas.

Las inscripciones están diseñadas para los artefactos digitales. Se diseñan desde cero enfocándose en los NFTs y ofrecen un modelo de datos superior, con características como símbolos globalmente únicos y una procedencia mejorada.

Las inscripciones no admiten regalías en cadena. Esto puede verse como algo negativo, pero realmente depende de la perspectiva de cada uno. Si bien las regalías en cadena han beneficiado enormemente a los creadores, también han generado una gran cantidad de confusión en el ecosistema NFT de Ethereum. En este momento, el ecosistema está lidiando con este problema, encaminándose hacia un futuro donde las regalías serán opcionales. Las inscripciones no admiten regalías en cadena debido a que técnica y prácticamente no son viables. Sin embargo, si decides crear inscripciones, existen varias estrategias para superar esta restricción: puedes retener una porción de tus inscripciones para futuras ventas, aprovechando así la valorización que puedan tener con el tiempo; o incluso ofrecer incentivos a los usuarios que opten por respetar las regalías opcionales.

Coleccionistas

Las inscripciones son sencillas, claras y sin sorpresas inesperadas. Son siempre inmutables y residen en la cadena de Bitcoin, lo que elimina la necesidad de gestiones adicionales.

Las inscripciones están en Bitcoin. Puedes verificar fácilmente la ubicación y propiedades de las inscripciones con un nodo de Bitcoin que tu controlas.

Bitcoiners

Permíteme iniciar esta sección señalando que: la principal función de la red de Bitcoin es la descentralización del dinero. Todos los otros usos que se le pueden dar son secundarios, y eso incluye a la teoría ordinal. Los desarrolladores detrás de esta teoría comprenden muy bien este aspecto y consideran que su trabajo contribuye, aunque sea mínimamente, a la misión principal de Bitcoin.

A diferencia de muchas otras cosas en el espacio altcoin, los artefactos digitales tienen mérito propio. Es verdad que hay una gran cantidad de NFTs que son feos, estúpidos o fraudulentos. Sin embargo, también hay muchos que sobresalen por su increíble creatividad. La creación y colección de arte ha sido parte fundamental de la historia humana desde tiempos antiguos, incluso antes del surgimiento del comercio y el dinero, que son tecnologías ancestrales también.

Bitcoin ofrece una plataforma increíble para la creación y colección de artefactos digitales de manera segura y descentralizada, protegiendo tanto a usuarios como a artistas, al igual que facilita una plataforma confiable para transmitir y recibir valor.

Los Ordinals y las inscripciones aumentan la demanda de espacio en los bloques de Bitcoin, lo que aumenta el presupuesto de seguridad de Bitcoin esto es vital para salvaguardar la transición de Bitcoin a un modelo de seguridad dependiente de comisiones, a medida que el subsidio de bloque se reduce a una cantidad insignificante.

El contenido de la inscripción se guarda en la cadena de bloques de Bitcoin y, debido a esto, la necesidad de espacio en los bloques para alojar inscripciones es ilimitada. Esta dinámica establece una demanda constante por el espacio disponible en los bloques de Bitcoin, favoreciendo la sustentación de un mercado de comisiones saludable, lo que a su vez contribuye a preservar la seguridad de Bitcoin.

Las inscripciones también desafían la narrativa de que Bitcoin no puede expandirse o ser utilizado para nuevos casos de uso. Si estás al tanto de proyectos como DLCs, Fedimint, Lightning, Taro y RGB, sabrás que esta narrativa es incorrecta. Las inscripciones ofrecen un contraargumento claro y fácil de entender, apuntando a un caso de uso popular y probado como son los NFTs, lo cual las hace muy atractivas.

Si las inscripciones demuestran ser artefactos digitales muy buscados, como esperan sus creadores, podrían convertirse en un poderoso gancho para la adopción de Bitcoin: las personas podrían ser atraídas inicialmente por el arte divertido, pero se quedarían por el potencial del dinero digital descentralizado.

Las inscripciones representan una forma extremadamente benigna de demanda de espacio en el bloque. A diferencia de las stablecoins, por ejemplo, que pueden otorgar a los emisores un gran poder de influencia sobre el desarrollo futuro de Bitcoin, o DeFi, que podría centralizar la minería al introducir oportunidades para el MEV, el arte digital y los coleccionables en Bitcoin, es poco probable que produzcan entidades individuales con suficiente poder para corromper Bitcoin. El arte es descentralizado.

Se les incentiva a los usuarios de inscripciones y a los proveedores de servicios ejecutar nodos de Bitcoin, para publicar y rastrear inscripciones, y así apoyar respaldar la cadena.

La teoría ordinal y las inscripciones no afectan en alguna escala significante la fungibilidad de Bitcoin. Los usuarios de Bitcoin pueden ignorar ambos y no verse afectados.

Esperamos que la teoría ordinal fortalezca y enriquezca a bitcoin, y le dé otra dimensión de atractividad y funcionalidad, permitiéndole servir de manera más efectiva a su caso de uso principal como el almacenamiento descentralizado de valor de para la humanidad.

Contribuir a ord

Pasos Sugeridos

  1. Encuentra un problema en el que quieras trabajar.
  2. Determina cuál debería ser el primer paso para abordar el problema. Esto podría involucrar código, investigación, la elaboración de una propuesta o incluso sugerir su cierre si está desactualizado o evaluar si es una buena idea desde un inicio.
  3. Comenta sobre el problema con un esquema de tu primer paso sugerido y pide opiniones. Podrías comenzar a escribir código o hacer pruebas de inmediato, pero esto evita que se haga un esfuerzo potencialmente desperdiciado.
  4. Si el problema requiere un cambio de código o corrección de bugs, abre un PR preliminar con pruebas y pide sugerencias. Esto asegura que todos estende acuerdo acerca de lo que se debe de hacer, o el primer paso en solucionar elproblema. Como se requieren pruebas escribirlas y probarlas confirma que se pueden llevar a cabo fácilmente.
  5. Escribe código hasta que las pruebas pasen y refactorizar hasta que el código esté listo para enviar.
  6. Marca el PR como listo para revisar.
  7. Revisa el PR según sea necesario.
  8. ¡Por último, fusiónalo!

Comienza por las cosas pequeñas

Los cambios pequeños te permitirán tener un impacto rápidamente, y si eliges el enfoque equivocado, no habrás perdido mucho tiempo.

Ideas para problemas pequeños:

  • Añadir una prueba nueva o un caso de prueba que amplíe la cobertura de las pruebas
  • Mejorar o añadir a la documentación existente
  • Identificar un problema que requiera más investigación, realizarla y resumir los hallazgos en un comentario
  • Encontrar un problema que ha quedado desactualizado y sugerir su cierre a través de un comentario
  • Encuentra un caso que no consideras un problema y proporciona tu opinión explicando por qué crees que ese el caso

Fusiona pronto y a menudo

Divide las tareas grandes en partes con las cuales se puede progresar por separado. Si hay un error, puedes abrir un PR que agregue una prueba fallida ignorada. Esto se puede fusionar, y el siguiente paso puede ser corregir el error y desactivar la prueba. Realiza investigaciones o pruebas y reporta tus resultados. Divide una característica en subcategorías pequeñas e impleméntalas una a la vez.

Descomponer un PR grande en PRs más pequeños que puedan fusionarse individualmente es un arte que vale la pena practicar. El desafío radica en asegurar que cada PR represente una mejora por sí mismo.

Me esfuerzo por aplicar este consejo yo mismo, y siempre obtengo beneficios cuando lo hago.

Los cambios pequeños son rápidos de escribir, revisar y fusionar, lo que es mucho más divertido que trabajar en un solo PR gigante que tarda una eternidad en escribirse, revisarse y fusionarse. Los cambios pequeños no toman mucho tiempo, así que, si necesitas dejar de trabajar en un cambio pequeño, no habrás perdido mucho tiempo a comparación de un cambio más grande en las que se invirtieron muchas horas de trabajo. Conseguir que un PR se fusione rápidamente mejora el proyecto de inmediato, en lugar de tener que esperar mucho tiempo para una mejora más grande. Los cambios pequeños tienen menos probabilidades de acumular conflictos de fusión. _Como decían los atenienses: Los rápidos hacen lo que quieren, los lentos hacen lo que deben.

Busca ayuda

Si te ves atascado por más de 15 minutos, busca ayuda en espacios como el Discord de Rust, en Stack Exchange, o en una discusión sobre el problema dentro del proyecto.

Practica la depuración basada en hipótesis

Formula una hipótesis sobre la causa del problema. Define cómo podrías verificar esa hipótesis. Ejecuta las pruebas correspondientes. Si funciona, genial, has solucionado el problema o, al menos, ahora sabes cómo hacerlo. Si no, vuelve a empezar con una nueva hipótesis.

Presta atención a los mensajes de error

Lee todos los mensajes de error y no toleres las advertencias.

Donaciones

Ordinals es de código abierto y financiado por la comunidad. El encargado principal de ord actualmente es raphjaph. El trabajo de Raph en ord está financiado íntegramente por donaciones. ¡Si puedes, considera hacer una donación!

La dirección de donaciones en Bitcoin es bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt. La dirección de donaciones de inscripciones es bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0.

Ambas direcciones están en un monedero multisig 2 de 4 con las llaves en manos de raphjaph, erin, rodarmor y ordinally.

Las donaciones recibidas se utilizarán para financiar el mantenimiento y desarrollo de ord, así como para cubrir los costos asociados con el alojamiento de ordinals.com.

¡Gracias por donar!

Guías de la Teoría Ordinal

Consulta la tabla de contenido para ver una lista de guías, incluyendo una guía para el explorador, una guía para cazadores de sats y una guía de las inscripciones.

API JASON

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.

Ejemplo

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.

Ejemplo

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": [
    {
      "versión": 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.

Ejemplo

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": [
      {
        "versión": 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.

Ejemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/blockcount
864328
GET /blockhash

Description

Returns blockhash for the latest block.

Ejemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/blockhash
00000000000000000000c82c12a925a224605b1bb767f696ae4ff10332dbe9bc
GET /blockhash/<BLOCKHEIGHT>    

Description

Returns blockhash of specified block.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/inscriptions/block/767430
{
  "ids": [
    "6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0"
  ],
  "more": false,
  "page_index": 0
}
GET /install.sh

Description

Installs the latest pre-built binary of ord

Ejemplo

See wallet.md

GET /output/<OUTPOINT>

Description

Returns information about a UTXO, including inscriptions within it.

Ejemplo

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.

Ejemplo

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)

ValorDescription
anyreturn all UTXOs
cardinalreturn UTXOs not containing inscriptions or runes
inscribedreturn UTXOs containing inscriptions
runicreturn UTXOs containing runes

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

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.

Ejemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/tx/99811de396ff10152cdfc9588d9750d0151501f081df2e56071c42dc3532b743
{
  "chain": "mainnet",
  "etching": null,
  "inscription_count": 1,
  "transaction": {
    "versión": 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.

Explorador Ordinal

El ejecutable de ord incluye un explorador de bloques. Alojamos una instancia del explorador de bloques en mainnet en ordinals.com, en signet en signet.ordinals.com.

Ejecutando El Explorador

El servidor puede ser ejecutado localmente utilizando:

ord server

Para especificar un puerto agrega la bandera (flag) --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

Búsqueda

El cuadro de búsqueda acepta una variedad de representaciones de objetos.

Bloques

Los bloques pueden buscarse por hash, por ejemplo, este es el bloque génesis:

000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

Transacciones

Las transacciones se pueden buscar por hash, por ejemplo esta es la transacción coinbase del bloque génesis:

4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b

Salidas

Las salidas de transacciones se pueden buscar por outpoint, por ejemplo, la única salida de la transacción coinbase del bloque génesis:

4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b:0

Sats

Los sats se pueden buscar por número entero, según su posición dentro de todo el suministro de bitcoin:

2099994106992659

Por decimal, según su bloque y el desplazamiento dentro de ese bloque:

481824.0

Por grado sexagesimal, según su ciclo, bloques desde el último halving, bloques desde el último ajuste de dificultad y desplazamiento dentro de su bloque:

1°0′0″0‴

Por nombre, su representación en base 26 utilizando las letras de la "a" a la "z":

ahistorical

O por percentil, el cual representa el porcentaje del suministro total de bitcoin que ha sido o será emitido una vez sean minados:

100%

Monedero

Cada sat puede ser inscrito con contenido arbitrario, permitiendo la creación de artefactos digitales únicos nativos en Bitcoin. Estos artefactos digitales pueden almacenarse en monederos de Bitcoin y transferirse mediante transacciones de Bitcoin. Las inscripciones son tan duraderas, inmutables, seguras y descentralizadas como el propio Bitcoin.

Trabajar con inscripciones requiere de un nodo de Bitcoin para darte una visión del estado actual de la blockchain de Bitcoin, además de un monedero capaz de crear inscripciones y realizar control de sats a la hora de construir transacciones para enviar inscripciones a otro monedero.

Bitcoin Core proporciona un nodo completo de Bitcoin y un monedero. Sin embargo, el monedero de Bitcoin Core no puede crear inscripciones y no realiza control de sats.

Para esto se requiere de ord, la utilidad de ordinals. ord no implementa su propio monedero, por lo que los subcomandos del monedero ord interactúan con los monederos de Bitcoin Core.

Esta guía cubre:

  1. La instalación de Bitcoin Core
  2. Sincronización de la blockchain de Bitcoin Core
  3. Creación de un monedero de Bitcoin Core
  4. Utilizando ord wallet receive para recibir sats
  5. Creación de inscripciones usando ord wallet inscribe
  6. Enviar inscripciones usando ord wallet send
  7. Recibir inscripciones con ord wallet receive
  8. Inscripción por lotes con ord wallet inscribe --batch

Obtener Ayuda

Si te atascas, intenta pedir ayuda en el Servidor de Discord de Ordinals, o consulta el GitHub para ver problemas y discusiones relevantes.

La instalación de Bitcoin Core

Bitcoin Core está disponible en la página de descargas de bitcoincore.org.

Making inscriptions requires Bitcoin Core 28 or newer.

Esta guía no cubre en detalle la instalación de Bitcoin Core. Una vez que hayas instalado Bitcoin Core, deberías poder ejecutar bitcoind -version exitosamente desde la línea de comandos. NO utilices bitcoin-qt.

Configuración de Bitcoin Core

ord requiere el índice de transacciones y la interfaz REST de Bitcoin Core.

Debes configurar tu nodo de Bitcoin Core para que mantenga un índice de transacciones. Añade lo siguiente a tu archivo bitcoin.conf:

txindex=1

O ejecuta bitcoind con -txindex:

bitcoind -txindex

Los detalles sobre cómo crear o modificar tu archivo bitcoin.conf se pueden encontrar aquí.

Sincronizando la Blockchain de Bitcoin

Para sincronizar la blockchain o cadena de bloques de bitcoin, ejecuta:

bitcoind -txindex

…y déjalo ejecutar hasta que getblockcount:

bitcoin-cli getblockcount

coincida con el recuento de bloques en un explorador de bloques como el explorador de bloques mempool.space. ord interactúa con bitcoind, así que debes dejar bitcoind ejecutándose en segundo plano mientras estés usando ord.

La cadena de bloques ocupa aproximadamente 600GB de espacio en disco. Si tienes un disco externo en el que deseas almacenar los bloques, utiliza la opción de configuración blocksdir=<ruta_del_disco_externo>. Esto es mucho más sencillo que usar datadir, ya que el archivo de cookies permanecerá en la ubicación predeterminada, facilitando su acceso para bitcoin-cli y ord.

Solución de problemas

Asegúrate de poder acceder a bitcoind utilizando bitcoin-cli -getinfo y que esté completamente sincronizado.

Si bitcoin-cli -getinfo devuelve "Could not connect to the server", bitcoind no se está ejecutando.

Verifica que rpcuser, rpcpassword o rpcauth NO estén configurados en tu archivo bitcoin.conf. ord requiere el uso de autenticación con cookies. Asegúrate de que exista un archivo .cookie en tu directorio de datos de Bitcoin.

Si bitcoin-cli -getinfo muestra "Could not locate RPC credentials", necesitas especificar la ubicación del archivo de cookies. Si utilizas un directorio de datos personalizado (especificando la opción datadir), entonces debes indicar la ubicación del archivo de cookies de la siguiente manera: bitcoin-cli -rpccookiefile=<tu_directorio_de_datos_de_bitcoin>/.cookie -getinfo. Al ejecutar ord, debes especificar la ubicación del archivo de cookies con --cookie-file=<tu_directorio_de_datos_de_bitcoin>/.cookie.

Asegúrate de no tener disablewallet=1 en tu archivo bitcoin.conf. Si bitcoin-cli listwallets devuelve "Method not found", entonces la billetera está deshabilitada y no podrás usar ord.

Asegúrate de que txindex=1 esté configurado. Ejecuta bitcoin-cli getindexinfo y debería devolver algo similar a esto

{
  "txindex": {
    "sincronizado": true,
    "mejor_altura_de_bloque": 776546
  }
}

Si solo sale {}, significa que txindex no está configurado. Si sale "synced": false, bitcoind todavía está creando el txindex. Espera hasta que "synced": true antes de usar ord.

Si tienes configurado maxuploadtarget, esto puede interferir con la obtención de bloques para el índice de ord. Para solucionarlo, elimínalo o configura whitebind=127.0.0.1:8333.

Instalación de ord

La herramienta ord está desarrollada en Rust y puede compilarse desde el código fuente. Los binarios preconstruidos están disponibles en la página de lanzamientos.

Puedes instalar el último binario precompilado desde la línea de comandos usando:

curl --proto '=https' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s

Una vez que ord esté instalado, deberías poder de ejecutar:

ord --version

Esto mostrará el número de versión de ord.

Creando un Monedero

ord utiliza bitcoind para manejar claves privadas, firmar transacciones y transmitir transacciones a la red de Bitcoin. Además, el monedero ord requiere que ord server esté ejecutándose en segundo plano. Asegúrate de que estos programas estén en funcionamiento:

bitcoind -txindex
ord server

Para crear un monedero llamado ord, que es el predeterminado, para utilizar con ord wallet, ejecuta:

ord wallet create

Esto mostrará tu frase semilla mnemotécnica. Guárdala en un lugar seguro.

`` { "mnemonic": "dignity buddy actor toast talk crisp city annual tourist orient similar federal", "passphrase": "" }

Si deseas especificar un nombre diferente o utilizar un servidor de ord que se esté ejecutando en una URL no predeterminada, puedes configurar estas opciones:

ord wallet --name foo --server-url http://127.0.0.1:8080 create

Para ver todas las opciones disponibles del Monedero, puedes usar el siguiente comando:

ord wallet help

Restauración y Dump del Monedero

El monedero ord utiliza descriptores, lo que te permite exportar los descriptores de salida e importarlos en otro monedero que también use descriptores. Para exportar los descriptores del monedero, que incluyen tus claves privadas:

$ ord wallet dump
============================================
= ESTE STRING CONTIENE TUS LLAVES PRIVADAS =
=        NO LAS COMPARTAS CON NADIE        =
============================================
{
  "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
    }
  ]
}

Una billetera ord puede ser restaurada a partir de una frase mnemotécnica:

ord wallet restore --from mnemonic

Escribe tu frase mnemotécnica y presiona enter.

Para restaurar desde un descriptor en descriptor.json:

cat descriptor.json | ord wallet restore --from descriptor

Para restaurar desde un descriptor en el portapapeles:

ord wallet restore --from descriptor

Pega el descriptor en la terminal y presiona CTRL-D en unix y CTRL-Z en Windows.

Recibir Sats

Las inscripciones se crean en sats individuales, mediante transacciones estándar de Bitcoin que pagan comisiones en sats, por lo que tu monedero necesitará tener algunos sats disponibles.

Obtén una nueva dirección de tu monedero ordejecutando:

ord wallet receive

Y envíale algunos fondos.

Puedes ver las transacciones pendientes con:

ord wallet transactions

Una vez que la transacción se confirme, podrás ver las salidas de la transacción con ord wallet outputs.

Creación de Contenido para las Inscripciones

Los sats pueden ser inscritos con cualquier tipo de contenido, pero el monedero ord solo admite tipos de contenido que pueden ser mostrados por el explorador de bloques de ord.

Además, las inscripciones se incluyen en las transacciones, debido a esto, en cuanto más grande sea el contenido, mayor será la comisión que debe pagar por la transacción de la inscripción.

El contenido de inscripción se incluye en el testigo de la transacción, los cuales reciben el descuento de testigo. Para calcular un aproximado de la comisión que se trendrá que pagar por la transacción de una inscripción, divide el tamaño del contenido por cuatro y multiplica por la tasa de comisión.

Las transacciones de inscripción deben tener un peso inferior a 400,000 unidades, de lo contrario, no serán retransmitidas por Bitcoin Core. Un byte del contenido de inscripción equivale a una unidad de peso. Considerando que una transacción de inscripción abarca más que solo el contenido de la inscripción se debe restringir el contenido de cada inscripción a menos de 400,000 unidades de peso. Para mantener un margen de seguridad, se recomienda no exceder las 390,000 unidades de peso.

Creando una Inscripción

Para crear una inscripción con el contenido de ARCHIVO, ejecuta:

ord wallet inscribe --fee-rate FEE_RATE --file FILE

Ord mostrará dos IDs de transacciones, uno para la transacción de compromiso, uno para la transacción de revelación, y el ID de inscripción. Los IDs de inscripción tienen el formato TXIDiN, donde TXID es el ID de la transacción de revelación, y N es el índice de la inscripción en la transacción de revelación.

La transacción de compromiso se compromete a un tapscript que aloja el contenido de la inscripción, mientras que la transacción de revelación consume ese tapscript, revelando el contenido en la cadena e inscribiéndolo en el primer sat del input que contiene el tapscript correspondiente.

Espera a que la transacción de revelación sea minada. Puedes verificar el estado de las transacciones de compromiso y revelación usando el explorador de bloques mempool.space.

Después de que la transacción de revelación sea minada, el ID de inscripción debería salir al ejecutar:

ord wallet inscriptions

Inscripciones Padre-Hijo (Parent-Child)

Las inscripciones de tipo padre-hijo permiten crear lo que coloquialmente se conoce como colecciones. Para más información, consulta proveniencia.

Para designar una inscripción como hijo de otra inscripción, la inscripción padre debe estar inscrita y disponible en el monedero. Para seleccionar una inscripción padre, ejecuta ord wallet inscriptions y copia el ID de la inscripción (<ID_DE_INSCRIPCIÓN_PADRE>).

Luego, inscribe la inscripción hijo y especifica el padre de esta manera:

ord wallet inscribe --fee-rate FEE_RATE --parent <PARENT_INSCRIPTION_ID> --file CHILD_FILE

Esta relación no puede añadirse retroactivamente, el padre debe estar presente en el momento de la creación del hijo.

Envíar Inscripciones

Pide al destinatario que genere una dirección nueva ejecutando:

ord wallet receive

Envía la inscripción ejecutando:

ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>

Consulta la transacción con:

ord wallet transactions

Una vez que la transacción de envío haya sido confirmada, el destinatario podrá verificarlo ejecutando:

ord wallet inscriptions

Envíar Runas

Pide al destinatario que genere una dirección nueva ejecutando:

ord wallet receive

Para envíar las runas ejecuta:

ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <RUNES_AMOUNT>

En donde RUNES_AMOUNT es la cantidad de runas a enviar, seguida por dos puntos : y el nombre de la runa. Por ejemplo, si deseas enviar 1000 runas EXAMPLE, usarías 1000:EXAMPLE.

ord wallet send --fee-rate 1 SOME_ADDRESS 1000:EXAMPLE

Consulta la transacción con:

ord wallet transactions

Una vez que la transacción de envío se confirme, el destinatario puede verificar la recepción con:

ord wallet balance

Recibir Inscripciones

Genera una nueva dirección de recepción usando:

ord wallet receive

El remitente puede transferir la inscripción a tu dirección usando:

ord wallet send --fee-rate <FEE_RATE> ADDRESS INSCRIPTION_ID

Consulta la transacción con:

ord wallet transactions

Una vez que la transacción se confirme, puedes verificar si lo recibiste ejecutando con:

ord wallet inscriptions

Inscribiendo por Lotes

Se pueden crear múltiples inscripciones al mismo tiempo usando el campo pointer. Esto es especialmente útil para colecciones u otros casos en los que varias inscripciones deben compartir el mismo padre, ya que el padre se puede incluir en una transacción de revelación que crea múltiples hijos.

Para crear una inscripción por lotes utilizando un batchfile en batch.yaml, ejecuta el siguiente comando:

ord wallet batch --fee-rate 21 --batch batch.yaml

Ejemplo batch.yaml

#ejemplo de archivo batch

# metodos de inscripción:
# - `same-sat`: inscribe en el mismo sat
# - `satpoints`: inscribe en el primer sat de la salida especificada por satpoint
# - `separate-outputs`: inscribe en salidas diferentes del tamaño de postage
# - `shared-output`: inscribe en una única salida separada por postage
modo: separate-outputs

# parent inscriptions:
parents:
- 6ac5cacb768794f4fd7a78bf00f2074891fce68bd65c4ff36e77177237aacacai0

# postage para cada inscripción:
postage: 12345

# permitir reinscribir
reinscribir: true

# sat donde se va a inscribir, solo se puede usar con `same-sat`:
# sat: 5000000000

# runa a grabar (opcional)
grabado:
  # nombre de la runa
  runa: THE•BEST•RUNE
  # permitir subdividir la superunidad en `10^divisibility` subunidades
  divisibilidad: 2
  # premine
  preminado: 1000.00
  # suministro total, debe ser igual a `preminado + términos.cap * términos.cantidad`
  suministro: 10000.00: 10000.00
  # símbolo
  símbolo: $
  # términos de minteo (opcional)
  términos:
    # cantidad por minteo
    cantidad: 100.00
    #número máximo de minteos
    cap: 90
    # altura de inicio y fin del minteo en bloques absolutos (opcional)
    altura:
      inicio: 840000
      fin: 850000
    # Altura de inicio y fin del minteo en relación a la altura de grabado (opcional)
    compensación:
      inicio: 1000
      fin: 9000
  # cambios futuros en el protocolo de las runas pueden ser opcionales. esto puede ser por una variedad de
  # razones, incluyendo que hacen que la validación de clientes ligeros sea más difícil, o simplemente
  # porque son demasiado degenerados.
  #
  # configurar `turbo` a `true` opta por estos cambios futuros en el protocolo,
  # cualquiera que sean.
  turbo: true

# inscripciones para inscribir
inscripciones:
  # ruta al contenido de la inscripción
- archivo: mango.avif
  # inscripción para delegar contenido (opcional)
  delegado: 6ac5cacb768794f4fd7a78bf00f2074891fce68bd65c4ff36e77177237aacacai0
  # destino (opcional, si no se especifica un destino, se usará una nueva dirección de cambio de billetera)
    destino: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
  # metadatos de la inscripción (opcional)
    metadatos:
    título: Mangos Deliciosos
    descripción: >
 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.

- archivo: token.json
  # Metaprotocolo de la inscripción (opcional)
    metaprotocolo: PROTOCOLO-MARAVILLOSO-42069

- archivo: tulipán.png
  destino: bc1pdqrcrxa8vx6gy75mfdfj84puhxffh4fq46h3gkp6jxdd0vjcsdyspfxcv6
  metadatos:
    autor: Satoshi Nakamoto

- archivo: 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

Coleccionar

Actualmente, ord es el único monedero que tiene la funcionalidad de control de sat (sat-control) y selección de sat (sat-selection), funciones indispensables para almacenar y enviar de forma segura sats raros e inscripciones, ahora conocidos como ordinals.

La manera sugerida de enviar, recibir y guardar ordinals es utilizando ord, pero si se tiene cuidado, es posible almacenar de forma segura, y en ciertas circunstancias enviar, ordinals utilizando otros monederos.

En términos generales, recibir ordinals en un monedero no compatible no es peligroso. Los ordinals se pueden enviar a cualquier dirección de bitcoin, y son seguros siempre y cuando el UTXO que los contiene no se gaste. Sin embargo, si luego se utiliza ese monedero para enviar bitcoin, puede seleccionar el UTXO que contiene el ordinal como una entrada y por error enviar la inscripción o gastarlo en comisiones.

Hay una guía disponible en este manual para crear un monedero compatible con ord usando el Monedero Sparrow.

Ten presente que, si decides seguir esta guía, no deberías utilizar el monedero que creaste para enviar BTC, a menos que realices una selección manual de monedas para evitar enviar ordinals por error.

Coleccionando Inscripciones y Ordinals con Sparrow

Los usuarios que no pueden o no han configurado aún el monedero ord pueden recibir inscripciones y ordinals usando monederos alternativos de bitcoin, siempre y cuando sean muy cautelosos a la hora de realizar gastos desde ese monedero.

Esta guía ofrece instrucciones básicas para crear un monedero con Sparrow Wallet el cual es compatible con ord y podrá ser importado a ord en un futuro

⚠️⚠️ ¡¡Advertencia!! ⚠️⚠️

Como regla general, si tomas este enfoque, debes usar este monedero con el software Sparrow solo como un monedero para recibir.

No gastes ningún satoshi de este monedero a menos que estés seguro de lo que estás haciendo. Podrías perder fácilmente el acceso a tus ordinals e inscripciones si no haces caso a esta advertencia.

Configuración del Monedero y Recibir

Descarga Sparrow Wallet desde la página de descargas para tu sistema operativo.

Selecciona File -> New Wallet y crea un nuevo monedero llamado ord.

Cambia el Script Type (Tipo de script) a Taproot (P2TR) y selecciona la opción New or Imported Software Wallet.

Selecciona Use 12 Words (Utilizar 12 palabras) y luego haz clic en Generate New (Generar nueva). Deja passphrase (Frase de contraseña) en blanco.

Se generará tu nueva frase semilla BIP39 de 12 palabras. Anota esto en un lugar seguro, ya que será tu respaldo para acceder a tu monedero. NUNCA compartas ni muestres esta frase semilla a nadie.

Una vez que hayas anotado la frase semilla, haz clic en Confirm Backup (Confirmar copia de seguridad).

Ingresa la frase que anotaste y luego haz clic en Create Keystore.

Haz clic en Import Keystore (almacenamiento de llaves).

Haz clic en Apply (aplicar). Luego, agrega una contraseña al monedero si deseas.

Ahora tienes un monedero que es compatible con ord y que puede ser importado a ord utilizando la frase semilla BIP39. Para recibir ordinals o inscripciones, dirígete a la pestaña Receive (Recibir) y copia una nueva dirección.

Cada vez que quieras recibir, deberías usar una dirección completamente nueva y no reutilizar direcciones existentes.

Ten en cuenta que bitcoin es diferente a algunos otros monederos de blockchain, en el sentido de que el monedero de bitcoin puede generar un número ilimitado de direcciones nuevas. Puedes generar una dirección nueva haciendo clic en el botón Get Next Address (Obtener la próxima dirección). Puedes ver todas tus direcciones en la pestaña Addresses (Direcciones).

Puedes asignar una etiqueta a cada dirección, permitiéndote llevar un seguimiento de su propósito o uso.

Validando / Viendo Inscripciones Recibidas

Una vez que hayas recibido una inscripción, podrás observar una nueva transacción en la pestaña Transactions (transacciones) de Sparrow, así como un nuevo UTXO en la pestaña UTXOs.

Inicialmente, esta transacción puede tener un estado "Unconfirmed o No confirmado", y tendrás que esperar a que sea minada en un bloque de bitcoin antes de que la recibas por completo.

Para rastrear el estado de tu transacción, puedes hacer clic derecho sobre ella, seleccionar Copy Transaction ID (Copiar ID de Transacción) y luego pegar ese ID en el buscador de mempool.space.

Una vez que la transacción se confirme, puedes validar y visualizar tu inscripción dirigiéndote a la pestaña de UTXOs, encuentra el UTXO que deseas verificar, y haz clic derecho sobre Output (Salida) y selecciona Copy Transaction Output (Copiar Salida de Transacción). Puedes pegar este ID de salida de transacción en el buscador de ordinals.com para proceder con la verificación.

Congelar UTXO's

Como se explicó anteriormente, cada una de tus inscripciones está almacenada en una Salida de Transacción No Gastado (UTXO). Debes tener mucho cuidado de no gastar accidentalmente tus inscripciones. Una manera de prevenir esto es congelar el UTXO correspondiente.

Para hacerlo, ve a la pestaña UTXOs, encuentra el UTXO que deseas congelar, haz clic derecho en Output y selecciona Frreeze UTXO (Congelar UTXO).

Este UTXO (Inscripción) no se podrá gastar dentro del Monedero Sparrow hasta que lo descongeles.

Importando al monedero ord

Para obtener detalles sobre cómo configurar Bitcoin Core y la billetera ord, consulta la Guía de la Billetera

Cuando configures ord, en lugar de ejecutar ord wallet create para crear un nuevo monedero, puedes importar tu monedero existente usando ord wallet restore "BIP39 SEED PHRASE" con la frase semilla que generaste en el monedero Sparrow.

Actualmente hay un bug que impide que un monedero importado no se escanee automáticamente para encontrar su contenido en la blockchain. Para solucionar esto tendrás que ejecutar manualmente un escaneo usando el cli de bitcoin core: bitcoin-cli -rpcwallet=ord rescanblockchain 767430

Luego puedes revisar las inscripciones de tu monedero usando ord wallet inscriptions

Ten en cuenta que si has creado previamente una cartera con ord, ya tendrás una cartera con el nombre predeterminado y tendrás que darle un nombre diferente a tu cartera importada. Puedes usar el parámetro --wallet en todos los comandos de ord para hacer referencia a un monedero diferente, por ejemplo:

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

Enviar inscripciones con el Monedero Sparrow

⚠️⚠️ Advertencia ⚠️⚠️

Aunque es bastante recomendado que configures un nodo de bitcoin core y ejecutes el software ord, existen algunas formas limitadas de enviar inscripciones desde el monedero Sparrow de manera segura. Sin embargo, cabe señalar que esta no es la opción más recomendada y solo deberías proceder si entiendes completamente las implicaciones y riesgos de lo que estás haciendo.

Usar el software de ord eliminará gran parte de la complejidad que estamos describiendo aquí, permitiéndote manejar el envío de inscripciones de forma automática y segura con mayor facilidad.

⚠️⚠️ Advertencia Adicional ⚠️⚠️

No uses tu monedero de inscripciones de Sparrow para hacer envíos de bitcoin que no involucren inscripciones. Puedes configurar un monedero por separado en Sparrow para gestionar tus transacciones regulares de bitcoin, manteniendo así tu monedero de inscripciones aislado.

Modelo UTXO de Bitcoin

Antes de enviar cualquier transacción, es importante que entiendas a profundidad cómo funciona el sistema de Salidas de Transacciones No Gastadas (UTXO) de Bitcoin. La forma en que funciona Bitcoin es fundamentalmente diferente a muchas otras cadenas de bloques, como Ethereum. En Ethereum, generalmente tienes una única dirección en la que almacenas ETH, y no puedes diferenciar entre ninguno de los ETH: simplemente es un valor único del total acumulado en esa dirección. Bitcoin funciona de manera muy diferente, ya que generamos una nueva dirección en el monedero para cada recepción, y cada vez que recibes sats en una dirección de tu monedero estás creando un nuevo UTXO. Cada UTXO se puede ver y gestionar individualmente. Puedes seleccionar específicamente los UTXO que deseas gastar, y puedes elegir no gastar ciertos UTXO.

Algunos monederos de Bitcoin no exponen este nivel de detalle y solo te muestran un valor único que suma todo el bitcoin en tu monedero. Sin embargo, al enviar inscripciones, es importante que uses un monedero como Sparrow que permite el control de UTXO.

Inspeccionando tu inscripción antes de enviarla

Como hemos descrito anteriormente, las inscripciones están inscritas en sats, y los sats se almacenan dentro de los UTXO. Los UTXO son una colección de satoshis con un valor particular del número de satoshis (el valor de salida). Usualmente (pero no siempre) la inscripción estará inscrita en el primer satoshi del UTXO.

Al inspeccionar tu inscripción antes de enviar, lo principal que querrás verificar es en cual satoshi del UTXO está inscrita tu inscripción.

Para hacer esto, puedes leer Validando / Viendo las Inscripciones Recibidas descritas anteriormente para encontrar la página de inscripción de tu inscripción en ordinals.com

Allí encontrarás algunos metadatos sobre tu inscripción, se verá así:

Hay varias cosas importantes que verificar en este punto:

  • Que el identificador de output coincida con el identificador del UTXO que vas a enviar
  • Que el offset (desplazamiento) de la inscripción sea 0 (esto significa que la inscripción está ubicada en el primer sat del UTXO)
  • que el valor de ‘output_value’ tenga suficientes sats para cubrir la tarifa de transacción (postage) para enviar la transacción. La cantidad exacta que necesitarás dependerá de la tasa de comisión que seleccionarás para la transacción

Si todo lo anterior se sostiene para tu inscripción, deberías poder proceder con seguridad usando el siguiente método.

⚠️⚠️ Ten mucho cuidado al enviar tu inscripción, especialmente si el offset no es 0. En tales casos, no se recomienda utilizar este método, ya que podrías enviar accidentalmente tu inscripción a un minero de bitcoin a menos que sepas lo que estás haciendo.

Enviando tu inscripción

Para enviar una inscripción, ve a la pestaña UTXOs y encuentra el UTXO que previamente validaste y que contiene tu inscripción.

Si anteriormente habías congelado este UTXO, deberás hacer clic derecho sobre él para descongelarlo.

Selecciona el UTXO que deseas enviar, y asegúrate de que sea el único UTXO seleccionado. Deberías ver una indicación de UTXOs 1/1 en la interfaz. Una vez estés absolutamente seguro de haber seleccionado el UTXO correcto, haz clic en Send Selected (Enviar seleccionados).

Luego se te presentará la interfaz de construcción de transacciones. Hay algunas cosas que debes verificar aquí para asegurarte de que se trata de un envío seguro:

  • La transacción debería tener solo 1 input (entrada), y esta debería ser el UTXO con la etiqueta que quieres enviar.
  • La transacción debería tener solo 1 output (salida), siendo esta la dirección/etiqueta a donde deseas enviar la inscripción

Si tu transacción luce diferente, por ejemplo, tiene múltiples entradas o múltiples salidas, entonces quizás no sea una transferencia segura de tu inscripción, y deberías detener el envío hasta entender completamente el procedimiento, o hasta que logres importarla al monedero ord.

Es necesario fijar una comisión de transacción adecuada; Sparrow normalmente sugerirá una adecuada, aunque también puedes ir a mempool.space para conocer la tarifa recomendada para enviar una transacción.

Deberías añadir una etiqueta para la dirección del destinatario; una etiqueta como dirección de Alice para la inscripción #123 sería ideal.

Una vez que hayas verificado que la transacción es segura usando los criterios mencionados anteriormente, y te sientas seguro de enviarla, puedes hacer clic en Create Transaction (Crear Transacción).

Aquí puedes volver a revisar que tu transacción este correcta, una vez estés seguro puedes hacer clic en Finalize Transaction for Signing (Finalizar Transacción para Firmar).

Aquí puedes revisar toda una vez más antes de hacer clic en Sign (Firmar).

Y luego, de hecho, tienes la última oportunidad de verificar todo antes de hacer clic en Broadcast Transaction (Transmitir Transacción). Una vez que transmites la transacción, se envía a la red de Bitcoin y comenzara a propagarse en el mempool.

Si deseas rastrear el estado de tu transacción, puedes copiar el Transaction (txid) (Identificador de la Transacción (Txid)) y pegarlo en mempool.space

Cuando la transacción haya sido confirmada, puedes revisar la página de inscripciones en ordinals.com para confirmar que ha sido movida a la nueva ubicación de salida y dirección.

Solución de problemas

¡El monedero Sparrow no está mostrando una transacción/UTXO, pero puedo verla en mempool.space!

Asegúrate de que tu monedero esté conectado a un nodo de bitcoin. Para validar esto, dirígete a Preferences-> Server settings y haz clic en Edit Existing Connection (Editar conexión existente).

Desde allí puedes seleccionar un nodo y hacer clic en Test Connection (Probar conexión) para validar que Sparrow pueda conectarse exitosamente.

Moderación

ord incluye un explorador de bloques, el cual puedes ejecutar localmente utilizando ord server.

El explorador de bloques ofrece la visualización de inscripciones, las cuales son contenidos generados por usuarios y podrían ser inapropiados o ilicitos.

Quien decida ejecutar una instancia del explorador de bloques de ordinal debe ser consciente de sus responsabilidades ante contenidos ilegales y definir una política de moderación adecuada para su propia instancia.

Para prevenir que ciertas inscripciones se muestren en una instancia de ord, estas pueden incluirse en un archivo de configuración YAML, el cual se carga utilizando la opción --config.

Para comenzar a ocultar inscripciones, crea un archivo de configuración con el ID de la inscripción que quieres esconder:

oculto:
- 0000000000000000000000000000000000000000000000000000000000000000i0

Aunque se recomienda nombrar los archivos de configuración de ord como ord.yaml, puedes utilizar cualquier otro nombre que prefieras.

Luego pasa el archivo a --config cuando inicies el servidor:

ord --config ord.yaml server

Ten en cuenta que la opción --config va después de ord pero antes del subcomando server.

Deberás reiniciar ord para cargar los cambios realizados en el archivo de configuración.

ordinals.com

Las instancias de ordinals.com utilizan system para ejecutar el servicio del servidor ord, que se llama ord, con un archivo de configuración situado en /var/lib/ord/ord.yaml.

Para ocultar una inscripción en ordinals.com:

  1. Ingresa al servidor a través de SSH
  2. Añade el ID de la inscripción a /var/lib/ord/ord.yaml
  3. Reinicia el servicio utilizando el comando systemctl restart ord
  4. Supervisa el reinicio con el comando journalctl -u ord

Actualmente, ord tarda en reiniciarse, por lo que el sitio no volverá a estar en línea inmediatamente.

Reindexación

En ocasiones, la base de datos de ord debe ser reindexada, esto implica eliminar la base de datos y reiniciar el proceso de indexación con el comando ord index update u ord server. Las razones para reindexar son:

  1. Un nuevo lanzamiento grande de ord, que modifica el esquema de la base de datos
  2. Corrupción de la base de datos por alguna razón

La base de datos que utiliza ord se llama redb, por lo que se le asigna al índice el nombre de archivo predeterminado index.redb. Este archivo se guarda de forma predeterminada en distintas ubicaciones, según el sistema operativo que estés utilizando.

PlataformaValorEjemplo
Linux$XDG_DATA_HOME/ord or $HOME/.local/share/ord/home/alice/.local/share/ord
macOS$HOME/Library/Application Support/ord/Users/Alice/Library/Application Support/ord
Windows{FOLDERID_RoamingAppData}\ordC:\Users\Alice\AppData\Roaming\ord

Para eliminar la base de datos y reindexar en MacOS, tendrías que ejecutar los siguientes comandos en la terminal:

rm ~/Library/Application Support/ord/index.redb
ord index update

También tienes la opción de determinar la ubicación del directorio de datos utilizando el comando ord --datadir <DIR> index update o asignarle un nombre de archivo y ruta específicos utilizando el comando ord --index <NOMBRE_DE_ARCHIVO> index update.

Caza de Sats

La caza de Ordinals es difícil pero gratificante. La sensación de poseer un monedero lleno de UTXOs, impregnado con el aroma de sats raros y exóticos, es incomparable.

Los Ordinales son números para los satoshis. Cada satoshi tiene un número ordinal y cada número ordinal tiene un satoshi.

Preparación

Antes de empezar, necesitarás algunas cosas.

  1. Primero, necesitarás un nodo de Bitcoin Core sincronizado con un índice de transacciones. Para activar la indexación de transacciones, ejecuta -txindex en la línea de comandos:

    bitcoind -txindex
    

    O escribe lo siguiente en tu Archivo de Configuración de Bitcoin::

    txindex=1
    

    Ejecutalo y espera hasta que llegue al final de la cadena; una vez hecho esto, el siguiente comando debería imprimir la altura del bloque actual:

    bitcoin-cli getblockcount
    
  2. En segundo lugar, vas a necesitar un índice de ord sincronizado.

    • Obtén una copia de ord desde el repositorio..

    • Ejecuta ord --index-sats server. Esto debería conectar con tu nodo de Bitcoin Core y comenzar el indexado.

    • Once it has finished indexing, leave the server running and submit new ord commands in a separate terminal session.

  3. En tercer lugar, necesitarás un monedero con los UTXOs que quieras analizar.

Buscando Ordinals Raros

Buscando Ordinals Raros en un Monedero de Bitcoin Core

El comando ord wallet es solo un envoltorio alrededor de la API RPC de Bitcoin Core, así que buscar ordinals raros en un monedero de Bitcoin Core es fácil. Digamos que tu monedero se llama foo:

  1. Carga tu monedero:

    bitcoin-cli loadwallet foo
    
  2. Visualiza los UTXOs raros del monedero de ordinales foo:

    ord --index-sats wallet --name foo sats
    

Buscando Ordinals Raros en un Monedero que no es de Bitcoin Core

El comando ord wallet es solo un envoltorio alrededor de la API RPC de Bitcoin Core, así que para buscar ordinales raros en un monedero que no es de Bitcoin Core, necesitarás importar los descriptores de tu monedero a Bitcoin Core.

Los descriptors describen la manera en que los monederos generan llaves privadas y públicas.

Solo deberías importar los descriptores en Bitcoin Core para las claves públicas de tu monedero, no para las claves privadas.

Si el descriptor de llave pública de tu monedero está comprometido, un atacante podrá ver las direcciones de tu monedero, pero tus fondos estarán seguros.

Si el descriptor de llave privada de tu monedero está comprometido, un atacante podrá vaciar los fondos de tu monedero.

  1. Obtén el descriptor del monedero cuyos UTXOs quieres analizar para identificar si contiene ordinals raros. Se verá algo así:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29
    
  2. Crea un monedero de solo lectura llamada foo-solo-lectura:

    bitcoin-cli createwallet foo-watch-only true true
    

    ¡Siéntete libre de elegir un nombre major que foo-solo-lectura!

  3. Carga el monedero foo-solo-lectura:

    bitcoin-cli loadwallet foo-watch-only
    
  4. Importa los descriptores de tu monedero a 1foo-solo-lectura:

    bitcoin-cli importdescriptors \
      '[{ "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax", "timestamp":0 }]'
    

    Si conoces la marca de tiempo Unix cuando tu monedero comenzó a recibir transacciones, puedes usarla para el valor de "timestamp" en lugar de 0. Esto reducirá el tiempo que Bitcoin Core tardará en buscar los UTXO en tu monedero.

  5. Comprueba que todo haya funcionado correctamente:

    bitcoin-cli getwalletinfo
    
  6. Visualiza los ordinals raros de tu monedero:

    ord wallet sats
    

Buscando Ordinals Raros en un Monedero que Exporta Descriptores de Múltiples Rutas (multi-path)

Algunos descriptores describen múltiples rutas en un descriptor utilizando paréntesis angular, por ejemplo, <0;1>. Los descriptores de múltiples rutas aún no son compatibles con Bitcoin Core, así que primero deberás convertirlos en múltiples descriptores y luego importarlos a Bitcoin Core.

  1. En primer lugar, obtén el descriptor de múltiples rutas de tu monedero. Se verá algo así:

    wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/<0;1>/*)#fw76ulgt
    
  2. Crea un descriptor para la ruta de dirección que lo recibirá:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)
    

    Y la dirección que recibirá lo que sobra de bitcoin o el cambio:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)
    
  3. Obtén y anota el checksum del descriptor de la dirección de recepción, en este caso es 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
    }
    

    Y para el descriptor de la dirección de cambio, en este caso 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
    }
    
  4. Carga el monedero al cual deseas importar los descriptores:

    bitcoin-cli loadwallet foo-watch-only
    
  5. Ahora importa los descriptores, con los checksums correctos, a 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
       }
     ]'
    

    Si conoces la marca de tiempo de Unix cuando tu monedero comenzó a recibir transacciones por primera vez, puedes utilizarlo como el valor del campo "timestamp" en lugar de 0. Esto reducirá el tiempo que tarda Bitcoin Core en buscar los UTXOs de tu monedero.

  6. Comprueba que todo haya funcionado correctamente:

    bitcoin-cli getwalletinfo
    
  7. Visualiza los ordinals raros de tu monedero:

    ord wallet sats
    

Exportar Descriptores

Monedero Sparrow

Haz clic en la pestaña Settings, luego en Script Policy, y presiona el botón de editar para mostrar el descriptor.

Transferir Ordinals

Puedes transferir satoshis específicos utilizando el nombre asignado en el monedero ord. Para enviar el satoshi denominado zonefruits, sigue estos pasos:

ord wallet send <RECEIVING_ADDRESS> zonefruits --fee-rate 21

También puedes utilizar los comandos de bitcoin-cli como createrawtransaction, signrawtransactionwithwallet y sendrawtransaction, pero este método puede ser complejo y está fuera del alcance de esta guía.

Configuración

ord puede configurarse mediante la línea de comandos, variables de entorno, un archivo de configuración y valores predeterminados.

La línea de comandos tiene prioridad sobre las variables de entorno, las cuales tienen prioridad sobre el archivo de configuración, que a su vez tiene prioridad sobre los valores predeterminados.

Puedes especificar la ruta al archivo de configuración utilizando --config <CONFIG_PATH>. ord mostrará un error si <CONFIG_PATH> no existe.

Puedes especificar la ruta a un directorio que contenga un archivo de configuración llamado ord.yaml usando --config-dir <RUTA_DE_DIR_CONFIG> o --datadir <RUTA_DE_DIR_DATOS>. En este caso, la ruta del archivo de configuración será <RUTA_DE_DIR_CONFIG>/ord.yaml o <RUTA_DE_DIR_DATOS>/ord.yaml. No habrá error si este archivo no existe.

Si no se especifica --config, --config-dir ni --datadir, y existe un archivo llamado ord.yaml en el directorio de datos predeterminado, este archivo se cargará automáticamente.

Para una configuración con el nombre --setting-name en la línea de comandos, la variable de entorno correspondiente será ORD_SETTING_NAME y el campo en el archivo de configuración será setting_name. Por ejemplo, el directorio de datos puede configurarse con --datadir en la línea de comandos, con la variable de entorno ORD_DATA_DIR o con el campo data_dir en el archivo de configuración.

Consulta ord --help para obtener la documentación completa de todas las configuraciones.

Puedes ver la configuración actual de ord en formato JSON utilizando el comando ord settings.

Ejemplo de Configuración

# ejemplo de config

# consulta `ord --help` para obtener la documentación de configuracion.

bitcoin_data_dir: /var/lib/bitcoin
bitcoin_rpc_password: bar
bitcoin_rpc_url: https://localhost:8000
bitcoin_rpc_username: foo
cadena: mainnet
commit_interval: 10000
config: /var/lib/ord/ord.yaml
config_dir: /var/lib/ord
archivo_cookie: /var/lib/bitcoin/.cookie
data_dir: /var/lib/ord
limite_de_altura: 1000
oculto:
- 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
- 703e5f7c49d82aab99e605af306b9a30e991e57d42f982908a962a81ac439832i0
indice: /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
contraseña_del_servidor: bar
url_del_servidor: http://localhost:8888
usuario_del_servidor: foo

Ocultar el Contenido de Inscripciones

El contenido de las inscripciones puede ocultarse selectivamente para no ser servido por el servidor de ord.

A diferencia de otras configuraciones, esto solo puede configurarse mediante el archivo de configuración o variables de entorno.

Para ocultar inscripciones usando una variable de entorno:

export ORD_HIDDEN='6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0 703e5f7c49d82aab99e605af306b9a30e991e57d42f982908a962a81ac439832i0'

O con el archivo de configuración:

oculto:
- 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
- 703e5f7c49d82aab99e605af306b9a30e991e57d42f982908a962a81ac439832i0

Telequemado

Las direcciones de teleburn permiten quemar activos en otras blockchains, dejando atrás en los escombros una especie de dirección de reenvío que apunta a una inscripción en Bitcoin.

Telequemar un activo significa algo así como: "Me voy. Encuéntrame en Bitcoin."

Las direcciones de teleburn se derivan de los IDs de inscripción. No tienen una clave privada correspondiente, por lo que los activos enviados a una dirección de teleburn se queman. Actualmente, solo se admiten direcciones de teleburn de Ethereum. Se agradecen las solicitudes de incorporación (pull requests) que añadan direcciones de teleburn para otras cadenas.

Ethereum

Las direcciones de teleburn en Ethereum se derivan tomando los primeros 20 bytes del hash SHA-256 del ID de inscripción. Este ID de inscripción se serializa en 36 bytes, donde los primeros 32 bytes contienen el ID de la transacción y los últimos cuatro bytes contienen el índice de inscripción en formato big-endian. Este resultado se interpreta como una dirección de Ethereum.

Ejemplo

El dominio ENS rodarmor.eth fue telequemado a la inscripción cero.

El ID de la inscripción cero es:

6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0.

Pasando 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0 al comando de telequemado:

$ ord teleburn 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0

Esto regresa:

{
  "ethereum": "0xe43A06530BdF8A4e067581f48Fae3b535559dA9e"
}

Indicando que 0xe43A06530BdF8A4e067581f48Fae3b535559dA9e es la dirección de telequemado de Ethereum para la inscripción cero, que, de hecho, es el propietario actual en Ethereum de rodarmor.eth.

Pruebas

Entorno de Pruebas

El comando ord env <DIRECTORIO> crea un entorno de pruebas en <DIRECTORIO>, inicia instancias de bitcoind y ord server, imprime comandos de ejemplo para interactuar con las instancias de prueba de bitcoind y ord server, espera a CTRL-C, y luego apaga bitcoind y ord server.

ord env trata de usar el puerto 9000 para la interfaz RPC de bitcoind, y el puerto 9001 para la interfaz RPC de ord, pero recurrirá a puertos no utilizados al azar si estos están ocupados.

Dentro del directorio env, ord env escribirá la configuración de bitcoind en bitcoin.conf, la configuración de ord en ord.yaml, y la configuración del entorno en env.json.

env.json incluye los comandos necesarios para invocar bitcoin-cli y ord wallet, así como los puertos en los que bitcoind y ord server están activos.

Puedes extraer estos comandos a comandos de shell usando 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

Si ord está en el $PATH y el directorio env se llama env, el comando bitcoin-cli será:

bitcoin-cli -datadir=env

Y ord será:

ord --datadir env

Redes de Prueba

Puedes probar ord utilizando las siguientes banderas para especificar la red de prueba. Para más información sobre cómo ejecutar Bitcoin Core para pruebas, consulta la [documentación para desarrolladores de Bitcoin]](https://developer.bitcoin.org/examples/testing.html).

La mayoría de los comandos ord en monedero y explorador se pueden ejecutar con las siguientes banderas de red:

RedBandera
Testnet--testnet or -t
Signet--signet or -s
Regtest--regtest or -r

Regtest no requiere que se descargue la cadena de bloques ya que puedes crear tu propia cadena de bloques privada, por lo que la indexación de ord es casi instantánea.

Ejemplo

Ejecuta bitcoind en regtest con:

bitcoind -regtest -txindex

Ejecuta ord server en regtest con:

ord --regtest server

Crea un monedero en regtest con:

ord --regtest wallet create

Obtén una dirección de recepción en regtest con:

ord --regtest wallet receive

Mina 101 bloques (para desbloquear coinbase) con:

bitcoin-cli -regtest generatetoaddress 101 <receive address>

Realiza una inscripción en regtest con:

ord --regtest wallet inscribe --fee-rate 1 --file <file>

Mina la inscripción con:

bitcoin-cli -regtest generatetoaddress 1 <receive address>

Por defecto, los navegadores no soportan la compresión en HTTP. Para probar como se ve el contenido comprimido sobre HTTP, usa la bandera --decompress:

ord --regtest server --decompress

Pruebas de Recursión

Cuando hagas pruebas de recursión, primero inscribe las dependencias (por ejemplo, con p5.js):

ord --regtest wallet inscribe --fee-rate 1 --file p5.js

Esto retornará el ID de inscripción de la dependencia que luego puedes referenciar en tu inscripción.

Sin embargo, los IDs de inscripción difieren entre mainnet y las cadenas de prueba, por lo que debes cambiar los IDs de inscripción en tu inscripción a los IDs de inscripción de mainnet de tus dependencias antes de hacer la inscripción final en mainnet.

Luego puedes inscribir tu inscripción recursiva con:

ord --regtest wallet inscribe --fee-rate 1 --file recursive-inscription.html

Finalmente, tendrás que minar algunos bloques e iniciar el servidor:

bitcoin-cli generatetoaddress 6 <receive address>

Dependencias en Mainnet

Para evitar tener que cambiar los IDs de inscripción de dependencias a los IDs de inscripción de mainnet, puedes utilizar un proxy de contenido. ord server acepta una opción --proxy, que toma la URL de otra instancia de ord server. Al hacer una solicitud a /content/<ID_DE_INSCRIPCIÓN> cuando se establece un proxy de contenido y no se encuentra la inscripción, ord server reenviará la solicitud al proxy de contenido. Esto te permite ejecutar una instancia de prueba de ord server con un proxy de contenido de mainnet. Luego puedes usar ID de inscripciónes de mainnet en tu inscripción de prueba, lo cual retornará el contenido de las inscripciones en mainnet.

ord --regtest server --proxy https://ordinals.com

Pistas para la Caza de Recompensas de Ordinals

  • El monedero ord tiene la capacidad de enviar y recibir satoshis específicos. Además, la teoría ordinal es sumamente sencilla. Un hacker ingenioso debería poder crear código desde cero para manipular satoshis utilizando la teoría ordinal en poco tiempo.

  • Para obtener más información sobre la teoría ordinal, visita la sección de [preguntas frecuentes](./faq.md para obtener una visión general, el BIP para los detalles técnicos, y el repositorio de ord para conocer más sobre el monedero y el explorador de bloques de ord.

  • Satoshi fue el desarrollador original de la teoría ordinal. Sin embargo, sabía que otros la considerarían herética y peligrosa, por lo que ocultó su conocimiento, que terminó desapareciendo con el paso del tiempo. Solo ahora estamos redescubriendo esta poderosa teoría. Puedes contribuir con este resurgimiento investigando satoshis poco comunes.

¡Buena suerte y buen viaje!

Recompensa Ordinal 0

Criterios

Envía un sat cuyo número ordinal termine en cero a la dirección de entrega:

✅: 1857578125803250

❌: 1857578125803251

El sat debe ser el primer sat de la salida que envíes.

Recompensa

100,000 sats

Dirección de Entrega

1PE7u4wbDP2RqfKN6geD1bG57v9Gj9FXm3

Estado

Reclamado por @count_null!

Recompensa Ordinal 1

Criterios

La transacción que envíe un UTXO que contenga el sat más antiguo, es decir, aquel con el número más bajo, entre todos los UTXOs enviados será considerado el ganador.

La convocatoria para participar en la recompensa permanecerá abierta hasta el bloque 753984, que marca el primer bloque del período de ajuste de dificultad 374. Los envíos que se incluyan a partir del bloque 753984 no serán tomados en cuenta.

Recompensa

200,000 sats

Dirección de Entrega

145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap

Estado

Reclamado por @ordinalsindex!

Recompensa Ordinal 2

Criterios

Envía un sat poco común a la dirección de envío:

✅: 347100000000000

❌: 6685000001337

Confirma que la dirección de entrega no haya recibido transacciones antes de enviar tu entrega. Solo la primera participación exitosa recibirá recompensa.

Recompensa

300,000 sats

Dirección de Entrega

1Hyr94uypwWq5CQffaXHvwUMEyBPp3TUZH

Estado

Reclamado por @utxoset!

Recompensa Ordinal 3

Criterios

La tercera recompensa ordinal consta de dos partes, ambas basadas en los nombres de ordinals. Los nombres de los ordinals son una modificación de la codificación base-26 de los números ordinales. Para prevenir que los nombres más cortos queden atrapados en el bloque génesis el cual no se puede utilizar, los nombres de los ordinals se van acortando a medida que el número ordinal aumenta. El nombre del sat 0, el primer sat minado, es nvtdijuwxlp y el nombre del sat 2,099,999,997,689,999, el último sat que será minado, es 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.

Ambas partes usanfrequency.tsv, un documento que contiene una lista de palabras junto con la cantidad de veces que aparecen en el set de datosGoogle Books Ngram dataset, Este archivo ha sido filtrado para incluir solo los nombres de sats que habrán sido minados para el momento de cierre del periodo de entregas, que aparecen por lo menos 5000 veces en el cuerpo.

frequency.tsv es un archivo de valores separados por tabulaciones. La primera columna es la palabra, y la segunda es el número de veces que aparece en el corpus. Los datos están organizados de manera que las palabras que aparecen con menor frecuencia están primero, seguidas por aquellas que se encuentran con una mayor frecuencia.

'frequency.tsv' fue compilado usando este programa..

Para buscar sats en un monedero ord que coincidan con un nombre presente en frequency.tsv, emplea el siguiente comando ord:

ord wallet sats --tsv frequency.tsv

Este comando requiere el índice de sats, por lo que se debe incluir el parámetro --index-sats en ord cuando se crea el índice por primera vez.

Parte 0

Los sats raros hacen mejor pareja con palabras raras.

La transacción que envíe el UTXO que contiene el sat cuyo nombre aparece con el menor número de ocurrencias en "frequency.tsv" será el ganador de la parte 0.

Parte 1

Popularity is the fount of value.

La transacción que envía el UTXO que contiene el sat cuyo nombre aparece con el mayor número de ocurrencias en frequency.tsv será el ganador de la parte 1.

Desempate

Si se produce un empate, donde dos presentaciones registren la misma frecuencia, la presentación que se haya realizado primero será la ganadora.

Recompensa

  • Parte 0: 200,000 satoshis
  • Parte 1: 200,000 sats
  • Total: 400,000 sats

Dirección de Entrega

17m5rvMpi78zG8RUpCRd6NWWMJtWmu65kg

Estado

¡No se ha reclamado!