This page describes the historical Celo Layer 1 blockchain. It is useful for understanding Celo’s history, but does not reflect the current state of the network. As of block height 31,056,500 (March 26, 2025, 3:00 AM UTC), Celo has transitioned to an Ethereum Layer 2.
Why run a Proxy?
Validator uptime is essential for the health of the Celo blockchain. To help with validator uptime, operators can use the proxy node, which will provide added security for the validator. It allows the validator to run within a private network, and to communicate to the rest of the Celo network via the proxy. Also, starting from the Celo client 1.2 release, we will support assigning multiple proxies per validator. This provides better uptime for the validator for the case of a proxy going down. Also, it will help with making each proxy enode URL less public by only sharing it with a subset of the other validators.The communication protocol between the validator and it’s proxies implemented in release 1.2 is NOT backwards compatible to the pre-1.2 protocol. So if the proxy or validator is being upgraded to 1.2, then both needs to be upgraded to that version. Note that validators and proxies using release 1.2 are still compatible with remote nodes.
RPC API
-
istanbul.addProxy(<proxy's internal enode URL>, <proxy's external enode URL>)
can be used on the validator to add a proxy to the validator’s proxy set -
istanbul.removeProxy(<proxy's internal enode URL>)
can be used on the validator to remove a proxy from the validator’s proxy set -
istanbul.proxies
can be used on the validator to list the validator’s proxy set -
istanbul.proxiedValidators
can be used on the proxies to list the proxied validators