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

To avoid having to change dependency inscription IDs to mainnet inscription IDs, you may utilize a content proxy when testing. ord server accepts a --proxy option, which takes the URL of another ord server instance. When making a request to /content/<INSCRIPTION_ID> when a content proxy is set and the inscription is not found, ord server will forward the request to the content proxy. This allows you to run a test ord server instance with a mainnet content proxy. You can then use mainnet inscription IDs in your test inscription, which will then return the content of the mainnet inscriptions.

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