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
- OrbisDB SDK Github
Important
🚨 Hosted service provided by Orbis, register for closed beta access to OrbisDB Studio
Note
⚡️ Quickly start with a Forum Template
- Full Documentation
- YouTube channel with step-by-step videos
- Discord to ask all your technical questions
- Twitter to get latest updates on OrbisDB
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.
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.
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.
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
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-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.
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.
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.