SuperAPI AI 工具集

celo-composer

前端与建站

查看项目

更新于 10-16 07:50

技能介绍

用途

Celo Composer 用于通过预配置模板快速搭建 Celo dApp。适用场景包括:启动新的 Celo 项目、创建 MiniPay 小程序、设置 Farcaster Miniapp,以及需要预配置的 Next.js + Web3 开发环境时。

主要能力

模板

模板 说明 使用场景
basic 标准 Next.js 14+ dApp 通用 Web3 应用
minipay 移动优先的 MiniPay 应用 MiniPay 小程序
farcaster-miniapp Farcaster SDK + Frame Farcaster 集成
ai-chat 独立聊天应用 AI 驱动的 dApp

配置选项

钱包提供方:

提供方 说明
rainbowkit 常用的钱包连接 UI(默认)
thirdweb thirdweb Connect SDK
none 不使用钱包提供方

智能合约:

选项 说明
hardhat Hardhat 开发环境(默认)
foundry Foundry 开发环境
none 不使用智能合约

使用方式

快速开始

交互模式:

npx @celo/celo-composer@latest create

按提示选择选项。

指定项目名称:

npx @celo/celo-composer@latest create my-celo-app

非交互模式(通过标志参数):

npx @celo/celo-composer@latest create my-celo-app \
  --template basic \
  --wallet-provider rainbowkit \
  --contracts hardhat

使用默认配置快速开始:

npx @celo/celo-composer@latest create my-celo-app --yes

创建 MiniPay 应用:

npx @celo/celo-composer@latest create -t minipay

创建 Farcaster Miniapp:

npx @celo/celo-composer@latest create -t farcaster-miniapp

项目结构

my-celo-app/
├── apps/
│   ├── web/              # Next.js application
│   │   ├── app/          # App router pages
│   │   ├── components/   # React components
│   │   └── ...
│   └── contracts/        # Smart contracts (if selected)
│       ├── contracts/    # Solidity files
│       ├── scripts/      # Deployment scripts
│       └── test/         # Contract tests
├── packages/
│   ├── ui/               # Shared UI components
│   └── utils/            # Shared utilities
├── pnpm-workspace.yaml   # Workspace configuration
├── turbo.json            # Turborepo configuration
└── package.json

运行项目

cd my-celo-app

# Install dependencies
pnpm install

# Start development server
pnpm dev

# Build for production
pnpm build

使用合约

如果选择了 Hardhat 或 Foundry:

Hardhat:

# Navigate to contracts
cd apps/contracts

# Compile
npx hardhat compile

# Test
npx hardhat test

# Deploy to Celo Sepolia
npx hardhat run scripts/deploy.ts --network celoSepolia

Foundry:

# Navigate to contracts
cd apps/contracts

# Build
forge build

# Test
forge test

# Deploy to Celo Sepolia
forge script script/Deploy.s.sol --rpc-url https://forno.celo-sepolia.celo-testnet.org --broadcast

环境变量

在 apps/web/ 中创建 .env.local:

# Required for wallet connection
NEXT_PUBLIC_WC_PROJECT_ID=your_walletconnect_project_id

# Optional: Alchemy API key
NEXT_PUBLIC_ALCHEMY_API_KEY=your_alchemy_key

在 apps/contracts/ 中创建 .env:

PRIVATE_KEY=your_private_key
CELOSCAN_API_KEY=your_celoscan_api_key

自定义

添加新页面,在 apps/web/app/ 中创建文件:

// apps/web/app/my-page/page.tsx
export default function MyPage() {
  return <div>My Custom Page</div>;
}

添加组件,放到 apps/web/components/ 或共享的 packages/ui/:

// apps/web/components/MyComponent.tsx
export function MyComponent() {
  return <div>My Component</div>;
}

技术栈

  • 框架:Next.js 14+ 配合 App Router
  • 样式:Tailwind CSS
  • 组件:shadcn/ui
  • Monorepo:Turborepo + PNPM workspaces
  • 语言:TypeScript
  • Web3:viem + wagmi(或 thirdweb)

要求

  • Node.js 18.0.0 或更高版本
  • PNPM(推荐)或 npm/yarn

其他资源

  • templates.md - 详细的模板文档

限制

关于收费、价格、平台支持范围等信息,资料中暂未提供。