테스팅
Test Environment
ord env <DIRECTORY>
creates a test environment in <DIRECTORY>
, spins up bitcoind
and ord server
instances, prints example commands for interacting with the test bitcoind
and ord server
instances, waits for CTRL-C
, and then shuts down bitcoind
and ord server
.
ord env
tries to use port 9000 for bitcoind
's RPC interface, and port 9001
for ord
's RPC interface, but will fall back to random unused ports.
Inside of the env directory, ord env
will write bitcoind
's configuration to bitcoin.conf
, ord
's configuration to ord.yaml
, and the env configuration to env.json
.
env.json
contains the commands needed to invoke bitcoin-cli
and ord wallet
, as well as the ports bitcoind
and ord server
are listening on.
These can be extracted into shell commands using 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
If ord
is in the $PATH
and the env directory is env
, the bitcoin-cli
command will be:
bitcoin-cli -datadir=env
And the ord
will be:
ord --datadir env
Test Networks
Ord는 다음 플래그를 사용하여 테스트 네트워크를 지정하여 테스트할 수 있다. 테스트를 위한 Bitcoin Core 실행에 대한 자세한 내용은 비트코인 개발자 문서를 참조하자.
Most ord
commands in wallet and explorer can be run with the following network flags:
네트워크 | 플래그 |
---|---|
Testnet | --testnet 또는 -t |
Signet | --signet 또는 -s |
Regtest | --regtest 또는 -r |
Regtest doesn't require downloading the blockchain since you create your own private blockchain, so indexing ord
is almost instantaneous.
예제
Run bitcoind
in regtest with:
bitcoind -regtest -txindex
Run ord server
in regtest with:
ord --regtest server
다음을 사용해 regtest에 지갑을 만든다:
ord --regtest wallet create
다음을 사용해 regtest 수신 주소를 얻는다:
ord --regtest wallet receive
다음을 사용해 101 블록을 채굴한다(코인베이스 잠금 해제를 위해):
bitcoin-cli -regtest generatetoaddress 101 <receive address>
다음을 사용해 regtest에 인스립션을 새긴다:
ord --regtest wallet inscribe --fee-rate 1 --file <file>
다음을 사용해 인스크립션을 채굴한다:
bitcoin-cli -regtest generatetoaddress 1 <receive address>
By default, browsers don't support compression over HTTP. To test compressed content over HTTP, use the --decompress
flag:
ord --regtest server --decompress
리커젼 테스트
리커젼을 테스트할 때는 종속성을 먼저 새긴다 (예: p5.js를 사용):
ord --regtest wallet inscribe --fee-rate 1 --file p5.js
This will return the inscription ID of the dependency which you can then reference in your inscription.
However, inscription IDs differ between mainnet and test chains, so you must change the inscription IDs in your inscription to the mainnet inscription IDs of your dependencies before making the final inscription on mainnet.
그런 다음을 사용해 리커젼 인스크립션을 새길 수 있다:
ord --regtest wallet inscribe --fee-rate 1 --file recursive-inscription.html
마지막으로 블록을 어느 정도 채굴해야 하고 서버를 시작해야 한다:
bitcoin-cli generatetoaddress 6 <receive address>
Mainnet Dependencies
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 a 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