Build, deploy, and iterate quickly on decentralized applications using Celo.
- Table of Contents
- About The Project
- Built With
- Prerequisites
- How to use Celo Composer
- Install Dependencies
- Deploy a Smart Contract
- Deploy Your Dapp Locally
- Add UI Components
- Deploy with Vercel
- Supported Frameworks
- Supported Templates
- Support
- Roadmap
- Contributing
- License
- Contact
Celo Composer allows you to quickly build, deploy, and iterate on decentralized applications using Celo. It provides a variety of frameworks, templates, deployment tools, UI components, and Celo-specific functionality to accelerate your dApp development.
This is an ideal lightweight starter-kit for hackathons and rapid prototyping on Celo.
Celo Composer is built on the Celo ecosystem and supports multiple frameworks and libraries:
Ensure you have the following installed:
- Node.js (v20 or higher)
- Git (v2.38 or higher)
The easiest way to start is by using the @celo/celo-composer
CLI tool. It helps bootstrap dApps with different templates.
Run the CLI tool and follow the interactive prompts:
npx @celo/celo-composer@latest create
For automation or CI/CD pipelines, you can also use inline commands with flags:
# Basic usage with all options
npx @celo/celo-composer@latest create --name my-celo-app --owner "John Doe" --hardhat --template Minipay
# Short flags version
npx @celo/celo-composer@latest create -n my-app -o "Jane Smith" --no-hardhat -t Valora
# Only specify some options (remaining will be prompted)
npx @celo/celo-composer@latest create --name my-project --hardhat
--name, -n
: Name of the project (will be converted to kebab-case)--owner, -o
: Project owner name--hardhat
: Include Hardhat in the project--no-hardhat
: Exclude Hardhat from the project--template, -t
: Template to use (Minipay
, orValora
)
- Enter a project name (or use
--name
flag) - Choose whether to use Hardhat (or use
--hardhat
/--no-hardhat
flags) - Select a template (or use
--template
flag) - Provide project owner details (or use
--owner
flag) - Wait for project creation to complete
- Follow the on-screen instructions to start your project
Once the project is set up, install dependencies:
yarn
# or
npm install
For detailed instructions, refer to packages/hardhat/README.md
.
Quick steps:
- Rename
packages/hardhat/.env.template
topackages/hardhat/.env
and add yourPRIVATE_KEY
. - Ensure your wallet has test funds from the Celo Faucet.
- Deploy the contract:
npx hardhat ignition deploy ./ignition/modules/Lock.ts --network alfajores
Before starting your project, follow these steps:
- Rename
.env.template
to.env
inpackages/react-app/
. - Add your WalletConnect Project ID from WalletConnect Cloud.
Start the local server:
yarn dev
# or
npm run dev
To keep Celo Composer lightweight, UI components are not pre-installed. You can easily add components using ShadCN. Refer to the UI Components Guide for details.
Deploying with Vercel is quick and easy. Follow our Deployment Guide for step-by-step instructions.
- Supports web and PWA applications
- Compatible with major crypto wallets
π Next.js Docs
- Powerful tool for smart contract development
- Works with various Ethereum dev tools
π Hardhat Docs
- Pre-configured for building a mini-payment dApp on Celo
π Minipay Docs
- Designed for easy Valora wallet integration
π Valora Docs
Join the Celo community on Discord:
π Celo Discord
π¬ Repo Support Channel
See the open issues for upcoming features and bug tracking.
We welcome community contributions!
Please refer to our contribution guidelines to get started.
Distributed under the MIT License. See LICENSE.txt
for details.
- Twitter: @CeloDevs
- Discord: Celo Developer Community