From 3d564226c4a4939d612434cfd6eb86badca1fa4b Mon Sep 17 00:00:00 2001 From: Justina Petraityte Date: Mon, 2 Sep 2024 15:08:29 +0100 Subject: [PATCH 1/6] 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" }, From 1c0a54458bec48ea494eb4dd63dd7c09874246f7 Mon Sep 17 00:00:00 2001 From: Justina Petraityte Date: Mon, 2 Sep 2024 15:24:03 +0100 Subject: [PATCH 2/6] links and sidebars --- docs/protocol/js-ceramic/overview.md | 33 ---------------------------- docusaurus.config.ts | 2 +- sidebars.ts | 1 + 3 files changed, 2 insertions(+), 34 deletions(-) diff --git a/docs/protocol/js-ceramic/overview.md b/docs/protocol/js-ceramic/overview.md index 57625b3c..462517c3 100644 --- a/docs/protocol/js-ceramic/overview.md +++ b/docs/protocol/js-ceramic/overview.md @@ -20,37 +20,4 @@ The protocol doesn't prescribe how to interpret events found within streams; thi -## 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/docusaurus.config.ts b/docusaurus.config.ts index f4cfbf83..60e442a2 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -422,7 +422,7 @@ const config: Config = { }, items: [ { - to: "docs/introduction/intro", + to: "docs/introduction/why-ceramic", label: "Introduction" }, { diff --git a/sidebars.ts b/sidebars.ts index edbd556e..fdcdd224 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -17,6 +17,7 @@ const sidebars: SidebarsConfig = { { type: "doc", id: "introduction/why-ceramic", label: "Why Ceramic?" }, { type: "category", + collapsible: true, collapsed: false, label: "Overview", items: [ From d69871a00a40e74a87125bf010cd2e8a04afd22f Mon Sep 17 00:00:00 2001 From: Justina Petraityte Date: Mon, 2 Sep 2024 16:00:29 +0100 Subject: [PATCH 3/6] ecosystem update and cleanup --- docs/ecosystem/community.mdx | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/docs/ecosystem/community.mdx b/docs/ecosystem/community.mdx index 3e005e50..4d99d664 100644 --- a/docs/ecosystem/community.mdx +++ b/docs/ecosystem/community.mdx @@ -1,37 +1,25 @@ # Community -Explore the many ways to connect, learn, and participate in the ComposeDB community. +Explore the many ways to connect, learn, and participate in the Ceramic community. ## Chat and Discussion - **Forum** - Visit the [Ceramic Forum](https://forum.ceramic.network) to get help, ask questions, and discuss improvements. - **Discord** - Join the [Ceramic Discord](https://chat.ceramic.network) to join general discussions, share your projects, and meet your fellow community members. -- **Bounties** - Get paid for learning & building on Ceramic, in the [#bounties](https://discord.com/channels/682786569857662976/1040706471689732096/1040719165268426924) channel ## Social Media -- **Twitter** - Follow us on Twitter at [@ComposeDB](https://twitter.com/ceramicnetwork) for timely updates. +- **Twitter** - Follow us on Twitter at [@ceramicnetwork](https://twitter.com/ceramicnetwork) for timely updates. - **YouTube** - Subscribe to the [Ceramic YouTube](https://www.youtube.com/channel/UCgCLq5dx7sX-yUrrEbtYqVw) to watch talks, tutorials, events, and more. ## Resources - **Blog** - Read the [Ceramic Blog](https://blog.ceramic.network) to discover updates and educational content for developers. -- **Newsletter** - Subscribe to the [Ceramic Newsletter](https://blog.ceramic.network/#/portal/signup) to receive important announcements. - -## Events -- **Community Calls** -- **Calendar** +- **Newsletter** - Subscribe to the [Ceramic Newsletter](https://blog.ceramic.network/#/portal/signup) to receive timely updates and notifications about new content and tutorials. ## Ways to Contribute -### Ecosystem Grants -If you’re interested in a grant feel free to reach out in the #bounties channel. We welcome all submissions, but we’re especially looking for contributions in the following areas: - -- **Marketplace GUI:** Wouldn’t it be great if developers could access the composite marketplace with an app UI instead of a terminal? -- **Sample Apps & Models:** Inspire other developers by building sample apps & data models, like reputation credentials, social apps, or DAO tools. -- **Easy Node Setup:** Make it easy to deploy ComposeDB on a node - we wrote a [proof of concept](https://github.com/ceramicstudio/ceramic-infra-poc) you can build on. Bonus: Terraform templates for cloud providers like AWS, GCP, and DigitalOcean. -- **Config Script:** We’d love to make [Set up your environment](../composedb/set-up-your-environment) even easier. Want to create a lightning fast script? ### **Open source contributions** Contribute to the [ComposeDB repository](https://github.com/ceramicstudio/js-composedb): here are some packages to get started - [composedb/client](https://github.com/ceramicstudio/js-composedb/tree/main/packages/client) - [composedb/cli](https://github.com/ceramicstudio/js-composedb/tree/main/packages/cli) -We recommend getting in touch on the [#ComposeDB](https://discord.com/channels/682786569857662976/1045002408671068220) Discord channel before diving in. + ### **Project showcase** - Reach out on the Ceramic Discord channel [#share-your-project](https://discord.com/channels/682786569857662976/801569389044039710) to show off your project on Ceramic From d812b515233018213a069778dfd457b77a6c4add Mon Sep 17 00:00:00 2001 From: Justina Petraityte Date: Mon, 2 Sep 2024 16:42:48 +0100 Subject: [PATCH 4/6] small updates --- docs/composedb/getting-started.mdx | 14 -------------- docs/protocol/js-ceramic/overview.md | 2 +- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/docs/composedb/getting-started.mdx b/docs/composedb/getting-started.mdx index 95bb3564..68d6b2e9 100644 --- a/docs/composedb/getting-started.mdx +++ b/docs/composedb/getting-started.mdx @@ -1,11 +1,5 @@ # Getting Started -## What is Ceramic? - -Ceramic is a shared data network for managing verifiable data at scale, combining **the trust and composability of a blockchain** with **the flexibility of an event-driven architecture** to help organizations get more value from their data. - -Ceramic provides developers with a shared data network that offers verifiable trust and interoperability, allowing them to leverage reusable data models, collective network effects and modular applications so they can focus on building and growing their unique vision. - ## What is ComposeDB? ComposeDB is a composable graph database built on Ceramic, designed for Web3 applications. @@ -37,11 +31,3 @@ ComposeDB on Ceramic stores and manages data while delivering fast queries and a - [**Interact with data**](./interact-with-data) - Learn how to interact with data in ComposeDB, from creating, reading, updating, and deleting data to running complex queries. - [**Core ComposeDB concepts**](./core-concepts) - Learn about the core concepts of ComposeDB, such as composites, schemas, and queries. -## Join Ceramic Community 💜 - -Ceramic has a large and active community of developers. Here's how you can connect with us: - -- [**Forum**](https://forum.ceramic.network) - The best place to ask questions and to search for answers. -- [**Discord**](https://chat.ceramic.network) - Join the conversation with other developers and the Ceramic team. -- [**Twitter**](https://twitter.com/ceramicnetwork) - Follow us on Twitter for updates and announcements. -- [**GitHub**](https://github.com/ceramicnetwork/) - Check out the Ceramic GitHub organization to find all the repositories and projects. diff --git a/docs/protocol/js-ceramic/overview.md b/docs/protocol/js-ceramic/overview.md index 462517c3..824b3827 100644 --- a/docs/protocol/js-ceramic/overview.md +++ b/docs/protocol/js-ceramic/overview.md @@ -13,7 +13,7 @@ The latest release of Ceramic has introduced a new Rust-based implementation of The protocol doesn't prescribe how to interpret events found within streams; this is left to the applications consuming the streams. Some examples of this type of application are: -- [OrbisDB](https://useorbis.com/) +- [OrbisDB](../../orbisdb/overview.md) - [ComposeDB](../../composedb/getting-started) From 15c7637f69b60bc6616ea21d63e6ffb1e712e681 Mon Sep 17 00:00:00 2001 From: Justina Petraityte Date: Mon, 2 Sep 2024 18:26:58 +0100 Subject: [PATCH 5/6] update the quickstart guide --- docs/composedb/set-up-your-environment.mdx | 16 +++++++++------- docs/wheel/wheel-reference.mdx | 8 ++++---- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/docs/composedb/set-up-your-environment.mdx b/docs/composedb/set-up-your-environment.mdx index 3444382c..96047ec6 100644 --- a/docs/composedb/set-up-your-environment.mdx +++ b/docs/composedb/set-up-your-environment.mdx @@ -15,15 +15,9 @@ By the end of this guide you'll have a good understanding of how to get started ## 2. Installation -There are a few ways to set up your environment. Choose the one that best fits your needs: - -- [Using `create-ceramic-app`](#installation-using-create-ceramic-app) - get up and running quickly with a basic ComposeDB application with one command. Good for the first quick experience with Ceramic and ComposeDB. -- [Using the Wheel](#installation-using-wheel) - the recommended and the easiest way to configure your full working environment and install the necessary dependencies. -- [Using JavaScript package managers](#installation-using-javascript-package-managers) - an alternative, more manual, way to configure your working environment which supports `npm`, `pnpm` and `yarn`. - **Install and start the `ceramic-one` binary** -All of the configuration options listed above **require a `ceramic-one` binary up and running**, which provides a data network access. You can run `ceramic-one` on your +All of the ComposeDB configuration options listed below **require a `ceramic-one` binary up and running**, which provides a data network access. You can run `ceramic-one` on your local machine using two simple steps listed below. :::note @@ -59,6 +53,14 @@ ceramic-one daemon --store-dir ~/.ceramic-one --p2p-key-dir ~/.ceramic-one With `ceramic-one` binary up and running you can move on with the ComposeDB installation and configuration method of your choice. +**Install ComposeDB** + +There are a few ways to set up your environment to run ComposeDB. Choose the one that best fits your needs: + +- [Using `create-ceramic-app`](#installation-using-create-ceramic-app) - get up and running quickly with a basic ComposeDB application with one command. Good for the first quick experience with Ceramic and ComposeDB. +- [Using the Wheel](#installation-using-wheel) - the recommended and the easiest way to configure your full working environment and install the necessary dependencies. +- [Using JavaScript package managers](#installation-using-javascript-package-managers) - an alternative, more manual, way to configure your working environment which supports `npm`, `pnpm` and `yarn`. + --- diff --git a/docs/wheel/wheel-reference.mdx b/docs/wheel/wheel-reference.mdx index 3e01390b..20071fcf 100644 --- a/docs/wheel/wheel-reference.mdx +++ b/docs/wheel/wheel-reference.mdx @@ -108,13 +108,13 @@ An option to start your Ceramic daemon which will spin up the node using the Cer This section dives deeper into the Ceramic parameters you can configure when you choose `Advanced: Configure all ceramic options` option in your wheel prompt. -### Bundled or Remote IPFS +### Remote or Bundlesd IPFS An option to define if IFPS runs in the same compute process as Ceramic. You have two options to choose from: -- Bundled - IPFS running in same compute process as Ceramic; recommended for early prototyping. -- Remote - IPFS running in separate compute process; recommended for production and everything besides early prototyping. - This assumes that you have the IPFS process setup and can provide an IPFS Hostname. +- Remote - IPFS running in separate compute process; recommended for all Ceramic versions that use `ceramic-one`. This configuration requires an IPFS Hostname. Default value is `http://localhost:5101` +- Bundled - IPFS running in same compute process as Ceramic; used only with older Ceramic versions that use Kubo. + ### State Store From fdc2d9b95a150dd3dbb38e41603fae27775ae242 Mon Sep 17 00:00:00 2001 From: Justina Petraityte Date: Fri, 6 Sep 2024 13:00:54 +0100 Subject: [PATCH 6/6] staging updates --- docs/composedb/create-ceramic-app.mdx | 31 +++++++++++++++++++++++ docs/introduction/composedb-overview.md | 5 +--- docs/introduction/orbisdb-overview.md | 6 ++--- docs/orbisdb/orbisdb-sdk.md | 2 +- docs/orbisdb/overview.md | 2 +- src/components/homepage/get-started.js | 2 +- src/components/homepage/start-building.js | 4 +-- src/pages/index.js | 6 ++--- 8 files changed, 43 insertions(+), 15 deletions(-) diff --git a/docs/composedb/create-ceramic-app.mdx b/docs/composedb/create-ceramic-app.mdx index 090b4ff3..440979af 100644 --- a/docs/composedb/create-ceramic-app.mdx +++ b/docs/composedb/create-ceramic-app.mdx @@ -5,12 +5,43 @@ import TabItem from "@theme/TabItem"; Get up and running quickly with a basic ComposeDB application with one command. +--- + **Prerequisites** - Operating system: **Linux, Mac, or Windows** (only [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install)) - **Node.js v20** - If you are using a different version, please use `nvm` to install Node.js v20 for best results. - **npm v10** - Installed automatically with NodeJS v20 +You will also need to run a ceramic-one node in the background which provides Ceramic +data network access. To set it up, follow the steps below: + +:::note +The instructions below cover the steps for the MacOS-based systems. If you are running on a Linux-based system, you can find the +instructions [here](https://github.com/ceramicnetwork/rust-ceramic?tab=readme-ov-file#linux---debian-based-distributions). +::: + +1. Install the component using [Homebrew](https://brew.sh/): + +```bash +brew install ceramicnetwork/tap/ceramic-one +``` + +2. Start the `ceramic-one` using the following command: +```bash +ceramic-one daemon --network in-memory +``` + +:::note +By default, the command above will spin off a node which connects to a `in-memory`. You can change this behaviour by providing a `--network` flag and specifying a network of your choice. For example: + +```ceramic-one daemon --network testnet-clay``` +::: + +--- + +## Start the ComposeDB example app + You can easily create a simple ComposeDB starter project by using our CLI and running the following command: -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. +OrbisDB comes with with a shared instance called [Orbis Studio](https://studio.useorbis.com/), 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! +Learn more about OrbisDB and start building today! diff --git a/docs/orbisdb/orbisdb-sdk.md b/docs/orbisdb/orbisdb-sdk.md index 7b8cc664..d0ef315c 100644 --- a/docs/orbisdb/orbisdb-sdk.md +++ b/docs/orbisdb/orbisdb-sdk.md @@ -4,5 +4,5 @@ OrbisDB comes with an [OrbisDB SDK](https://github.com/OrbisWeb3/db-sdk) which m OrbisDB SDK is a client-side complement to OrbisDB - a decentralized database built on top of Ceramic. It enables simple user authentication and provides necessary methods to manipulate the data. -Head to the [OrbisDB SDK Github repository](https://github.com/OrbisWeb3/db-sdk) to start interacting with OrbisDB SDK. +Head to the [Orbis documentation](https://github.com/OrbisWeb3/db-sdk) to learn more and start interacting with OrbisDB SDK. diff --git a/docs/orbisdb/overview.md b/docs/orbisdb/overview.md index 41623b3b..6ed39335 100644 --- a/docs/orbisdb/overview.md +++ b/docs/orbisdb/overview.md @@ -4,7 +4,7 @@ ### How to get started? -OrbisDB comes with an easy-to-use shared instance called [Orbis Studio](https://app.formo.so/orbisdb-access-hJ5VGyugmGigyVFyqdHJa) which provides developers with a user-friendly interface to start interacting with data stored on Ceramic and use a library of available plugins right away without worrying about managing the backend requirements. [**Get access to Orbis Studio in closed beta and start building using OrbisDB**](https://app.formo.so/orbisdb-access-hJ5VGyugmGigyVFyqdHJa). +OrbisDB comes with an easy-to-use shared instance called [Orbis Studio](https://studio.useorbis.com/) which provides developers with a user-friendly interface to start interacting with data stored on Ceramic and use a library of available plugins right away without worrying about managing the backend requirements. diff --git a/src/components/homepage/get-started.js b/src/components/homepage/get-started.js index 802720af..cbe1ed4a 100644 --- a/src/components/homepage/get-started.js +++ b/src/components/homepage/get-started.js @@ -13,7 +13,7 @@ const FeatureList = [ ] }, { - title: "ComposeDB Sandbox →", + title: "Sandbox →", items: [ { url: "docs/composedb/sandbox", diff --git a/src/components/homepage/start-building.js b/src/components/homepage/start-building.js index 4314dbf9..fea91759 100644 --- a/src/components/homepage/start-building.js +++ b/src/components/homepage/start-building.js @@ -22,9 +22,9 @@ const FeatureList = [ ] }, { - title: "ComposeDB →", + title: "Interact with Event Store SDK →", items: [ - { url: "docs/composedb/getting-started", text: "Build composable dApps using a decentralised graph database." } + { url: "docs/composedb/getting-started", text: "Interact with Event Store's primitive APIs" } ] } ]; diff --git a/src/pages/index.js b/src/pages/index.js index d2aea54b..68bae87c 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -65,9 +65,9 @@ export default function Home() { background: "linear-gradient(215deg, #660094 -33%, var(--box-color) 50%)" }} > -

Build with ComposeDB

+

Run nodes and explore the Ceramic protocol specificiation

- A decentralized, composable graph database to build interoperable applications on Ceramic. + Ceramic protocol specifications and APIs for creting streams, producting and cosuming events from streans and aggregating the stream state.