Author

Topic: [WORK IN PROGRESS] How to use `ord` to make Bitcoin Ordinals (Read 356 times)

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
command
ord wallet balance

then [indexing blocks]

but end with below error:

thread 'main' panicked at 'internal error: entered unreachable code', /Users/binghe/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-df7c3c540f42cdbd/redb-0.13.0/src/tree_store/btree.rs:375:18
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

any help will be appreciated. thanks

Please file an issue for this at https://github.com/casey/ord - I don't understand Rust unfortunately.
newbie
Activity: 61
Merit: 0
command
ord wallet balance

then [indexing blocks]

but end with below error:

thread 'main' panicked at 'internal error: entered unreachable code', /Users/binghe/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-df7c3c540f42cdbd/redb-0.13.0/src/tree_store/btree.rs:375:18
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

any help will be appreciated. thanks
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
I opened a Github issue here and was told to run the following:

Code:
RUST_LOG=info ord --index-sats index

Well see how that goes. The person who replied to me said it took them 7 days to finish it but it is not memory-intensive - however, it will use an eye-watering 118GB of space, so heads up (and that will only increase in proportions to the mainnet blockchain).

Do you have any updates on this? Is running ord so hardware intensive? Can you give us a few details on the machine you are using to do so?

Sure. I restarted the ord indexing yesterday, and it's around block 380,000 now. So at least it is making some progress.

Hardware is nothing fancy, the CPU is a "Intel(R) Xeon(R) CPU E31240 @ 3.30GHz" with 8 threads and 16GB of memory attached. My load average is around 4.0, which tells me that it's using 4 threads for indexing.

Maybe the problem was that there is so little logging done initially that it could be thought the program was stuck.
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
I opened a Github issue here and was told to run the following:

Code:
RUST_LOG=info ord --index-sats index

Well see how that goes. The person who replied to me said it took them 7 days to finish it but it is not memory-intensive - however, it will use an eye-watering 118GB of space, so heads up (and that will only increase in proportions to the mainnet blockchain).

Do you have any updates on this? Is running ord so hardware intensive? Can you give us a few details on the machine you are using to do so?

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
I opened a Github issue here and was told to run the following:

Code:
RUST_LOG=info ord --index-sats index

Well see how that goes. The person who replied to me said it took them 7 days to finish it but it is not memory-intensive - however, it will use an eye-watering 118GB of space, so heads up (and that will only increase in proportions to the mainnet blockchain).
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Something appears to be wrong in the `ord` program:

Code:
RUST_LOG=debug ~/bin/ord wallet balance
[2023-02-28T08:00:18Z INFO  ord::index] Connecting to Bitcoin Core RPC server at 127.0.0.1:8332/wallet/ord using credentials from `/home/zenulabidin/.bitcoin/.cookie`
# 10 minutes later...
# No more output

At this point, I have blanked my entire bitcoin.conf except for txindex=1, to see if I can get ord to respond to that. I was not successful. I checked Bitcoin Core's debugging output for any hints, and indeed a wallet rescan happened (I do not know which wallet but it's got to be the `ord` wallet since it's the only wallet I even have on Core), but there is no record of RPC calls made anywhere.

Maybe I will just file a bug report.

EDIT: I downgraded to ord version 0.4.2 and deleted the ord database at ~/.local/share/ord/index.redb and it looks like I can index it again. Just waiting to see whether it actually finishes this time.  Undecided

EDIT2: It's stuck again at block #325000....

EDIT3: It resumed after 15 minutes. But it doesn't matter anymore because I accidentally Ctrl-C'd the program and must start over Sad
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
This looks interesting. Does it matter if BitcoinCore is running on pruned mode or not ?

It cannot run with a pruned node because you have to set txindex=1 so that the Ordinals program can work properly and find transactions, and that implies that the node must not be pruned.
copper member
Activity: 783
Merit: 710
Defend Bitcoin and its PoW: bitcoincleanup.com
This looks interesting. Does it matter if BitcoinCore is running on pruned mode or not ?
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Yeah, I left the indexer on all night but it never got past block 300,000, so I had to shut it off as it was just wasting CPU cycles. Sad

Anyone else had better luck inscribing something with this program?
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
I definitely want to play with this.
I want to create an inscriptions with my hat, so that I can trade it (just for a scientific purpose, of course).
I have other questions, but those are not technical, so I will post them on a different thread.


I actually don't mind the questions being non-technical as there's a lot to learn about these things and Dev subboard already has a technical thread about ordinal theory.

Anyway:

It's been abut 3 hours since I started the inscription, however the block indexing is only 40% done. Sad
legendary
Activity: 2268
Merit: 16328
Fully fledged Merit Cycler - Golden Feather 22-23
I definitely want to play with this.
I want to create an inscriptions with my hat, so that I can trade it (just for a scientific purpose, of course).
I have other questions, but those are not technical, so I will post them on a different thread.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Reserved for news

(I'm going to have to transfer some funds from my wallet to Bitcoin Core to make this work - I'm still figuring out how this will work in tandem with the Ordinals binary.)
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
NOTE: This post is a work in progress and has not been finished yet. First I need to create some ordinals before I can give detailed information about the inscription process.

An ordinal is an NFT that exists on the Bitcoin blockchain.

Ordinals are made using the software that is available here: https://github.com/casey/ord

Contrary to popular belief, you can inscribe any content as an Ordinal, and not just multimedia. This can open up a huge number of possibilities, such as selling books in PDF or ePUB format, hosting single-page websites and pastebins, submit proof that you were the first to do something, and maybe even doing anonymous forum posts as well.

Installing

There are binaries for Windows, MacOS, and Linux, which you can download here: https://github.com/casey/ord/releases

One-click install (puts the binary in $HOME/bin/ folder - it is not in the $PATH by default so if that makes you uncomfortable then just put it in /usr/local/bin):

Code:
curl --proto '=https' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s

Creating a wallet

First you need to have a mainnet Bitcoin Core node running, with txindex=1 in your configuration and that accepts RPC connections. It must use cookie authentication; I could not find a way to make it work with username/password authentication.

To create a wallet, you must issue the command ord wallet create (assumes ord is already in the system path).

Output:

Code:
{
"mnemonic": "abc def ghi jkl mno pqr stu vwx zya bcd efg hij"
}

The mnemonic will have twelve words that form the seed phrase (and look nothing like this example, which was for demonstration purposes only).

Creating an inscription

WORK IN PROGRESS

Run ord wallet inscribe FILE_PATH. It will index the blockchain on the first run so be prepared to wait for a few hours (this is independent of Bitcoin Core's block verification process) before your inscription is done. You might want to send funds as soon as the operation starts as it will take a while.

Sending inscriptions

WORK IN PROGRESS

There is currently no marketplace for sending and receiving inscriptions online, so you need to use ord for that as well.

Run ord wallet send and ord wallet receive respectively.

Receiving inscriptions

Use ord wallet receive to generate an address with which you can receive inscriptions on. You can also fund the address so that you can use it to pay transaction fees.

Example output:

Code:
{
  "address": "bc1pzefp3s70edy6339ueuys064z9gcw74vgyemgm9d8rlgq42typagsnwycyt"
}

If ord is not working

In case of any error, first you should check your Bitcoin Core node and make sure it is responsive - restart it if necessary.

If you are unable to index ord at all, delete the database file at ~/.local/share/ord/index.redb (on Linux - On Windows it's probably inside the AppData/Roaming folder - someone please correct me if this is not true) and possible use a different version of ord and try again.

Other tutorials about ordinals

WORK IN PROGRESS - feel free to recommend other pages and threads here.

Suggestions

Please post them below.
Jump to: