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:
Red | Bandera |
---|---|
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