Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Language and DX updates #106

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions docs/composedb/create-ceramic-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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:

<Tabs
Expand Down
14 changes: 0 additions & 14 deletions docs/composedb/getting-started.mdx
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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.
6 changes: 0 additions & 6 deletions docs/composedb/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
16 changes: 9 additions & 7 deletions docs/composedb/set-up-your-environment.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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`.


---

Expand Down
20 changes: 4 additions & 16 deletions docs/ecosystem/community.mdx
Original file line number Diff line number Diff line change
@@ -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
Expand Down
31 changes: 12 additions & 19 deletions docs/introduction/composedb-overview.md
Original file line number Diff line number Diff line change
@@ -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.
<p align="center">
<img src="/img/intro-dataverse.png" alt="Introduction" width="500"/>
</p>

### 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?

Expand All @@ -20,18 +15,23 @@ 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?
Currently, ComposeDB is in `Beta`. What does this mean?

- You can now build and deploy apps to production on mainnet!
- Core features like GraphQL APIs, reusable models, and data composability are available
- 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/), 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.

---


Expand All @@ -43,10 +43,3 @@ Test example queries to ComposeDB directly in your browser.

### [Development Guides →](../composedb/guides)
Learn about data modeling, application set up, and data interactions.
<!-- Server Config-->

### [Core concepts →](../composedb/core-concepts)
Dive deeper into the ComposeDB protocol and its components.

### [Community →](../ecosystem/community)
Connect with the ComposeDB developer community.
3 changes: 2 additions & 1 deletion docs/introduction/did-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
9 changes: 7 additions & 2 deletions docs/introduction/orbisdb-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,13 @@

OrbisDB is a simple and efficient gateway for storing and managing open data on Ceramic.

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 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 other existing database products like [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!
<div align="center"><iframe width="660" height="415" src="https://www.youtube.com/embed/gxHphFzkV3k" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>


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.

Learn more about OrbisDB and start building today!


Loading
Loading