Introducing, Clay

After more than a year of hard work, we're excited to officially unveil the Ceramic Clay Testnet. Starting today you can experiment, prototype, and develop applications on top of the Ceramic protocol.

To get started, try the demo app and jump into the docs.

What is Ceramic?

Ceramic is a public, permissionless, censorship-resistant network for managing mutable information on the open internet. Ceramic combines a stack of cutting-edge web3 technologies including IPFS, libp2p, blockchain, DIDs, and standards for authenticated (signed/encrypted) data to give developers the ability to build completely serverless applications using dynamic, verifiable, decentralized data.

Ceramic functions like a global-scale, permissionless NoSQL document datastore, but ensures strict ordering of document updates and data integrity without relying on database servers or trusted third-parties to perform mutations and transforms on content. Since Ceramic is built on a completely peer-to-peer network, all documents are openly discoverable and can be queried by any participant on the network or referenced in other documents.

Smart documents

In Ceramic all content is stored in smart documents, which are append-only IPFS logs where each commit (update) is signed by a decentralized identifier (DID) for verifiability and then subsequently anchored in a blockchain for consensus. Each smart document basically functions as its own independent doc-chain (a document blockchain). Here are some key features of smart documents:

  • Mutable content: Store information in collections of mutable documents like your favorite NoSQL document database.
  • Immutable identifiers: Every document gets a globally unique persistent identifier, called a DocID. This DocID will never change regardless of how many updates are made to the document.
  • Verifiable signatures: Every update to a document must be signed by the DID of its owner, providing verifiability to its content.
  • Schema-enforced content: Documents can have schemas which will be enforced by the protocol. This allows for data integrity and simple cross-platform interoperability.
  • Strict versioning: Every update made to a document is anchored in a blockchain, so its commits follow a strict order. This allows the protocol to guarantee the state of a document at every commit and allows its content to be auditable and trusted at all times.
  • Programmable logic: Define custom rules for state transitions to enforce who, how, and when your document is updated without centralized servers. Rules can react to direct events such as a signature from the owner, or indirect events such as an update in another document.
  • Configurable persistence: Nodes can back up documents to any centralized or decentralized data storage platform.

How'd we get here?

Clay is the result of the tireless commitment by many in the community to the mission of creating an open dataweb free of silos. Since we first debuted a proof of concept of the Ceramic protocol in early 2020, the Ceramic codebase has had 1300+ git commits, 650+ releases, and dozens of top-tier projects in the Web3 ecosystem have been hard at work testing integrations and providing us feedback along the way.

This release is the final major milestone on a long journey to launching the Ceramic Fire mainnet, which is slated for the end of Q1 or early Q2 2021. Want to start building on Ceramic today? Continue reading to dive into the specifics of what's possible on Clay.

What's new for Clay?

  • A live, fully-functioning public test network that simulates mainnet as closely as possible
  • Three JavaScript clients: Core client, HTTP client, and CLI
  • Loads of new protocol features, improvements, and performance optimizations
  • The final breaking API changes before mainnet 🤞
  • Document anchoring on Ethereum's Ropsten (EIP155:3) and Rinkeby (EIP155:4) testnets
  • A dedicated p2p gossip network using the libp2p topic /ceramic/testnet-clay
  • A new documentation site

Things to keep in mind

  • The Clay network is experimental and should only be used for prototyping, development, and testing purposes. It's great for getting your application ready for mainnet.
  • Documents created on Clay will not be portable to mainnet. These are separate networks, similar to Ethereum's testnets and mainnet.
  • Clay does not yet have a purely decentralized peer discovery mechanism for nodes, and instead uses a curated peerlist for node discovery. This is because the DHT functionality in js-libp2p is not yet sufficiently performant for production, however it will be ready by the time mainnet launches.
  • IDX is a protocol for cross-platform decentralized identity built on top of Ceramic. The IDX SDK is a useful tool for adding decentralized identity functionality to your already existing application, and is an easy entry point to get started with Ceramic. IDX runs on the Clay testnet and is currently in beta, so it has the same guarantees as Ceramic and will move to production when mainnet launches.
  • You may encounter a few bugs and/or performance issues. We've done our best to make things work as smoothly as possible, but this is still a testnet. Please report any issues by opening a ticket on Github so we can fix them as soon as possible.
  • We're always available in Discord to answer questions and help you out along the way. We're excited to see what you build on Ceramic!

Getting started

What's next?

After Clay, our efforts will be 100% focused on releasing mainnet as quickly and safely as possible. We're targeting the end of Q1 or early Q2 2021.

The Fire mainnet release will include additional performance optimizations, fully decentralized peer discovery, a new pubsub topic /ceramic/mainnet, document anchoring on the Ethereum mainnet (EIP155:1), network monitoring, public analytics, bug fixes, and more.

The community is also gearing up for mainnet with many announcements, launches, and partnerships to go live. We will be sharing more information on those as they are available.