先决条件
所需工具
- Node.js 18+ - JavaScript 运行时
- pnpm(推荐)或 npm/yarn - 包管理器
- Git - 版本控制
- 带有基础 ETH 的钱包 - 用于部署和交易
快速开始选项
- 新项目
- 现有项目
- 演示应用
安装 SDK
复制
询问AI
pnpm add @b3dotfun/sdk
项目设置
复制
询问AI
# 创建新项目
mkdir my-bondkit-app
cd my-bondkit-app
pnpm init
# 安装依赖
pnpm add @b3dotfun/sdk typescript
pnpm add -D @types/node tsx
# 创建 TypeScript 配置
npx tsc --init
克隆演示应用程序
快速开始的最佳方式是使用我们的完整演示应用程序:复制
询问AI
# 克隆 B3 单体仓库
git clone https://github.com/b3dotfun/b3-monorepo.git
cd b3-monorepo
# 安装依赖
pnpm install
# 导航到 BondKit 演示
cd apps/bondkit-demo
# 设置环境
cp .env.example .env.local
# 使用您的配置编辑 .env.local
# 运行演示
pnpm dev
演示应用位于
apps/bondkit-demo/src/app/ 并包括:- 完整的代币部署流程
- 带有 TradingView 图表的交易界面
- 带有 B3 认证的钱包连接
- 实时价格和交易量跟踪
- 迁移管理界面
演示应用结构
复制
询问AI
apps/bondkit-demo/src/app/
├── page.tsx # 带有代币列表的着陆页
├── deploy/page.tsx # 代币部署界面
├── token/[address]/page.tsx # 单个代币交易页
├── providers.tsx # Web3 提供者设置
├── b3ProviderWrapper.tsx # B3 认证包装器
└── api/ # TradingView 数据端点
└── udf/ # 图表的通用数据源
环境配置
基本设置
在项目根目录下创建一个.env 文件:
复制
询问AI
# 服务器端操作所需
WALLET_PRIVATE_KEY=0x...
# 可选:自定义 RPC 端点(默认为公共)
RPC_URL=https://base-mainnet.g.alchemy.com/v2/YOUR_KEY
# 可选:API 配置
BONDKIT_API_ENDPOINT=https://api.b3.fun
安全最佳实践
永远不要将私钥提交到版本控制中!
- 将
.env添加到您的.gitignore - 在生产中使用环境变量
- 考虑使用密钥管理服务
- 为开发和生产使用不同的钱包
客户端初始化
基本设置
复制
询问AI
import { BondkitTokenFactory } from "@b3dotfun/sdk/bondkit";
import { base } from "viem/chains";
// 使用私钥的服务器端用途
const factory = new BondkitTokenFactory(
base.id,
process.env.WALLET_PRIVATE_KEY
);
// 使用钱包提供者的客户端用途
const clientFactory = new BondkitTokenFactory(base.id);
await clientFactory.connect(window.ethereum);
高级配置
复制
询问AI
import {
BondkitTokenFactory,
BondkitToken,
getConfig
} from "@b3dotfun/sdk/bondkit";
import { createWalletClient, custom } from "viem";
import { base } from "viem/chains";
// 自定义钱包客户端设置
const walletClient = createWalletClient({
chain: base,
transport: custom(window.ethereum)
});
// 使用自定义配置初始化
const config = getConfig(base.id);
const factory = new BondkitTokenFactory(base.id);
// 使用自定义钱包客户端连接
await factory.connect(walletClient.transport);
// 使用现有代币
const token = new BondkitToken(
"0x123...", // 代币地址
process.env.WALLET_PRIVATE_KEY
);
TypeScript 配置
推荐的tsconfig.json 配置,适用于 BondKit 项目:
复制
询问AI
{
"compilerOptions": {
"target": "ES2020",
"module": "ESNext",
"lib": ["ES2020", "DOM"],
"moduleResolution": "node",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"allowJs": true,
"noEmit": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
测试您的设置
创建测试文件test-bondkit.ts:
复制
询问AI
import { BondkitTokenFactory } from "@b3dotfun/sdk/bondkit";
import { base } from "viem/chains";
async function testConnection() {
try {
const factory = new BondkitTokenFactory(base.id);
const implementationAddress = await factory.getImplementationAddress();
console.log("✅ BondKit SDK 成功连接!");
console.log("实现地址:", implementationAddress);
} catch (error) {
console.error("❌ 连接失败:", error);
}
}
testConnection();
复制
询问AI
npx tsx test-bondkit.ts
下一步
故障排除
找不到模块错误
找不到模块错误
确保 SDK 已正确安装:如果使用 React 组件,您可能需要:
复制
询问AI
pnpm add @b3dotfun/sdk
复制
询问AI
pnpm add @wagmi/core @tanstack/react-query
TypeScript 错误
TypeScript 错误
将 TypeScript 更新到最新版本:
复制
询问AI
pnpm add -D typescript@latest @types/node@latest
连接问题
连接问题
- 验证您的 RPC 端点是否工作
- 检查钱包是否有足够的基础 ETH
- 确保私钥格式正确(带有 0x 前缀)
构建错误
构建错误
清除缓存并重新安装:
复制
询问AI
rm -rf node_modules .next
pnpm install
HypeDuel