한국어
프로젝트에 CreateKit (BaseMint SDK) 설치 및 설정하기
npm install @b3dotfun/basemint
npm install viem @wagmi/core
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])
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}`) })
.env
# 거래 서명에 필요 PRIVATE_KEY=0x... # 선택사항: 사용자 정의 RPC 엔드포인트 B3_MAINNET_RPC=https://your-custom-rpc.com B3_TESTNET_RPC=https://your-custom-testnet-rpc.com
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' })
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)
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
tsconfig.json
{ "compilerOptions": { "strict": true, "moduleResolution": "node", "allowSyntheticDefaultImports": true, "esModuleInterop": true, "skipLibCheck": true, "target": "ES2020", "module": "ESNext", "lib": ["ES2020", "DOM"] } }
모듈을 찾을 수 없는 오류
TypeScript 오류
skipLibCheck
네트워크 연결 문제
개인 키 형식 오류