A Tech Novice's Step by Step Guide to installing Ord on an Umbrel Bitcoin Node:
I want to preface this guide by first saying I am not a developer, not a coder, and have rarely ever interfaced with command line prior to experimenting with Ord software. I was able to successfully get Ord on Umbrel by trial, error and troubleshooting with people way smarter than me in the Ordinal Discord Page.
I am assuming if you are here, you are already aware of what Ord, ordinals and inscriptions are. I am also assuming you have a Bitcoin Node running with Umbrel. I am writing this guide as Ord requires a full bitcoin node and Umbrel is one of the most popular prepackaged solutions for bitcoiners to run a full node. There is currently no official Ord app for Umbrel OS, and thus requires us to build it from scratch. This guide will lay out the steps to do so and has some notes for noobs like me who never interfaced with CLI. These commands need to be entered exactly as below, or you will receive several error messages. Once Ord is installed on your full node, you can receive, send and create inscriptions.
This all might change with future Ord updates. This was done with version 0.4.2 , and should work the same way with 0.5.0.
Ord is still an alpha software, run this at your own risk.
Prior to this guide some helpful links are:
Ordinals Website - https://ordinals.com/
Ordinals Manual - https://docs.ordinals.com/
Sparrow Wallet Guide- https://gist.github.com/windsok/5b53a1ced6ef3eddbde260337de28980
Basic Guide by NFTpaz - https://youtu.be/tdC8kmjn5N0
Casey Rodamor's Github - https://github.com/casey/ord
Ordinals Discord: https://discord.gg/ordinals
Step by Step How to install Ord on Umbrel
Open PowerShell run as adminstrator and connect to the Umbrel device on the local network using ssh with the following command: ssh email@example.com
Enter the password for the umbrel user. (Note: the password will not be visible, just hit enter when you're done)
Check if the Bitcoin node is running using the following command: docker ps | grep bitcoin_bitcoind_1 (You will need to look for ID number that is the "container ID" for where the Bitcoin node is running on Umbrel)
Start a shell in the Docker container using the following command: docker exec -u 0 -it YOURCONTAINERID sh (Note: replace YOURCONTAINERID with the actual container ID obtained in step 3. Also for future use notice the "-u 0" this makes you a root user. When you finally are set up, you will not run this command with "-u 0" to run Ord normally.)
Install the GCC and curl packages using the following commands: apk add gcc apk add curl
Download and install Rust using the following command: curl -sSf https://sh.rustup.rs | sh When prompted, proceed with the default installation. Verify the installation by checking the Rust version with the following command: rustc --version
Restart the current shell to reload the PATH environment variable
Configure the current shell by running: source "$HOME/.cargo/env"
Install Git by running: apk add git
Install OpenSSL development package by running: apk add openssl-dev
Install Musl development package by running: apk add musl-dev
Clone the repository for the "ord" project by running: git clone https://github.com/casey/ord.git
Change into the "ord" directory by running: cd ord
Build the project in release mode by running: cargo build --release
Compile the release version of the code with the following command: cargo build --release
Check the current working directory with the following command: ls -lah
Change the current working directory to the target/release directory with the following commands: cd target cd release
Copy the compiled executable file "ord" to the "/bin" directory with the following command: cp ord /bin/
Verify that the executable file is accessible from anywhere in the system by navigating to a different directory and running the following command: ord
If correct Ord should start and you should get ord command options
Everytime you want to use Ord you need to run: ssh firstname.lastname@example.org and then docker exec-it YOURCONTAINERID sh then command: ord
Running the command "ord" will bring up a menu of subcommands such as "ord wallet" "ord wallet create" "ord index"
You will need to index all blocks within Ord prior to being able to use this software correctly. This is taking a minimum of 1 day it appears and up to a full week for some people depending on the version of ord.
To do this run command: ord index
It will take some time and may stop every 5000 blocks or so. This is happening because it is writing a commit. You may need to hit enter for it to restart.
There is a known bug when you are almost fully indexed you get error "error: JSON-RPC error: transport error: HTTP response too short: length 0, needed 12."
If this happens and you run "ord index" again it will restart indexing at 775000 (or a whole number 5000 less than current bitcoin block).
To get through this, you will need to brute force, either running "ord index" or "ord wallet balance" repeatedly.
To make this faster when you are about 30 or 20 blocks before it is finished , force a commit by using Ctrl + C. This will stop the indexing. Do not repeatedly hit Ctrl C. It will take some time for the commit to happen.
After it allows you to type commands again, you can brute force with "ord wallet balance". You should get a response of "cardinal":0 when you are fully indexed. You should now be able to run all wallet commands.
Restoring from a Sparrow Wallet or Alternative Wallet
If you are restoring from sparrow wallet , you can now enter commands to restore. It is probably best practice to label this wallet. You can restore and label this wallet with a command such as:
ord --wallet sparrow1 wallet restore "BIP39 SEED PHRASE"
(Note: it is ord --wallet "wallet name" wallet restore . I've noticed several people forgetting the second wallet command. Enter your seed phase within quotations)
If you dont want to label, you can run the regular wallet restore command, however if you already created a wallet using "ord wallet create" this won't work and you will need to name this other wallet. The regular command is:
ord wallet restore "BIP39 SEED PHRASE"
There is an additional known quirk / bug with this. You will need to manually trigger a rescan of the blockchain using the bitcoin core command:
bitcoin-cli -rpcwallet=ord rescanblockchain 767430
After that you should be able to use your restored wallet. If you already have inscriptions in that wallet this command should bring them up:
ord --wallet sparrow1 wallet inscriptions
This guide goes into how to set up a sparrow wallet and goes into this further:
Errors and Another Disclaimer:
If you come across errors, I highly recommend searching through the Ordinals Discord mentioned above. Many are either missing a letter or syntax, or are repeat errors with solutions posted there. The Github's linked above also have several solutions.
Again, I had almost 0 command line interface experience prior to this. I may be using a few terms incorrectly. Good luck.