Celo's ContractKit is a library to help developers and validators to interact with the Celo blockchain.
ContractKit supports the following functionality:
- Interact with json RPC API
- Send Transaction with celo's extra fields: (feeCurrency)
- Build apps to interact with governance and staking
[!TIP] You might not need the ContractKit. For new projects we recommened viem or web3 optionally with our celo plugin.
To install you will need Node.js v18.14.2. or greater. v20 reccomended.
npm install @celo/contractkit
// or
yarn add @celo/contractkit
To start working with contractkit you need a kit
instance:
import { newKit } from '@celo/contractkit' // or import { newKit } from '@celo/contractkit/lib/mini-kit'
const kit = newKit("https://alfajores-forno.celo-testnet.org")
const validatorsContractWrapper = await kit.contracts.getValidators()
const validatorGroups = await validatorsContractWrapper.getRegisteredValidatorGroups()
const lockedGoldContractWrapper = await kit.contracts.getLockedGold()
const accountAddress = kit.defaultAccount
const summary = lockedGoldContractWrapper.getAccountSummary(accountAddress!)
You can find more information about the ContractKit in the Celo docs at https://docs.celo.org/developer-guide/contractkit.
We are a GitHub-first team, which means we have a strong preference for communicating via GitHub. Please use GitHub to:
🧑💻 Contribute!
🚔 Report a security vulnerability
[!TIP]
Please avoid messaging us via Slack, Telegram, or email. We are more likely to respond to you on GitHub than if you message us anywhere else. We actively monitor GitHub, and will get back to you shortly 🌟
If you need to debug kit
, we use the well known debug node library.
So set the environment variable DEBUG
as:
DEBUG="kit:*,