Instalación del Paquete
Instala CreateKit usando tu gestor de paquetes preferido:
npm install @b3dotfun/basemint
CreateKit está construido con TypeScript y proporciona definiciones de tipo completas de forma predeterminada.
Dependencias
CreateKit se construye sobre tecnologías web3 modernas y requiere las siguientes dependencias de pares:
npm install viem @wagmi/core
Configuración del Entorno
1. Configurar Redes de Cadena
CreateKit proporciona definiciones de cadena pre-configuradas para redes B3:
import { b3Mainnet , b3Testnet } from '@b3dotfun/basemint'
// B3 Mainnet (Producción)
console . log ( 'ID de cadena:' , b3Mainnet . id ) // 8333
console . log ( 'Nombre:' , b3Mainnet . name )
console . log ( 'URL de RPC:' , b3Mainnet . rpcUrls . default . http [ 0 ])
// B3 Testnet (Desarrollo)
console . log ( 'ID de cadena:' , b3Testnet . id ) // 1993
console . log ( 'Nombre:' , b3Testnet . name )
console . log ( 'URL de RPC:' , b3Testnet . rpcUrls . default . http [ 0 ])
2. Inicializar Cliente Viem
Configura tu cliente viem para interactuar con la blockchain:
import { createPublicClient , createWalletClient , http } from 'viem'
import { privateKeyToAccount } from 'viem/accounts'
import { b3Testnet } from '@b3dotfun/basemint'
// Cliente público para leer datos
export const publicClient = createPublicClient ({
chain: b3Testnet ,
transport: http ()
})
// Cliente de billetera para transacciones (para uso del lado del servidor)
export const walletClient = createWalletClient ({
chain: b3Testnet ,
transport: http (),
account: privateKeyToAccount ( process . env . PRIVATE_KEY as `0x ${ string } ` )
})
3. Variables de Entorno
Crea un archivo .env
en la raíz de tu proyecto:
# Necesario para firmar transacciones
PRIVATE_KEY = 0x...
# Opcional: Puntos finales RPC personalizados
B3_MAINNET_RPC = https://your-custom-rpc.com
B3_TESTNET_RPC = https://your-custom-testnet-rpc.com
Nunca comprometas claves privadas al control de versiones. Usa variables de entorno o soluciones seguras de gestión de claves.
Integración con Frameworks
Configuración de Next.js
Para aplicaciones Next.js, crea un archivo de configuración:
import { createPublicClient , http } from 'viem'
import { b3Testnet } from '@b3dotfun/basemint'
import {
CollectionManager ,
RewardTracker ,
BaseMintStorage
} from '@b3dotfun/basemint'
// Inicializar clientes
export const publicClient = createPublicClient ({
chain: b3Testnet ,
transport: http ()
})
// Inicializar gestores de CreateKit
export const collectionManager = new CollectionManager ( publicClient )
export const rewardTracker = new RewardTracker ( publicClient )
export const storage = new BaseMintStorage ({
baseUrl: 'https://api.basemint.fun'
})
Configuración de React/Vite
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 )
Verificar Instalación
Prueba tu instalación con un script simple:
import { b3Testnet , CollectionManager } from '@b3dotfun/basemint'
import { createPublicClient , http } from 'viem'
async function testInstallation () {
try {
// Crear cliente
const client = createPublicClient ({
chain: b3Testnet ,
transport: http ()
})
// Inicializar gestor
const manager = new CollectionManager ( client )
// Probar conexión
const blockNumber = await client . getBlockNumber ()
console . log ( '✅ Conexión exitosa a B3 Testnet' )
console . log ( `📊 Número de bloque actual: ${ blockNumber } ` )
// Probar interacción con contrato
const factoryAddress = manager . getFactoryAddress ()
console . log ( `🏭 Dirección de la fábrica: ${ factoryAddress } ` )
console . log ( '🎉 Instalación de CreateKit exitosa!' )
} catch ( error ) {
console . error ( '❌ Prueba de instalación fallida:' , error )
}
}
testInstallation ()
Ejecuta el script de prueba:
npx tsx test-installation.ts
Configuración de TypeScript
Asegúrate de que tu tsconfig.json
incluya las configuraciones necesarias:
{
"compilerOptions" : {
"strict" : true ,
"moduleResolution" : "node" ,
"allowSyntheticDefaultImports" : true ,
"esModuleInterop" : true ,
"skipLibCheck" : true ,
"target" : "ES2020" ,
"module" : "ESNext" ,
"lib" : [ "ES2020" , "DOM" ]
}
}
Próximos Pasos
Ahora que tienes CreateKit instalado y configurado, estás listo para comenzar a construir:
Solución de Problemas
Errores de módulo no encontrado
Asegúrate de que todas las dependencias de pares estén instaladas: npm install viem @wagmi/core
Asegúrate de que tu configuración de TypeScript incluya las entradas lib necesarias y que skipLibCheck
esté habilitado.
Problemas de conexión a la red
Verifica que tus puntos finales RPC sean correctos y accesibles. Usa los puntos finales RPC de B3 predeterminados si los personalizados fallan.
Errores en el formato de la clave privada
Asegúrate de que tu clave privada esté en el formato correcto (prefijo 0x) y tenga fondos suficientes para las tasas de gas.