Guía de inscripciones Ordinal

Individual gros can be inscribed with arbitrary content, creating Groestlcoin-native digital artifacts that can be held in a Groestlcoin wallet and transferred using Groestlcoin transactions. Inscriptions are as durable, immutable, secure, and decentralized as Groestlcoin itself.

Working with inscriptions requires a Groestlcoin full node, to give you a view of the current state of the Groestlcoin blockchain, and a wallet that can create inscriptions and perform gro control when constructing transactions to send inscriptions to another wallet.

Groestlcoin Core provides both a Groestlcoin full node and wallet. However, the Groestlcoin Core wallet cannot create inscriptions and does not perform gro control.

This requires ord, the ordinal utility. ord doesn't implement its own wallet, so ord wallet subcommands interact with Groestlcoin Core wallets.

Esta guía cubre:

  1. La instalación de Groestlcoin Core
  2. Sincronización de la blockchain de Groestlcoin
  3. Creación de un monedero de Groestlcoin Core
  4. Using ord wallet receive to receive gros
  5. Creación de inscripciones usando ord wallet inscribe
  6. Enviar inscripciones usando ord wallet send
  7. Recibir inscripciones con ord wallet receive

Obtener Ayuda

If you get stuck, try asking for help on the Groestlcoin Discord Server, or checking GitHub for relevant issues.

La instalación de Groestlcoin Core

Groestlcoin Core is available from groestlcoin.org.

Para crear inscripciones es necesario tener la versión 24 de Groestlcoin Core o una más reciente.

This guide does not cover installing Groestlcoin Core in detail. Once Groestlcoin Core is installed, you should be able to run groestlcoind -version successfully from the command line. Do NOT use groestlcoin-qt.

Configuración de Groestlcoin Core

ord requires Groestlcoin Core's transaction index and rest interface.

To configure your Groestlcoin Core node to maintain a transaction index, add the following to your groestlcoin.conf:

txindex=1

O, ejecuta groestlcoind con -txindex:

groestlcoind -txindex

Details on creating or modifying your groestlcoin.conf file can be found here.

Sincronizando la Blockchain de Groestlcoin

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

groestlcoind -txindex

…y déjalo ejecutar hasta que getblockcount:

groestlcoin-cli getblockcount

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

The blockchain takes about 600GB of disk space. If you have an external drive you want to store blocks on, use the configuration option blocksdir=<external_drive_path>. This is much simpler than using the datadir option because the cookie file will still be in the default location for groestlcoin-cli and ord to find.

Solución de problemas

Make sure you can access groestlcoind with groestlcoin-cli -getinfo and that it is fully synced.

If groestlcoin-cli -getinfo returns Could not connect to the server, groestlcoind is not running.

Make sure rpcuser, rpcpassword, or rpcauth are NOT set in your groestlcoin.conf file. ord requires using cookie authentication. Make sure there is a file .cookie in your groestlcoin data directory.

If groestlcoin-cli -getinfo returns Could not locate RPC credentials, then you must specify the cookie file location. If you are using a custom data directory (specifying the datadir option), then you must specify the cookie location like groestlcoin-cli -rpccookiefile=<your_groestlcoin_datadir>/.cookie -getinfo. When running ord you must specify the cookie file location with --cookie-file=<your_groestlcoin_datadir>/.cookie.

Make sure you do NOT have disablewallet=1 in your groestlcoin.conf file. If groestlcoin-cli listwallets returns Method not found then the wallet is disabled and you won't be able to use ord.

Make sure txindex=1 is set. Run groestlcoin-cli getindexinfo and it should return something like

{
  "txindex": {
    "synced": true,
    "best_block_height": 776546
  }
}

If it only returns {}, txindex is not set. If it returns "synced": false, groestlcoind is still creating the txindex. Wait until "synced": true before using ord.

If you have maxuploadtarget set it can interfere with fetching blocks for ord index. Either remove it or set whitebind=127.0.0.1:1331.

Instalación de ord

The ord utility is written in Rust and can be built from source. Pre-built binaries are available on the releases page.

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

curl --proto '=https' --tlsv1.2 -fsLS https://raw.githubusercontent.com/Groestlcoin/ord-groestlcoin/master/install.sh | bash -s

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

ord --version

El cual muestra el número de versión de ord.

Creación de un monedero de Groestlcoin Core

ord utiliza Groestlcoin Core para gestionar claves privadas, firmar transacciones y transmitir transacciones a la red Groestlcoin.

Para crear un monedero de Groestlcoin Core llamado ord que se utilizara con ord, ejecuta:

ord wallet create

Receiving Gros

Inscriptions are made on individual gros, using normal Groestlcoin transactions that pay fees in gros, so your wallet will need some gros.

Obtén una nueva dirección de tu monedero ord ejecutando:

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, deberías poder ver las salidas de la transacción con ord wallet outputs.

Creación de Contenido para las Inscripciones

Gros can be inscribed with any kind of content, but the ord wallet only supports content types that can be displayed by the ord block explorer.

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 pagará 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 Groestlcoin 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.

Creación de Inscripciones

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

ord wallet inscribe --fee-rate FEE_RATE 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.

The commit transaction commits to a tapscript containing the content of the inscription, and the reveal transaction spends from that tapscript, revealing the content on chain and inscribing it on the first gro of the input that contains the corresponding tapscript.

Wait for the reveal transaction to be mined. You can check the status of the commit and reveal transactions using the esplora block explorer.

Una vez que la transacción de revelación haya sido minada, el ID de inscripción debería aparecer cuando ejecutes:

ord wallet inscriptions

Parent-Child Inscriptions

Parent-child inscriptions enable what is colloquially known as collections, see provenance for more information.

To make an inscription a child of another, the parent inscription has to be inscribed and present in the wallet. To choose a parent run ord wallet inscriptions and copy the inscription id (<PARENT_INSCRIPTION_ID>).

Now inscribe the child inscription and specify the parent like so:

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

This relationship cannot be added retroactively, the parent has to be present at inception of the child.

Enviar Inscripciones

Pide al destinatario que genere una nueva dirección 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

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

Consulta la transacción con:

ord wallet transactions

Una vez que la transacción de envío haya sido confirmada, puedes confirmar ejecutando:

ord wallet inscriptions