"Should I switch over to Fulcrum? Is Electrs fine? Which indexer should I use?" These questions flood our telegram chat all the time. A perfectly reasonable question and one that typically gets the response, "it depends". By the end of this blog, you'll understand why this is the case, and which indexer you should use to best meet your needs.

Let's jump into it.

Electrs: Electrum Rust Server

Electrs has long been the default for most node setups, including RoninDojo, for various reasons.
1. It is fully compatible with the electrum protocol and any wallet/software that use it.
 Examples:
  - Sparrow
  - Blue Wallet
  - Electrum
  - Phoenix
  - Mempool Space
  - and many more
2. The time it takes to be 100% usable is the fastest (roughly 8-10 hours from start to full functionality)
3. It is the most resource efficient. Meaning space taken on SSD and CPU/RAM usage. Which we will dive into towards the end.

Addrindexrs: Samourai Wallet Indexer

LaurentMT, the creator and mainter of OXT and Dojo developer, forked Electrs and created Addrindexrs. The purpose was to create an indexer optimized specifically for Dojo and ONLY Dojo.  

As a result of this focused development:
1. Addrindexrs is more significantly faster when importing and rescanning xpubs into Dojo for Samourai Wallet Xpubs (comparison at the end).
2. The build and index time is about the same as Electrs (since it was a fork)
3. Resource efficiency is about the same but consumes a bit more data from your SSD.
4. It is ONLY compatible with Dojo. It is not compliant with the Electrs protocol and thus cannot be used with other software or wallets like Electrs can.

Fulcrum

Fulcrum is the newest of indexers to enter the Bitcoin scene. It was built by cculianu, a Bitcoin Cash developer. Due to the nature of Bitcoin Cash, this indexer is EXTREMELY fast and highly effective for Bitcoiners. See  Sparrow Wallet Developer, Craig Raw's, post on this breakdown.

There are a few downsides to Fulcrum that should be acknowledged when picking an indexer:
1. Index building time - Fulcrum takes about 3-5 days to sync at the time of writing this (with a Tanto build)
2. The database is more susceptible to corruption when it is not properly shutdown. This could be due to pulling the power plug but particularly for people who are subject to intermittent power outages.

Comparisons

Space on Disk: Note: This includes Bitcoind, Dojo, and Indexer
 - As of 29 Sept 2023:
  - Electrs setup: 646.81 GB
  - Addrindexrs setup: 707.47 GB
  - Fulcrum setup: 739.01 GB

Indexing Speed:
Note: the same XPUB was used for each of test. XPUB had around 6000 addresses to index.
  - Electrs setup: 13m 35s
  - Addrindexrs setup: 1m 25s
  - Fulcrum setup: 27s

Build Time:
Context: this is the time it takes to create and build the docker container
  - Electrs: ~45min
  - Addrindexrs setup: ~45min
  - Fulcrum setup: 30s

Index Time:
Context: this is the time it takes onces all docker containers are running till indexer is 100%
 - Electrs: ~8hrs
 - Addrindexr: ~8hrs
 - Fulcrum: ~5 days

Conclusion

Choosing the right indexer for you is important, understand the trade-offs and understand what to expect. These trade-offs are exactly why RoninDojo gives you the choice, so you can use the tools that are best for the job you have.

Ultimately this will make the best experience for you as a Bitcoiner.

Share this post