Skip to content
CeloHT edited this page Jul 31, 2026 · 1 revision

SDK

The CeloHT Software Development Kit (SDK) enables developers to build applications that integrate with the CeloHT ecosystem.

Status: Planned

The SDK will provide simple, secure, and well-documented interfaces for interacting with CeloHT services and smart contracts.


Goals

The CeloHT SDK is designed to:

  • Simplify blockchain integration
  • Reduce development time
  • Encourage community contributions
  • Provide a consistent developer experience
  • Support multiple programming languages

Supported Languages

Planned SDKs include:

  • JavaScript
  • TypeScript
  • Python
  • Dart
  • Go
  • Rust

Installation

JavaScript

npm install @celoht/sdk

TypeScript

pnpm add @celoht/sdk

Python

pip install celoht-sdk

Initialization

import { CeloHT } from "@celoht/sdk";

const celoht = new CeloHT({
  network: "alfajores"
});

Configuration

Example:

const celoht = new CeloHT({
  rpcUrl: "https://alfajores-forno.celo-testnet.com",
  network: "alfajores"
});

Wallet Connection

await celoht.wallet.connect();

Supported wallets:

  • Valora
  • MetaMask
  • WalletConnect-compatible wallets

Education Module

Retrieve available courses:

const courses = await celoht.education.getCourses();

Retrieve certificates:

const certificates = await celoht.education.getCertificates();

Agent Network

Retrieve verified agents:

const agents = await celoht.agents.list();

Get agent details:

const agent = await celoht.agents.get(agentId);

Reforestation

Retrieve campaigns:

const campaigns = await celoht.reforestation.list();

Campaign details:

const campaign = await celoht.reforestation.get(campaignId);

Governance

Retrieve proposals:

const proposals = await celoht.governance.list();

Vote on a proposal:

await celoht.governance.vote(proposalId, true);

Treasury

Retrieve treasury information:

const treasury = await celoht.treasury.stats();

Blockchain Utilities

Current block:

const block = await celoht.network.blockNumber();

Current network:

const network = await celoht.network.info();

Error Handling

Example:

try {
    await celoht.wallet.connect();
} catch (error) {
    console.error(error.message);
}

Events

Example:

celoht.on("walletConnected", (wallet) => {
    console.log(wallet.address);
});

TypeScript Support

The SDK includes:

  • Full type definitions
  • IntelliSense support
  • Auto-completion
  • Strict typing

Versioning

The SDK follows Semantic Versioning.

Examples:

  • 1.0.0
  • 1.1.0
  • 2.0.0

Best Practices

Developers should:

  • Keep SDK dependencies updated.
  • Validate all user input.
  • Never expose private keys.
  • Handle errors gracefully.
  • Follow the principle of least privilege.
  • Test applications before deploying to production.

Roadmap

Future SDK features include:

  • React Hooks
  • React Native support
  • Flutter package
  • Vue integration
  • Angular integration
  • CLI tools
  • AI developer assistant
  • Offline support

Contributing

Developers are encouraged to:

  • Report bugs
  • Improve documentation
  • Submit pull requests
  • Suggest new features
  • Help translate documentation

See CONTRIBUTING.md for contribution guidelines.


License

The CeloHT SDK is open source and distributed under the project's official license.

Welcome to the official CeloHT documentation. This knowledge base provides comprehensive documentation for users, developers, contributors, partners, researchers, and ecosystem participants. Explore architecture, APIs, smart contracts, developer guides, governance, security, educational resources, roadmap, transparency reports, and community initiatives. Built with openness, collaboration, and long-term sustainability in mind, the CeloHT documentation follows international open-source documentation standards to make learning, building, and contributing accessible to everyone.

Clone this wiki locally