Testen

Test Omgeving

ord env <DIRECTORY> maakt een testomgeving aan in <DIRECTORY>, start bitcoind- en ord server-instellingen op, drukt voorbeeldcommando's af voor interactie met de test-bitcoind- en ord server-instellingen, wacht op CTRL-C, en schakelt vervolgens bitcoind en ord server uit.

ord env probeert poort 9000 te gebruiken voor de RPC-interface van bitcoind, en poort 9001 voor de RPC-interface van ord, maar valt terug op willekeurige ongebruikte poorten als deze bezet zijn.

Binnen de env-directory schrijft ord env de configuratie van bitcoind naar bitcoin.conf, de configuratie van ord naar ord.yaml, en de env-configuratie naar env.json.

env.json bevat de commando's die nodig zijn om bitcoin-cli en ord wallet aan te roepen, evenals de poorten waarop bitcoind en ord server luisteren.

Deze kunnen worden omgezet in shell-commando's met behulp van 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

Als ord in de $PATH staat en de env-directory env is, zal het bitcoin-cli-commando zijn:

bitcoin-cli -datadir=env

En het ord-commando zal zijn:

ord --datadir env

Test Netwerken

Ord kan worden getest met de volgende vlaggen om het testnetwerk op te geven. Voor meer informatie over het draaien van Bitcoin Core voor tests, zie de ontwikkelaarsdocumentatie van Bitcoin.

De meeste ord-commando's in wallet en explorer kunnen worden uitgevoerd met de volgende netwerkvlaggen:

NetwerkVlag (Flag)
Testnet--testnet or -t
Signet--signet or -s
Regtest--regtest or -r

Regtest vereist niet het downloaden van de blockchain, omdat je je eigen privé-blockchain creëert, waardoor het indexeren van ord bijna onmiddellijk is.

Voorbeeld

Voer bitcoind uit in regtest met:

bitcoind -regtest -txindex

Voer ord server uit in regtest met:

ord --regtest server

Maak een wallet aan in regtest met:

ord --regtest wallet create

Haal een regtest ontvangstadres op met:

ord --regtest wallet receive

Mijn 101 blokken (om de coinbase te ontgrendelen) met:

bitcoin-cli -regtest generatetoaddress 101 <receive address>

Inscribe in regtest met:

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

Mijn de inscriptie met:

bitcoin-cli -regtest generatetoaddress 1 <receive address>

Standaard ondersteunen browsers geen compressie via HTTP. Om gecomprimeerde inhoud via HTTP te testen, gebruik je de --decompress vlag:

ord --regtest server --decompress

Het Testen van Recursie

Bij het testen van recursie, inscribeer eerst de afhankelijkheden (voorbeeld met p5.js):

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

Dit zal de inscriptie-ID van de afhankelijkheid teruggeven, die je vervolgens kunt gebruiken in je inscriptie.

Inscriptie-ID's verschillen echter tussen mainnet en testnetwerken, dus je moet de inscriptie-ID's in je inscriptie vervangen door de mainnet-inscriptie-ID's van je afhankelijkheden voordat je de definitieve inscriptie op mainnet maakt.

Vervolgens kun je je recursieve inscriptie inschrijven met:

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

Tot slot moet je enkele blokken mijnen en de server starten:

bitcoin-cli generatetoaddress 6 <receive address>

Mainnet Afhankelijkheden

Om te voorkomen dat je afhankelijkheidsinscriptie-ID's naar mainnet-inscriptie-ID's moet wijzigen, kun je een contentproxy gebruiken tijdens het testen. ord server accepteert een --proxy optie, die de URL van een andere ord server-instantie vereist. Wanneer je een verzoek indient bij /content/<INSCRIPTION_ID> met een ingestelde contentproxy en de inscriptie niet wordt gevonden, zal ord server het verzoek doorsturen naar de contentproxy. Dit stelt je in staat om een test-ord server-instantie te draaien met een mainnet contentproxy. Je kunt dan mainnet-inscriptie-ID's gebruiken in je testinscriptie, wat de inhoud van de mainnet-inscripties zal retourneren.

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