The adoption of Ordinals by the Bitcoin community is rapidly increasing with nearly half a million inscriptions since late January, and there is a ton of excitement around this new innovation (if you need more context, check out this primer on ordinals). Despite the buzz, the tooling for ordinal inscriptions remains lacking, and it’s not easy to build with Ordinals. In particular, we noticed that searching for and finding inscriptions was challenging, and there is no ability to sort and/or filter by file type.
With the Ordinals Explorer and Ordinals API, we set out to do two things:
- Build a portal that helps people discover Bitcoin inscriptions.
- Create a tool that empowers other builders to incorporate ordinals in their projects.
To showcase our Ordinals API, we built an Ordinals Explorer, where you can search by inscription, sat, block height or owner address. You can also sort and filter by sat rarity, inscription type (text, image, etc) and date of creation.
With nearly half a million inscriptions and counting, these features make it easier to navigate, discover and explore the world of Ordinals. Watch a video walkthrough of the explorer below to discover all of its features:
How We Built It
The Hiro Ordinals Explorer is made with Hiro developer tools, such as chainhooks and our brand-new Ordinals API. The API has a full index of all ordinal inscription data that is on the Bitcoin blockchain (and is adding new inscription data with every new Bitcoin block).
Most relevant to developers is that the Ordinals API is ready to use, and you can start leveraging the Ordinals API today to pull inscription data into your application. Additionally, the API is open source, and we welcome anyone to contribute to the project and file bugs if they find any issues. Reference Ordinals API documentation here, and view the code on GitHub here.
What does all of this mean for devs? Faster load times, fewer errors and reliable service.
Why We Built It
At Hiro, we love Bitcoin, and we are committed to helping developers push the envelope and test new innovations on Bitcoin. When the Ordinals theory started to gain traction, we spent some time exploring the protocol, and it became clear to us that we had expertise that could be brought to the table to improve the Ordinals tooling experience.
With an infrastructure serving 100s of millions of requests / month with a 99.99% availability, we have experience and a track record designing and maintaining a highly available API. We also have experience building slick user experiences, command line tools that developers love working with, and, more recently, tooling for blockchain indexing. Fascinated by the Ordinals protocol, but frustrated by the tooling implementation, we decided to leverage our expertise to bring some new tooling to the market. We hope you find them useful.
The Challenge of Ordinals Indexing
Extracting data from a blockchain (especially Bitcoin) is a challenging task. Among other things, the Bitcoin blockchain can experience “reorgs” – what is true at any given point in time might be completely inaccurate in the future if a new fork becomes the canonical source of truth.
For every new block that is produced, a developer building on top of a fork-aware blockchain would have to handle the complexity associated with potentially rolling back previous changes in case of a reorg.
This is the problem that we want to solve with chainhooks. Instead of working with an Electrum-like indexer, developers can specify a "if this, then that" workflow using descriptive languages (JSON and YAML supported). This workflow can help developers apply and rollback the right changes to the database that is being derived from the blockchain state.
We dug into the reference implementation of the <code-rich-text>ord<code-rich-text> tool (link) and experienced first hand the challenges with reorg handling in that implementation. In particular, indexing individual sats takes a very long time: to build an index from genesis took close to a week! So this is an area we are actively exploring. We are still experimenting with different storage engines, with different traversals, but it is clear that the community needs a different approach for extracting and indexing ordinals. This seems like a very big pain point that the community is currently experiencing. Stay tuned for more updates on this as we continue to explore the issue.
We hope that our Ordinals API can be a tool that other developers rely on to bring Ordinals into whatever projects they build.
Thanks to our indexing process described above, we can build a consistent, reorg-proof database that we can index the way we want, and we have some experience building blockchain explorers—we built and continue to maintain the Stacks Explorer. The Ordinals theory is such a nice, elegant and fascinating way to explore the Bitcoin chain. We hope that our Ordinals API can be a tool that other developers rely on to bring Ordinals into whatever projects they build. We are already working with several projects to integrate these tools, including the Hiro Wallet, Gamma, Mechanism, and more.
Conclusion
We’re learning as we go to identify more ways to improve ordinals tooling for builders on Bitcoin layers. A few weeks ago, we added Ordinals support for the Hiro Wallet, and we are excited to now ship the Ordinals Explorer and API. Stay tuned for more exciting new features and integrations for Ordinals soon.
In the meantime, check out the Ordinals Explorer and let us know what you think. If you’re interested in building, you can also find more information about the Ordinals API here.
To get in touch with the Hiro team and give us feedback, reach out to us on the HIRO-PUBLIC channels on Discord.