hirosystems / ordinals-api

Bitcoin Ordinals API
Apache License 2.0
199 stars 62 forks source link
   /     /   ▶ Ordinals API   
  / --- /      A service that ingests Bitcoin ordinal inscriptions to expose them via REST API endpoints.
 /     /       

Features

API Reference

See the Ordinals API Reference for more information.

Quick Start

System Requirements

The Ordinals API has hard dependencies on other systems. Before you start, you'll need to have access to:

  1. An Ordhook node with a fully indexed Ordinals database.
  2. A local writeable Postgres database for data storage.
    • We recommended a 1TB volume size here.

Running the API

  1. Clone the repo.

  2. Create an .env file and specify the appropriate values to configure the local API server, postgres DB and Ordhook node reachability. See env.ts for all available configuration options.

  3. Build the app (NodeJS v18+ is required)

    npm install
    npm run build
  4. Start the service

    npm run start

Run Modes

To better support auto-scaling server configurations, this service supports three run modes specified by the RUN_MODE environment variable:

Stopping the API

When shutting down, you should always prefer to send the SIGINT signal instead of SIGKILL so the service has time to finish any pending background work and all dependencies are gracefully disconnected.

Bugs and feature requests

If you encounter a bug or have a feature request, we encourage you to follow the steps below:

  1. Search for existing issues: Before submitting a new issue, please search existing and closed issues to check if a similar problem or feature request has already been reported.
  2. Open a new issue: If it hasn't been addressed, please open a new issue. Choose the appropriate issue template and provide as much detail as possible, including steps to reproduce the bug or a clear description of the requested feature.
  3. Evaluation SLA: Our team reads and evaluates all the issues and pull requests. We are avaliable Monday to Friday and we make a best effort to respond within 7 business days.

Please do not use the issue tracker for personal support requests or to ask for the status of a transaction. You'll find help at the #support Discord channel.

Contribute

Development of this product happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving the product.

Code of Conduct

Please read our Code of conduct since we expect project participants to adhere to it.

Contributing Guide

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes.

Community

Join our community and stay connected with the latest updates and discussions: