cp-chain

module
v0.0.0-...-6179749 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2025 License: MIT

README



CpChain

CpChain is Ethereum, scaled.


Table of Contents

What is CpChain?

CpChain is a project dedicated to scaling Ethereum's technology and expanding its ability to coordinate people from across the world to build effective decentralized economies and governance systems. The CpChain Collective builds open-source software that powers scalable blockchains and aims to address key governance and economic challenges in the wider Ethereum ecosystem. CpChain operates on the principle of impact=profit, the idea that individuals who positively impact the Collective should be proportionally rewarded with profit. Change the incentives and you change the world.

Documentation

Specification

Detailed specifications for the CpChain can be found within the CpChain Specs repository.

Community

General discussion happens most frequently on the CpChain discord. Governance discussion can also be found on the CpChain Governance Forum.

Contributing

The CpChain is a collaborative project. By collaborating on free, open software and shared standards, the CpChain Collective aims to prevent siloed software development and rapidly accelerate the development of the Ethereum ecosystem. Come contribute, build the future, and redefine power, together.

CONTRIBUTING.md contains a detailed explanation of the contributing process for this repository. Make sure to use the Developer Quick Start to properly set up your development environment.

Good First Issues are a great place to look for tasks to tackle if you're not sure where to start, and see CONTRIBUTING.md for info on larger projects.

Security Policy and Vulnerability Reporting

Please refer to the canonical Security Policy document for detailed information about how to report vulnerabilities in this codebase. Bounty hunters are encouraged to check out the CpChain Immunefi bug bounty program.

Directory Structure

├── docs: A collection of documents including audits and post-mortems
├── cp-chain-ops: State surgery utilities
├── cp-node: consensus-layer of CpChain
├── cp-service: Common codebase utilities
├── ops: Various operational packages
├── packages
│   ├── contracts-cpchain: CpChain smart contracts

Development and Release Process

Overview

Please read this section carefully if you're planning to fork or make frequent PRs into this repository.

Production Releases

TBD

Development branch

TBD

License

All other files within this repository are licensed under the MIT License unless stated otherwise.

Directories

Path Synopsis
common
cp-deployer
cmd/cp-deployer command
cmd command
metrics
Package metrics provides a set of metrics for the cp-node.
Package metrics provides a set of metrics for the cp-node.
p2p
rollup/derive
Package derive provides the data transformation functions that take L1 data and turn it into core blocks and results.
Package derive provides the data transformation functions that take L1 data and turn it into core blocks and results.
rollup/sync
Package sync is responsible for reconciling L1 and core.
Package sync is responsible for reconciling L1 and core.
cp-program
client/cmd command
host/cmd command
apis
Package apis provides Go interfaces for most RPC / HTTP APIs used in the OP-Stack.
Package apis provides Go interfaces for most RPC / HTTP APIs used in the OP-Stack.
clock
Package clock provides an abstraction for time to enable testing of functionality that uses time as an input.
Package clock provides an abstraction for time to enable testing of functionality that uses time as an input.
ctxinterrupt
Implements interrupts: events that normally signal intent to cancel a Context, but may be repeated to encourage closure of new Contexts used to clean up resources.
Implements interrupts: events that normally signal intent to cancel a Context, but may be repeated to encourage closure of new Contexts used to clean up resources.
eth
log
rpc
sources
Package sources exports a number of clients used to access ethereum chain data.
Package sources exports a number of clients used to access ethereum chain data.
testlog
Package testlog provides a log handler for unit tests.
Package testlog provides a log handler for unit tests.
tls
This file contains CLI and env TLS configurations that can be used by clients or servers
This file contains CLI and env TLS configurations that can be used by clients or servers
tls/certman
Package certman provides live reloading of the certificate and key files used by the standard library http.Server.
Package certman provides live reloading of the certificate and key files used by the standard library http.Server.
cp-supervisor
cmd command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL