@celo/contractkit
TypeScript icon, indicating that this package has built-in type declarations

9.2.1 • Public • Published

ContractKit

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

User Guide

[!TIP] You might not need the ContractKit. For new projects we recommened viem or web3 optionally with our celo plugin.

Getting Started

To install you will need Node.js v18.14.2. or greater. v20 reccomended.

npm install @celo/contractkit
// or
yarn add @celo/contractkit

Examples

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")

List Registered ValidatorGroups

const validatorsContractWrapper = await kit.contracts.getValidators()
const validatorGroups = await validatorsContractWrapper.getRegisteredValidatorGroups()

Show locked Celo balance for account

const lockedGoldContractWrapper = await kit.contracts.getLockedGold()

const accountAddress = kit.defaultAccount 
const summary = lockedGoldContractWrapper.getAccountSummary(accountAddress!)

More Information

You can find more information about the ContractKit in the Celo docs at https://docs.celo.org/developer-guide/contractkit.

How we work

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

Suggest a feature

🧑‍💻 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 🌟

Debugging

If you need to debug kit, we use the well known debug node library.

So set the environment variable DEBUG as:

DEBUG="kit:*,

Package Sidebar

Install

npm i @celo/contractkit

Weekly Downloads

30,426

Version

9.2.1

License

Apache-2.0

Unpacked Size

601 kB

Total Files

106

Last publish

Collaborators

  • app-tooling
  • mcortesi
  • aaron-clabs
  • nicolasbrugneaux
  • pputman684