包安装

使用您偏好的包管理器安装 CreateKit:
npm install @b3dotfun/basemint
CreateKit 使用 TypeScript 构建,并提供完整的类型定义。

依赖项

CreateKit 基于现代 web3 技术构建,需要以下 peer 依赖:
npm install viem @wagmi/core

环境设置

1. 配置链网络

CreateKit 为 B3 网络提供了预配置的链定义:
chains.ts
import { b3Mainnet, b3Testnet } from '@b3dotfun/basemint'

// B3 主网(生产)
console.log('链 ID:', b3Mainnet.id) // 8333
console.log('名称:', b3Mainnet.name)
console.log('RPC URL:', b3Mainnet.rpcUrls.default.http[0])

// B3 测试网(开发)
console.log('链 ID:', b3Testnet.id) // 1993
console.log('名称:', b3Testnet.name)
console.log('RPC URL:', b3Testnet.rpcUrls.default.http[0])

2. 初始化 Viem 客户端

为与区块链交互设置您的 viem 客户端:
client.ts
import { createPublicClient, createWalletClient, http } from 'viem'
import { privateKeyToAccount } from 'viem/accounts'
import { b3Testnet } from '@b3dotfun/basemint'

// 用于读取数据的公共客户端
export const publicClient = createPublicClient({
  chain: b3Testnet,
  transport: http()
})

// 用于交易的钱包客户端(服务器端使用)
export const walletClient = createWalletClient({
  chain: b3Testnet,
  transport: http(),
  account: privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`)
})

3. 环境变量

在项目根目录创建一个 .env 文件:
.env
# 签署交易所需
PRIVATE_KEY=0x...

# 可选:自定义 RPC 端点
B3_MAINNET_RPC=https://your-custom-rpc.com
B3_TESTNET_RPC=https://your-custom-testnet-rpc.com
永远不要将私钥提交到版本控制中。使用环境变量或安全的密钥管理解决方案。

框架集成

Next.js 设置

对于 Next.js 应用程序,创建配置文件:
lib/createkit.ts
import { createPublicClient, http } from 'viem'
import { b3Testnet } from '@b3dotfun/basemint'
import { 
  CollectionManager, 
  RewardTracker, 
  BaseMintStorage 
} from '@b3dotfun/basemint'

// 初始化客户端
export const publicClient = createPublicClient({
  chain: b3Testnet,
  transport: http()
})

// 初始化 CreateKit 管理器
export const collectionManager = new CollectionManager(publicClient)
export const rewardTracker = new RewardTracker(publicClient)
export const storage = new BaseMintStorage({
  baseUrl: 'https://api.basemint.fun'
})

React/Vite 设置

src/lib/createkit.ts
import { createPublicClient, http } from 'viem'
import { b3Testnet } from '@b3dotfun/basemint'
import { CollectionManager } from '@b3dotfun/basemint'

export const publicClient = createPublicClient({
  chain: b3Testnet,
  transport: http(import.meta.env.VITE_RPC_URL)
})

export const collectionManager = new CollectionManager(publicClient)

验证安装

使用简单脚本测试您的安装:
test-installation.ts
import { b3Testnet, CollectionManager } from '@b3dotfun/basemint'
import { createPublicClient, http } from 'viem'

async function testInstallation() {
  try {
    // 创建客户端
    const client = createPublicClient({
      chain: b3Testnet,
      transport: http()
    })

    // 初始化管理器
    const manager = new CollectionManager(client)
    
    // 测试连接
    const blockNumber = await client.getBlockNumber()
    console.log('✅ 成功连接到 B3 测试网')
    console.log(`📊 当前区块号: ${blockNumber}`)
    
    // 测试合约交互
    const factoryAddress = manager.getFactoryAddress()
    console.log(`🏭 工厂地址: ${factoryAddress}`)
    
    console.log('🎉 CreateKit 安装成功!')
  } catch (error) {
    console.error('❌ 安装测试失败:', error)
  }
}

testInstallation()
运行测试脚本:
npx tsx test-installation.ts

TypeScript 配置

确保您的 tsconfig.json 包含必要的配置:
tsconfig.json
{
  "compilerOptions": {
    "strict": true,
    "moduleResolution": "node",
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "target": "ES2020",
    "module": "ESNext",
    "lib": ["ES2020", "DOM"]
  }
}

下一步

现在您已经安装并配置了 CreateKit,您已准备好开始构建:

故障排除