Skip to main content

Setup

ContractKit requirements, installation, and initialization.


Installation and System Requirements

To install, run the following:

npm install web3@1.10 @celo/contractkit

You will need Node.js v18.x.

Initializing the Kit

To start working with ContractKit you need a kit instance and a valid net to connect with. In this example will use alfajores (you can read more about it here)

import Web3 from "web3";
import { newKitFromWeb3 } from "@celo/contractkit";

const web3 = new Web3("https://alfajores-forno.celo-testnet.org");
const kit = newKitFromWeb3(web3);

Go to the page about Forno for details about different connection types and network endpoints.

Initialize the Kit with your own node

If you are hosting your own node (you can follow this guide to run one) you can connect our ContractKit to it.

import Web3 from "web3";
import { newKitFromWeb3 } from "@celo/contractkit";

// define localUrl and port with the ones for your node

const web3 = new Web3(`${localUrl}:${port}`);
const kit = newKitFromWeb3(web3);

Same as Web3 we support WebSockets, RPC and connecting via IPC. For this last one you will have to initialize the kit with an instances of Web3 that has a valid IPC Provider

import Web3 from "web3";
import { newKitFromWeb3 } from "@celo/contractkit";

const web3Instance: Web3 = new Web3(
new Web3.providers.IpcProvider("/Users/myuser/Library/CeloNode/geth.ipc", net)
);

const kit = newKitFromWeb3(web3Instance);