Go back

Bitcoin Full Node Ordinal Inscription Guide

Individual sats can be inscribed with arbitrary content, creating Bitcoin-native digital artifacts that can be held in a Bitcoin wallet and transferred using Bitcoin transactions. In this guide we will cover how to create, send and receive incriptions using Bitcoin Core and Ord.

Note: Ord can be tested using the following flags to specify the test network.

  • Testnet     –testnet or -t
  • Signet      –signet or -s
  • Regtest    –regtest or -r

Regtest doesn’t require downloading the blockchain or indexing ord.

If you are running below guide using above test networks, then please add the test network flags in your command.

e.g
bitcoind -regtest -txindex

ord -r wallet create

For more information on how to run this guide using the test environment please refer to Ordinal Test Environment Guide.

  1. Ord requires Bitcoin Core’s transaction index and rest interface. To configure your Bitcoin Core node to maintain a transaction index, run the bitcoin daemon with txindex=1 in the terminal.
bitcoind -txindex

Note: The VM comes with the bitcoin-qt as well. But for this guide Do NOT use bitcoin-qt.

/img/common/ordinal_inscription_guide/r-bitcoind-2.png

  • Above command will sync the chain, leave it running untill the bitcoin-cli -getinfo returns true. ord interacts with bitcoind, so you should leave bitcoind running in the background when you’re using ord.
bitcoin-cli -getinfo

/img/common/ordinal_inscription_guide/r-getinfo.png

  • If you are encountering any issues while running bitcoind -txinde command please check below fixes.

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

If bitcoin-cli -getinfo returns Could not connect to the server, it means bitcoind is not running.

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

If bitcoin-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 bitcoin-cli -rpccookiefile=<your_bitcoin_datadir>/.cookie -getinfo. When running ord you must specify the cookie file location with –cookie-file=<your_bitcoin_datadir>/.cookie.

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

Run bitcoin-cli getindexinfo and it should return something like-

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

/img/common/ordinal_inscription_guide/r-getindexinfo.png

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

  1. Create a wallet
  • ord uses bitcoind to manage private keys, sign transactions, and broadcast transactions to the Bitcoin network. To create a wallet named ord, the default, for use with ord wallet, run:
ord wallet create
  • or if you want to provide different name run:
ord wallet --name demo create

/img/common/ordinal_inscription_guide/r-wallet-create.png

  • Note: If you have provisioned Techlatest Bitcoin Full Node solution on GCP Cloud platfrom then you need to provide the cookie file in the ord commands.
ord --cookie-file /home/bitcoin/.cookie wallet create

/img/common/ordinal_inscription_guide/gcp-cookie.png

  1. Receiving Sats
  • Inscriptions are made on individual sats, using normal Bitcoin transactions that pay fees in sats, so your wallet will need some sats.

  • Get a new address from your ord wallet by running below command. And send it some funds.

ord wallet receive

/img/common/ordinal_inscription_guide/wallet-receive.png

  • You can see pending transactions with:
ord wallet transactions

/img/common/ordinal_inscription_guide/r-wallet-transaction.png

  1. Creating Inscription Content
  • Sats 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.

Additionally, inscriptions are included in transactions, so the larger the content, the higher the fee that the inscription transaction must pay.

  • To create an inscription with the contents of FILE, run:
ord wallet inscribe --fee-rate FEE_RATE --file FILE

/img/common/ordinal_inscription_guide/r-wallet-inscribe.png

  • Ord will output two transactions IDs, one for the commit transaction, and one for the reveal transaction, and the inscription ID.

  • Wait for the reveal transaction to be mined. Once the reveal transaction has been mined, the inscription ID should be printed when you run:

ord wallet inscriptions

/img/common/ordinal_inscription_guide/r-wallet-inscription.png

  1. Sending Inscriptions
  • Ask the recipient to generate a new address by running:
ord wallet receive
  • Send the inscription by running:
ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>
  • See the pending transaction with:
ord wallet transactions
  • Once the send transaction confirms, the recipient can confirm receipt by running:
ord wallet inscriptions
  1. Receiving Inscriptions
  • Generate a new receive address using:
ord wallet receive
  • The sender can transfer the inscription to your address using:
ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>
  • See the pending transaction with:
ord wallet transactions
  • Once the send transaction confirms, you can confirm receipt by running:
ord wallet inscriptions
Go back