From 3d564226c4a4939d612434cfd6eb86badca1fa4b Mon Sep 17 00:00:00 2001 From: Justina Petraityte Date: Mon, 2 Sep 2024 15:08:29 +0100 Subject: [PATCH] introduction section updates --- docs/composedb/introduction.mdx | 6 --- docs/introduction/composedb-overview.md | 26 +++++------- docs/introduction/did-overview.md | 3 +- docs/introduction/orbisdb-overview.md | 7 +++- docs/introduction/protocol-overview.md | 53 ++++++++++--------------- docs/introduction/why-ceramic.md | 28 +++++++++---- docs/protocol/js-ceramic/overview.md | 38 ++++++++++++++++++ sidebars.ts | 4 -- 8 files changed, 99 insertions(+), 66 deletions(-) diff --git a/docs/composedb/introduction.mdx b/docs/composedb/introduction.mdx index ecada1d9..a2b82235 100644 --- a/docs/composedb/introduction.mdx +++ b/docs/composedb/introduction.mdx @@ -29,12 +29,6 @@ ComposeDB officially entered `Beta` on February 28, 2023. What does this mean? - We will continue to improve performance and add more features - We are not yet guaranteeing a 100% stable, bug-free platform -If you want to provide feedback, request new features, or report insufficient performance, please [make a post on the Forum](https://forum.ceramic.network/c/graph/9), as we'd like to work with you. -Thank you for being a ComposeDB pioneer and understanding that great Web3 protocols take time to mature. - - - - ### [Get Started →](./getting-started) Build a Hello World application and interact from the CLI. diff --git a/docs/introduction/composedb-overview.md b/docs/introduction/composedb-overview.md index b9a92798..be16d361 100644 --- a/docs/introduction/composedb-overview.md +++ b/docs/introduction/composedb-overview.md @@ -1,15 +1,10 @@ # ComposeDB -![Introduction](/img/intro-dataverse.png) ComposeDB is a composable graph database built on [Ceramic](https://ceramic.network), designed for Web3 applications. +

+ Introduction +

-### Use Cases -| Use Case | Examples | -|---|---| -|__Decentralized identity__| `user profiles` `credentials` `reputation systems` | -|__Web3 social__| `social graphs` `posts` `reactions` `comments` `messages` | -|__DAO tools__| `proposals` `projects` `tasks` `votes` `contribution graphs` | -|__Open information graphs__| `DeSci graphs` `knowledge graphs` `discourse graphs` | ### Why ComposeDB? @@ -20,6 +15,14 @@ ComposeDB is a composable graph database built on [Ceramic](https://ceramic.netw - Eliminate trust and guarantee data verifiability - Scale your Web3 data infrastructure beyond L1 or L2 blockchains +### Use Cases +| Use Case | Examples | +|---|---| +|__Decentralized identity__| `user profiles` `credentials` `reputation systems` | +|__Web3 social__| `social graphs` `posts` `reactions` `comments` `messages` | +|__DAO tools__| `proposals` `projects` `tasks` `votes` `contribution graphs` | +|__Open information graphs__| `DeSci graphs` `knowledge graphs` `discourse graphs` | + ### Project Status: `Beta` ComposeDB officially entered `Beta` on February 28, 2023. What does this mean? @@ -43,10 +46,3 @@ Test example queries to ComposeDB directly in your browser. ### [Development Guides →](../composedb/guides) Learn about data modeling, application set up, and data interactions. - - -### [Core concepts →](../composedb/core-concepts) -Dive deeper into the ComposeDB protocol and its components. - -### [Community →](../ecosystem/community) -Connect with the ComposeDB developer community. \ No newline at end of file diff --git a/docs/introduction/did-overview.md b/docs/introduction/did-overview.md index c4e679a6..ce1205c9 100644 --- a/docs/introduction/did-overview.md +++ b/docs/introduction/did-overview.md @@ -3,9 +3,10 @@ Cermic comes with a suite of tools and APIs to interact with and manage decentralized identifiers (DIDs). DIDs require no central authority - users control their data and whom they share it with. ## DID Methods -We encourage using the did:pkh DID method which generates a persistent id from a wallet address’s public key hash. This enables one-click sign-on with your wallet to many apps on Ethereum, and soon on many other chains including Solana. We also support the Ceramic-created 3ID method which acts as an aggregator for multiple accounts and can handle multiple keys simulatneously. +`did:pkh` DID method generates a persistent id from a wallet address’s public key hash. This enables one-click sign-on with your wallet to many apps on Ethereum, and soon on many other chains including Solana. We also support the Ceramic-created 3ID method which acts as an aggregator for multiple accounts and can handle multiple keys simulatneously. ## DID Sessions DID-Sessions is a library for providing a familiar, "web session"-like experience. Users no longer have to sign every single action they take within an app - during a timebound period of time they can authorize the app developer to act on their behalf. DID-Sessions outputs verifiable, serializable objects that store information about which DIDs authenticated them, what capabilities they are authorized with and for how long. +[Learn more](../dids/introduction.md) about Decentralized Indentifiers suppoerted by Ceramic. \ No newline at end of file diff --git a/docs/introduction/orbisdb-overview.md b/docs/introduction/orbisdb-overview.md index 60aecabb..98680e82 100644 --- a/docs/introduction/orbisdb-overview.md +++ b/docs/introduction/orbisdb-overview.md @@ -4,6 +4,11 @@ OrbisDB is a simple and efficient gateway for storing and managing open data on OrbisDB provides a developer-friendly SQL interface to explore and query data on Ceramic as well as a user interface and plugin store to save development time on crypto-specific features – from data migration and token gating mechanisms to automated blockchain interactions. It is built on Ceramic's new Data Feed API which makes it fully compatible with [ComposeDB](./composedb-overview). -OrbisDB comes with with a shared instance called [Orbis Studio](https://app.formo.so/hJ5VGyugmGigyVFyqdHJa), offering a simple experience to get started with building on Orbis and accessing plugins. [Get access to the Orbis Studio](https://app.formo.so/hJ5VGyugmGigyVFyqdHJa) (currently in Closed Beta) and start building! +
+ + +OrbisDB comes with with a shared instance called [Orbis Studio](https://app.formo.so/hJ5VGyugmGigyVFyqdHJa), offering a simple experience to get started with building on Orbis and accessing plugins. + +[Get access to the Orbis Studio](https://app.formo.so/hJ5VGyugmGigyVFyqdHJa) (currently in Closed Beta) and start building! diff --git a/docs/introduction/protocol-overview.md b/docs/introduction/protocol-overview.md index 8ffcbb85..c2dece04 100644 --- a/docs/introduction/protocol-overview.md +++ b/docs/introduction/protocol-overview.md @@ -1,14 +1,19 @@ # Ceramic Protocol -Ceramic is a decentralized event streaming protocol that enables developers to build decentralized databases, distributed compute pipelines, and authenticated data feeds, etc. Ceramic nodes can subscribe to subsets of streams forgoing the need of a global network state. This makes Ceramic an eventually consistent system (as opposed to strongly consistent like L1 blockchains), enabling web scale applications to be built reliably. +Ceramic's event streaming protocol is a highly-scalable decentralized data infrastructure used for building all kinds of interoperable Web3 services and protocols, such as decentralized databases, distributed compute pipelines, and authenticated data feeds, etc. +Ceramic nodes can subscribe to subsets of streams forgoing the need of a global network state. This makes Ceramic an eventually consistent system (as opposed to strongly consistent like L1 blockchains), enabling web scale applications to be built reliably. + +

+ Introduction +

## Core Components --- -The Ceramic protocol consists of the following components: +The Ceramic protocol consists of the following core components if playing an important role in the functionality and the decentralization of the network: - [**Streams →**](../protocol/js-ceramic/streams/streams-index) - [**Accounts →**](../protocol/js-ceramic/accounts/accounts-index.md) @@ -17,37 +22,23 @@ The Ceramic protocol consists of the following components: - [**Ceramic Nodes →**](../protocol/js-ceramic/nodes/overview.md) -## Specification Status +## Ceramic Nodes + +--- +Developers, building on Ceramic have to run a Ceramic node to provide data storage, compute, and bandwidth for their Ceramic application. Today there are no tokenized incentives for running a Ceramic node, but by running a node you can ensure the data for your app remains available while helping contribute to the network's decentralization. There are a few different ways of how you can run a Ceramic node: + +- [**Run Ceramic in the cloud**](../protocol/js-ceramic/guides/ceramic-nodes/running-cloud) + +- [**Run Ceramic locally**](../protocol/js-ceramic/guides/ceramic-nodes/running-locally) + +- [**Use one of the managed node solutions built by the Ceramic community**](https://hirenodes.io/) + +## Database products built on ceramic --- +Ceramic enables a number of database products that process and index data in various ways. Today, developers can already interact with the following existing solutions and build new ones: -| Section | State | -| --- | --- | -| [1. Streams](../protocol/js-ceramic/streams/streams-index) | **[Draft/WIP](../protocol/js-ceramic/streams/streams-index)** | -| [1.1. Event Log](../protocol/js-ceramic/streams/event-log) | **[Reliable](../protocol/js-ceramic/streams/event-log)** | -| [1.2. URI Scheme](../protocol/js-ceramic/streams/uri-scheme) | **[Reliable](../protocol/js-ceramic/streams/uri-scheme)** | -| [1.3. Consensus](../protocol/js-ceramic/streams/consensus) | **[Draft/WIP](../protocol/js-ceramic/streams/consensus)** | -| [1.4. Lifecycle](../protocol/js-ceramic/streams/lifecycle) | **[Reliable](../protocol/js-ceramic/streams/lifecycle)** | -| [2. Accounts](../protocol/js-ceramic/accounts/accounts-index) | **[Draft/WIP](../protocol/js-ceramic/accounts/accounts-index)** | -| [2.1. Decentralized Identifiers](../protocol/js-ceramic/accounts/decentralized-identifiers) | **[Draft/WIP](../protocol/js-ceramic/accounts/decentralized-identifiers)** | -| [2.2. Authorizations](../protocol/js-ceramic/accounts/authorizations) | **[Reliable](../protocol/js-ceramic/accounts/authorizations)** | -| [2.3. Object-Capabilities](../protocol/js-ceramic/accounts/object-capabilities) | **[Draft/WIP](../protocol/js-ceramic/accounts/object-capabilities)** | -| [3. Networking](../protocol/js-ceramic/networking/networking-index) | **[Draft/WIP](../protocol/js-ceramic/networking/networking-index)** | -| [3.1. Tip Gossip](../protocol/js-ceramic/networking/tip-gossip) | **[Reliable](../protocol/js-ceramic/networking/tip-gossip)** | -| [3.2. Tip Queries](../protocol/js-ceramic/networking/tip-queries) | **[Reliable](../protocol/js-ceramic/networking/tip-queries)** | -| [3.3. Event Fetching](../protocol/js-ceramic/networking/event-fetching) | **[Reliable](../protocol/js-ceramic/networking/event-fetching)** | -| [3.4. Network Identifiers](../protocol/js-ceramic/networking/networks) | **[Reliable](../protocol/js-ceramic/networking/networks)** | -| [4. API](../protocol/js-ceramic/api) | **[Missing](../protocol/js-ceramic/api)** | -| [5. Nodes](../protocol/js-ceramic/nodes/overview) | **[Draft/WIP](../protocol/js-ceramic/nodes/overview)** | - -#### **Legend** - -| Spec state | Label | -| --- | --- | -| Unlikely to change in the foreseeable future. | **Stable** | -| All content is correct. Important details are covered. | **Reliable** | -| All content is correct. Details are being worked on. | **Draft/WIP** | -| Do not follow. Important things have changed. | **Incorrect** | -| No work has been done yet. | **Missing** | +- [**OrbisDB**](./orbisdb-overview.md) - a database built on Ceramic that allows you to easily interact with the data stored on Ceramic using a simple and familiar SQL-based interface. +- [**ComposeDB**](./composedb-overview.md) - a composable grapqh database built on Ceramic. diff --git a/docs/introduction/why-ceramic.md b/docs/introduction/why-ceramic.md index accaee8a..71862740 100644 --- a/docs/introduction/why-ceramic.md +++ b/docs/introduction/why-ceramic.md @@ -2,8 +2,21 @@ --- +Ceramic is a distributed event sourcing and storage system that applications can use to store high volume user and application data, manage documents and content, and construct activity logs and databases. +It adds trust to data at scale, offering faster, cheaper and higher throughput than a blockchain. + Ceramic's decentralized data network provides Web3 developers with a collection of features that make it possible to build scalable Web3 applications with composable data that can be reused and shared across applications. + + +## What Ceramic is for? + +Ceramic enables organizations facing these common data challenges: +- Publish credentials, logs or other data without painful gas fees +- Manage rich user and behavioral data without compromising user privacy +- Store high-throughput machine data from sensors, agents, and network nodes +- Build new verifiable data products and pipelines on a battle-tested event sourcing system + ## Overview Ceramic compared to other popular Web3 infrastructure solutions. @@ -22,18 +35,20 @@ Ceramic compared to other popular Web3 infrastructure solutions. ## Key Benefits --- +### Speed and Scalability +Ceramic's data network infrastructure is highly-scalable and can service use cases where high amounts of data throughput is needed. On Ceramic, every data object maintains its own state and nodes independently process stream transactions, allowing unbounded parallelization. This enables Ceramic to operate at worldwide data scale, which is orders of magnitude greater than the scale needed for decentralized finance. + -### Mutable data storage +### Mutable data storage Ceramic provides developers with a set of standard, open APIs for storing, updating, and retrieving data from the network. This helps to break down data silos, enabling all data to be openly accessible. Additionally, all data mutations on Ceramic are cryptographically verifiable and can provide auditability throughout all historical versions of a piece of data that has changed over time. ### Data Composability -Data on Ceramic is structured and stored in data models, which can be easily reused by different applications to share -data between them. Data models are created by developers in the community, and the ecosystem of data models is constantly expanding. Data models typically represent a single, logical application feature such as a user profile, a social graph, or a blog and developers typically combine multiple data models to create their application. +Data on Ceramic is structured and stored in data models, which can be easily reused by different applications to share data between them. Data models are created by developers in the community, and the ecosystem of data models is constantly expanding. Data models typically represent a single, logical application feature such as a user profile, a social graph, or a blog and developers typically combine multiple data models to create their application. -### Developer Experience +### Collaborative Developer Experience -Building composable applications with Web3 data on Ceramic is simple. Install Ceramic, browse the marketplace of data models, plug these models into your app, and automatically get access to all data stored on the network that conforms to those data models. The community is constantly creating new tooling that make it easier to build, and expand what's possible with composable data. +Building composable applications with Web3 data on Ceramic is simple. Install Ceramic, browse available models, plug them into your app, and automatically get access to all data stored on the network that conforms to those data models. The community is constantly creating new tooling that make it easier to build, and expand what's possible with composable data. ### Sign in with Web3 @@ -43,6 +58,3 @@ Ceramic uses the decentralized identifier (DID) standard for user accounts, whic The Ceramic network is decentralized and permissionless, allowing anyone in the world to spin up a node to provide storage, compute, and bandwidth resources to users and applications built on the network. Today there are no tokenized incentives for running Ceramic, but the community is exploring options. -### Scalability - -Ceramic's data network infrastructure is highly-scalable and can service use cases where high amounts of data throughput is needed. On Ceramic, every data object maintains its own state and nodes independently process stream transactions, allowing unbounded parallelization. This enables Ceramic to operate at worldwide data scale, which is orders of magnitude greater than the scale needed for decentralized finance. \ No newline at end of file diff --git a/docs/protocol/js-ceramic/overview.md b/docs/protocol/js-ceramic/overview.md index 23fec27b..57625b3c 100644 --- a/docs/protocol/js-ceramic/overview.md +++ b/docs/protocol/js-ceramic/overview.md @@ -16,3 +16,41 @@ The protocol doesn't prescribe how to interpret events found within streams; thi - [OrbisDB](https://useorbis.com/) - [ComposeDB](../../composedb/getting-started) + + + + +## Specification Status + +--- + +| Section | State | +| --- | --- | +| [1. Streams](../protocol/js-ceramic/streams/streams-index) | **[Draft/WIP](../protocol/js-ceramic/streams/streams-index)** | +| [1.1. Event Log](../protocol/js-ceramic/streams/event-log) | **[Reliable](../protocol/js-ceramic/streams/event-log)** | +| [1.2. URI Scheme](../protocol/js-ceramic/streams/uri-scheme) | **[Reliable](../protocol/js-ceramic/streams/uri-scheme)** | +| [1.3. Consensus](../protocol/js-ceramic/streams/consensus) | **[Draft/WIP](../protocol/js-ceramic/streams/consensus)** | +| [1.4. Lifecycle](../protocol/js-ceramic/streams/lifecycle) | **[Reliable](../protocol/js-ceramic/streams/lifecycle)** | +| [2. Accounts](../protocol/js-ceramic/accounts/accounts-index) | **[Draft/WIP](../protocol/js-ceramic/accounts/accounts-index)** | +| [2.1. Decentralized Identifiers](../protocol/js-ceramic/accounts/decentralized-identifiers) | **[Draft/WIP](../protocol/js-ceramic/accounts/decentralized-identifiers)** | +| [2.2. Authorizations](../protocol/js-ceramic/accounts/authorizations) | **[Reliable](../protocol/js-ceramic/accounts/authorizations)** | +| [2.3. Object-Capabilities](../protocol/js-ceramic/accounts/object-capabilities) | **[Draft/WIP](../protocol/js-ceramic/accounts/object-capabilities)** | +| [3. Networking](../protocol/js-ceramic/networking/networking-index) | **[Draft/WIP](../protocol/js-ceramic/networking/networking-index)** | +| [3.1. Tip Gossip](../protocol/js-ceramic/networking/tip-gossip) | **[Reliable](../protocol/js-ceramic/networking/tip-gossip)** | +| [3.2. Tip Queries](../protocol/js-ceramic/networking/tip-queries) | **[Reliable](../protocol/js-ceramic/networking/tip-queries)** | +| [3.3. Event Fetching](../protocol/js-ceramic/networking/event-fetching) | **[Reliable](../protocol/js-ceramic/networking/event-fetching)** | +| [3.4. Network Identifiers](../protocol/js-ceramic/networking/networks) | **[Reliable](../protocol/js-ceramic/networking/networks)** | +| [4. API](../protocol/js-ceramic/api) | **[Missing](../protocol/js-ceramic/api)** | +| [5. Nodes](../protocol/js-ceramic/nodes/overview) | **[Draft/WIP](../protocol/js-ceramic/nodes/overview)** | + +#### **Legend** + +| Spec state | Label | +| --- | --- | +| Unlikely to change in the foreseeable future. | **Stable** | +| All content is correct. Important details are covered. | **Reliable** | +| All content is correct. Details are being worked on. | **Draft/WIP** | +| Do not follow. Important things have changed. | **Incorrect** | +| No work has been done yet. | **Missing** | + + diff --git a/sidebars.ts b/sidebars.ts index fa299d2a..edbd556e 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -19,10 +19,6 @@ const sidebars: SidebarsConfig = { type: "category", collapsed: false, label: "Overview", - link: { - type: "doc", - id: "introduction/intro" - }, items: [ { type: "doc", id: "introduction/protocol-overview", label: "Ceramic Protocol" }, { type: "doc", id: "introduction/orbisdb-overview", label: "OrbisDB" },