• Stars
    star
    191
  • Rank 198,611 (Top 4 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created over 1 year ago
  • Updated 29 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Bitcoin Ordinals API

Ordinals API

A service that indexes Bitcoin Ordinals data and exposes it via REST API endpoints.

Table of Contents

Features

  • Complete ordinal inscription ingestion
    • Genesis block and transaction information
    • Transfer history
    • Current location and ownership information
  • Satoshi ordinal notation endpoints
  • Easy to use REST JSON endpoints with ETag caching
  • Run modes for auto-scaling

API Reference

See the Ordinals API Reference for more information.

Quick Start

System Requirements

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

  1. A Chainhook node with a fully indexed Ordinals .redb database.
  2. A local writeable Postgres database for data storage

Running the API

Clone the repo.

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

Build the app (NodeJS v18+ is required)

npm install
npm run build

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:

  • default: Runs all background jobs and the API server. Use this when you're running this service only on one instance. This is the default mode.
  • readonly: Runs only the API server. Use this in an auto-scaled cluster when you have multiple readonly instances and just one writeonly instance. This mode needs a writeonly instance to continue populating the DB.
  • writeonly: Use one of these in an auto-scaled environment so you can continue consuming new inscriptions. Use in conjunction with multiple readonly instances as explained above.

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:

More Repositories

1

stacks.js

JavaScript libraries for identity, auth, storage and transactions on the Stacks blockchain.
TypeScript
940
star
2

clarinet

Write, test and deploy high-quality smart contracts to the Stacks blockchain and Bitcoin.
Rust
292
star
3

wallet

The most popular and trusted wallet for apps built on Bitcoin
TypeScript
248
star
4

desktop-wallet

Stacks Wallet—Send and receive STX tokens on the Stacks Blockchain.
TypeScript
174
star
5

ordhook

Build indexers, standards and protocols on top of Ordinals and Inscriptions (BRC20, etc).
Rust
164
star
6

stacks-blockchain-api

API for the Stacks blockchain
TypeScript
156
star
7

chainhook

Extract transactions from Stacks and Bitcoin and build event driven re-org resistant indexers and databases.
Rust
137
star
8

explorer

Explore transactions and accounts on the Stacks blockchain. Clone any contract and experiment in your browser with the Explorer sandbox.
TypeScript
134
star
9

connect

A library for building excellent user experiences with Stacks.
SCSS
75
star
10

todos

A simple todos app built with Stacks
JavaScript
71
star
11

btc-us-website

Svelte
50
star
12

stacks-subnets

Stacks Subnets: a layer-2 scaling solution for Stacks, intended for high-throughput, low-latency workloads
Rust
49
star
13

ui

The Blockstack design system implemented with react, styled-components, and styled-system.
TypeScript
34
star
14

ordinals-explorer

Explore Ordinals inscriptions, using the Hiro Ordinals API powered by Chainhooks.
TypeScript
32
star
15

docs

Hiro developer documentation website
JavaScript
31
star
16

heystack

TypeScript
16
star
17

stacks.js-starters

Quick-start frontend projects using Stacks.js
JavaScript
14
star
18

lockstacks

TypeScript
13
star
19

clarity-notebook

A set of Jupyter notebooks for getting started with Clarity.
Jupyter Notebook
12
star
20

stacks-pyth-bridge

Retrieve trading pairs (BTC-USD, STX-USD, etc) from Clarity smart contracts.
Clarity
10
star
21

rx

Reactive Extensions client for the Stacks Blockchain
TypeScript
8
star
22

stacks-e2e-testing

TypeScript
7
star
23

token-metadata-api

Stacks Token Metadata API
TypeScript
7
star
24

stacks-encoding-native-js

Encoding & decoding functions for the Stacks blockchain exposed as a fast native Node.js addon
Rust
6
star
25

clarity-examples

JavaScript
6
star
26

MIT-Bitcoin-Expo-2022-Hiro-Hackathon-Resources

Some resources and educational materials to get hackers started at the MIT Bitcoin Expo 2022
5
star
27

stacks-scout

TypeScript
5
star
28

orchestra-archive

Development Studio designed for the Stacks blockchain. Bleeding edge prototype.
Rust
5
star
29

clarity-lsp

Rust
5
star
30

nft-nyc-exclusive-app

Exclusive Bitcoin NFT minting app for NFT.NYC
TypeScript
5
star
31

community-meeting

Monthly developer calls between the Hiro product teams and the developers building on Stacks
4
star
32

clarity-starter

Clarity
4
star
33

bitcoin-docker

Dockerize bitcoind
Shell
4
star
34

multisig-stx-btc

A webscript for generating, signing, decoding multisig STX operations in the STX-over-BTC wire format
JavaScript
4
star
35

gaia-docker

Shell
3
star
36

charts

Hiro Systems Helm Charts
Smarty
3
star
37

api-toolkit

API toolkit
TypeScript
3
star
38

clarity-factory

TypeScript
3
star
39

debug_types

Rust
3
star
40

stacks-regtest-env

Easily run a Stacks node in Kypton mode with a Bitcoind regtest instance
Shell
3
star
41

stacks-devnet-api

The Stacks Devnet API runs a server that can be used to deploy, delete, manage, and make requests to Stacks Devnets run on Kubernetes.
Rust
3
star
42

lunar-hirover

Rust
3
star
43

rfc-clarity-lang-converter

2
star
44

stacks-repl

JavaScript
2
star
45

clarity.tmbundle

A repository with Clarity syntax-highlighting grammar files
2
star
46

eslint-config

A set of re-usable ESLint configuration for Blockstack PBC projects
JavaScript
2
star
47

stacks-adoption-report

This project is used to generate a list of Stacks-related projects
JavaScript
2
star
48

stacks-billboard

TypeScript
2
star
49

vitest-environment-clarinet

JavaScript
2
star
50

gh-actions-example

Dockerfile
1
star
51

prettier-config

@stacks Prettier config
JavaScript
1
star
52

app.co-api

API Server for app.co
JavaScript
1
star
53

hiro-kit.clar

Hiro Kit: collection of utility functions for Clarity contracts
Clarity
1
star
54

clear-waters

A Clarity Learning Game
Clarity
1
star
55

clar2wasm

Compile Clarity to WebAssembly
1
star
56

rfc-web3-oauth

1
star
57

stacks-event-replay

Python
1
star
58

examples

A collection of example apps showcasing /-/iro products
TypeScript
1
star
59

hiro-hacks-template

Starter template for Hiro Hacks
TypeScript
1
star
60

stacks-rpc-proxy

TypeScript
1
star
61

subnet-demo-app

The project demonstrates some of the capabilities of subnets through a simple NFT marketplace where minting, listing and offers happen on L2.
TypeScript
1
star