Skip to main content

Getting Started

In this tutorial, you will learn to make a simple setup of Runes3. For this tutorial we will be using NodeJS, however, you can use Runes3 in any Javascript environment.

Installing

Runes3 is available via npm.

npm i runes3

You will also need an RPC endpoint to connect to a Nana indexer (see below) or a fully synced nana node.

What is Nana?

Nana is an extension to the original Runes indexer by Ord. It was developed by Runeapes Labs and comes with extra features such as:

  • More extensive endpoints to its RPC than ord
  • Much faster indexing (where as Ord can take up to a week, nana indexes the runes ledger in 12 hours). Infact if you are reading this at night and you setup a nana node right now, it will be ready by the time you wake up (assuming youre a heavy sleeper haha).
  • A 30GB total ledger size (rather than 220gb+ for ORD)
  • A codebase written fully in Javascript and an industry standard database (postgresql) which can be easily modified to do whatever you want.
  • Doesn't need a BTC full node to build the Runes ledger! (can use an RPC endpoint like from quicknode) saving you about 100 dollars per month in block cloud storage.

If you don't want to host a version of Nana yourself:

You can also use satsignal's free public endpoint:

https://runes.satsignal.io/v1

or if you require your own personal authed endpoint (with much more flexible rate limits), you can create an account for free with our friends over at https://satsignal.io

🔌 Connecting to the Runes RPC

To connect to the database, you must create a Runes3 instance. This can be done by passing a single connection URI to the Runes3 constructor:

const { Runes3 } = require("runes3");

//Uses satsignal's public endpoint
const Runes = new Runes3("https://runes.satsignal.io/v1");

And you're ready! Every object in this library is derived from the Runes3 object - if you've made it this far you can now use this library to its full potential.