streamerd / orbisdb

The open-source relational database for onchain builders, providing authentication, crypto plugins, hosted service and dashboard.

Home Page:https://useorbis.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OrbisDB

OrbisDB is a fully open-source relational database designed for onchain builders. Stored data inherits verifiable, permissionless and mutable properties of Ceramic, while providing a highly scalable way of querying data via SQL, GraphQL and a built-in Dashboard.

  • Hosted Postgres Database. Docs
  • Authentication. Docs
  • Crypto Plugins. Docs
  • Database functions
  • Dashboard. Docs

Important

🚨 Hosted service provided by Orbis, register for closed beta access to OrbisDB Studio

Documentation & Community

How it works

OrbisDB is a relational database built on top of Ceramic Network, a verifiable and decentralized event store. Data inherits transparency, user ownership and permissionless capabilities while ensuring high throughput and low costs. OrbisDB leverages PostgreSQL for querying, offering a robust and scalable indexing solution. Finally, the OrbisDB software orchestrates data storage, management, and access, providing a robust and scalable database solution.

Plugins

OrbisDB Plugins allow users to customize and enrich the behavior of their instance.

  • generate to Create streams: Automatically create new streams based on external data sources (ie. blockchain event, a local CSV file or an API data source).
  • add_metadata to Add metadata: Modifies or enhances the stream content before indexing (ie. classify the content using AI, fetch the ENS name of the stream’s controller)
  • validate to Validate / Gate: Checks the stream details and decides whether it should be indexed or not (for moderation, token gating or sybil resistance)
  • post_process to Perform an action: Performs actions after a stream has been indexed (ie. send an email or a push notification, trigger a blockchain transaction...).

You can find multiple examples of plugins in the server/plugins directory.

Setting up

As is the case with other web services, OrbisDB can be hosted locally, in the cloud or via a managed hosting provider. This is true for each separate component, as they don’t have to be hosted on a single server.

🌟 Recommended - Managed + Studio

Important

🚨 Register here to get early access of OrbisDB Studio, a hosted service provided by Orbis.

Orbis offers a free shared OrbisDB instance managed by Orbis. This means you don’t have to worry about any of the backend requirements - just set up your environment via our UI and get started with decentralized data.

With a shared instance, each developer gets their own isolated database and environment - however, the underlying hardware is shared. Once your application starts scaling you should consider a dedicated instance.

You also have other partners who can enable managed services for you like hirenodes.io

Local

If you want to run OrbisDB Locally, you are able to easily do it by following this guide here and our latest YouTube video here.

This means all OrbisDB nodes will be hosted locally, including PostgreSQL, Ceramic and OrbisDB Node itself.

Self-hosted

Self-hosting OrbisDB allows for full control over each component.

Each component can be isolated on a separate server or hosted on a single instance.

Check out our self-hosting guide here.

Hybrid

Because each OrbisDB component can be hosted separately, this allows for a hybrid hosting environment. You can choose to run the OrbisDB node yourself, but delegate database and Ceramic hosting to a managed provider.

Configure your setup to your needs to strike your own balance of control and convenience.

For more details, you can visit the full documentation.

Running this repository

To get started with OrbisDB locally, we recommend downloading this repository locally and running it as a simple NodeJS program.

Full guide here.

npm install

npm run dev

Your OrbisDB instance will then be running on port 7008, allowing you to access it through your browser by navigating to http://localhost:7008/. If this is your first time using it, you will be prompted to enter the details of your Ceramic node as well as your database credentials, which are necessary for indexing.

About

The open-source relational database for onchain builders, providing authentication, crypto plugins, hosted service and dashboard.

https://useorbis.com

License:MIT License


Languages

Language:JavaScript 99.0%Language:CSS 0.8%Language:Dockerfile 0.2%Language:HTML 0.0%