As of block height 31,056,500 (March 26, 2025, 3:00 AM UTC), Celo is no longer a standalone Layer 1 blockchainโit is now an Ethereum Layer 2!
Some documentation may be outdated as updates are in progress. If you encounter issues, please file a bug report.For the most up-to-date information, refer to our Celo L2 documentation.
Accessing the chain
There are a myriad of ways through which you can access chain data:Running your own node
To be completely independent and have a reliable view into the latest chain data, you will likely want to run your own node(s). You can just clonecelo-blockchain
and then run make geth
to receive the binary.
By default, geth
will use /root/.celo
as the data dir, if you would like to change that specify the --datadir
argument.
This is all you should need to connect to a network:
For Mainnet:
Forno
Forno is a hosted node service for interacting with the Celo network. This allow the user to get connected to the Celo Blockchain without having to run its own node. Can be used as anHttp Provider
with ContractKit
As Forno is a public node you will have to sign transactions locally because with your own private key, because Forno doesnโt store them. But donโt worry, the ContractKit
will handle this for you.
Forno networks:
Blockscout
We also expose data on the cLabs run blockscout instance. Blockscout itself exposes an API.Signing Transactions
Compared to Ethereum transactions, Celo transactions have an additional optional field:feeCurrency
- Specifies the address of the currency in which fees should be paid. Ifnull
, the native tokenCELO
is assumed.
- Use the JSON-RPC
sendTransaction
method to your node which would have the account in question unlocked. (Either manually or via a library such asweb3
) - Use ContractKitโs local signing feature.