Celo's ContractKit to interact with Celo network
npm install @celo/contractkitCelo'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.
``bash`
npm install @celo/contractkit
// or
yarn add @celo/contractkit
To start working with contractkit you need a kit instance:
`ts
import { newKit } from '@celo/contractkit' // or import { newKit } from '@celo/contractkit/lib/mini-kit'
const kit = newKit("https://forno.celo-sepolia.celo-testnet.org")
`
#### List Registered ValidatorGroups
`ts
const validatorsContractWrapper = await kit.contracts.getValidators()
const validatorGroups = await validatorsContractWrapper.getRegisteredValidatorGroups()
`
`ts
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:
š File a bug report
š¬ Ask a question
š§āš» 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:
`bash``
DEBUG="kit:*,