Networks are collections of Ceramic nodes that share specific configurations and communicate over dedicated libp2p topics. Networks are discrete from one another. Streams that exist on one network are not discoverable on or portable to another.
Ceramic has three public networks that you can use when building applications: Mainnet, Clay Testnet, and Dev Unstable.
Mainnet is the main public network used for production deployments on Ceramic. Ceramic's mainnet nodes communicate over the dedicated
/ceramic/mainnet libp2p topic and use Ethereum's mainnet blockchain (
EIP155:1) for generating timestamps used in anchor commits for streams. Mainnet is currently running and anyone can openly query data from streams on mainnet. We are currently transitioning to a self-serve mainnet process by Dec 31, 2022 -- if you need access in the interim, reach out in the #share-your-project channel in Discord.
Clay Testnet is a public Ceramic network used by the community for application prototyping, development, and testing purposes. Ceramic core devs also use Clay for testing official protocol release candidates. While we aim to maintain a high level of quality on the Clay testnet that mirrors the expectations of Mainnet as closely as possible, ultimately the reliability, performance, and stability guarantees of the Clay network are lower than that of Mainnet. Because of this, the Clay network should not be used for applications in production. Clay nodes communicate over the dedicated
/ceramic/testnet-clay libp2p topic and use Gnosis chain for generating timestamps used in anchor commits for streams. Clay is openly available for anyone to use now.
Dev Unstable is a public Ceramic network used by Ceramic core protocol developers for testing new protocol features and the most recent commits on the develop branch of
js-ceramic. It should be considered unstable and highly experimental; only use this network if you want to test the most cutting edge features, but expect issues. Dev Unstable nodes communicate over the dedicated
/ceramic/dev-unstable libp2p topic and use Ethereum's Görli testnet blockchain for generating timestamps used in anchor commits for streams.
You can also prototype applications on Ceramic by running the protocol in a local environment completely disconnected from other public nodes.
Local is a private test network used for the local development of Ceramic applications. Nodes connected to the same local network communicate over a randomly-generated libp2p topic
/ceramic/local-$(randomNumber) and use a local Ethereum blockchain provided by Truffle's Ganache for generating timestamps used in anchor commits for streams.