Smart Contracts 101 - Guía completa para principiantes sobre smart contracts de Polkadot
Writing Guidelines - Estándares de escritura y mejores prácticas para agentes de IA
Agents - Guía completa de despliegue y referencia de solución de problemas para agentes
1. Inicio Rápido con Kitdot
Para Quién Es Esta Guía
Desarrolladores con sólidas habilidades de programación pero sin experiencia en Web3/Polkadot.
Objetivo Principal
Desplegar smart contracts funcionales en la testnet de Polkadot y construir un frontend funcional dentro de los tiempos de un hackathon.
Inicia Tu Proyecto con Kitdot
Recomendado: Usa kitdot@latest para una configuración adecuada de red y configuración de proyecto:
o
¿Por qué kitdot? Asegura configuraciones de red adecuadas, dependencias correctas y configuraciones probadas en batalla. Evita dolores de cabeza de configuración y comienza a construir inmediatamente.
Experiencia Web2 en Web3: La configuración predeterminada de kitdot inicializa un proyecto frontend completo que proporciona una experiencia de usuario Web2 familiar para aplicaciones Web3. Los usuarios interactúan con tu dApp sin necesidad de entender la complejidad de blockchain.
¿Proyecto Existente? Comienza desde cero con kitdot@latest y copia tus archivos. Esto previene conflictos de configuración y problemas de conexión de red.
2. Librerías de Contratos Pre-construidos
Aprovecha el Código Existente
Antes de construir desde cero, explora estas librerías de contratos probadas en batalla:
Obteniendo ABI para Proyectos Frontend: Después de compilar contratos en Remix:
Ve a la pestaña Solidity Compiler
Haz clic en el nombre de tu contrato bajo artefactos de compilación
Copia el array ABI de los detalles de compilación
Úsalo en proyectos frontend:
Ruta 2: Configuración Manual de Hardhat (No Recomendado)
Usa kitdot@latest en su lugar para configuración automatizada, pero si debes configurar manualmente:
IMPORTANTE: Siempre usa @parity/hardhat-polkadot en lugar de hardhat estándar. Este plugin proporciona compatibilidad esencial con PolkaVM y configuraciones de red requeridas para el despliegue en Polkadot.
kitdot@latest maneja esto automáticamente con configuraciones de red apropiadas.
Ruta 3: Red de Desarrollo Local
Para pruebas locales sin conectarse a testnets:
Nota: Esto ejecuta una testnet Ethereum estándar local, no una red compatible con PolkaVM. Úsala para desarrollo inicial y pruebas antes de desplegar en Paseo.
Crear hardhat.config.js:
Configurar Wallet:
Probar Configuración:
4. Desarrollo de Smart Contracts
Restricciones Críticas
Bytecode máximo: ~100KB
Versión de Solidity: ^0.8.28
Contrato de Prueba
ERC20 Mínimo
Estrategia de Despliegue
5. Configuración de Wallet (Si no usas el template por defecto de kitdot)
Habilitar Testnets en tu Wallet
MetaMask:
Abre la extensión MetaMask
Haz clic en el ícono de tu perfil (arriba a la derecha)
Ve a Settings → Advanced
Habilita Show test networks
Tu dropdown de red ahora mostrará opciones de testnet
Talisman:
Abre la extensión Talisman
Ve a Settings → Networks & Tokens
Habilita Show test networks
Las redes de testnet aparecerán en tu lista de redes
Para una gestión efectiva de proyectos de hackathon y colaboración en equipo:
Template GitHub Projects:Tablero de Proyecto Hackathon - Tablero de proyecto listo para usar con seguimiento de tareas, planificación de sprints y funciones de coordinación de equipo
Ideas Comprehensivas de Economía de Intercambio P2P:
Catálogo Comprehensivo de Economía de Intercambio P2P: Catálogo extenso de plataformas de economía de intercambio peer-to-peer en varios sectores con aplicaciones implementadas e "Ideas Posibles" para categorías no exploradas. Perfecto para identificar brechas de mercado y construir alternativas descentralizadas.
Guía Básica de Smart Contracts de Polkadot: Si quieres empezar desde cero y necesitas documentación más detallada sobre smart contracts de Polkadot, como un 101 para principiantes, te sugerimos revisar esta guía.
npm install -g kitdot@latest
kitdot init my-polkadot-project
cd my-polkadot-project
// Guarda ABI como contractABI.json o importa directamente
import { ethers } from "ethers";
const contractABI = [
/* pega el array ABI aquí */
];
const contract = new ethers.Contract(contractAddress, contractABI, signer);
# Mejor: Usa kitdot@latest init en su lugar
mkdir hackathon-project && cd hackathon-project
npm init -y
npm install --save-dev @parity/hardhat-polkadot [email protected]npm install --force @nomicfoundation/hardhat-toolbox
npx hardhat-polkadot init
# Ejecuta testnet genérica local (NO es una testnet PolkaVM)
npx hardhat node
# En otra terminal, despliega a la red local
npx hardhat ignition deploy ./ignition/modules/YourModule.js --network localhost
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.28;
contract Test {
uint256 public value = 42;
function setValue(uint256 _value) external { value = _value; }
}
contract SimpleToken {
mapping(address => uint256) public balanceOf;
uint256 public totalSupply;
string public name;
string public symbol;
constructor(string memory _name, string memory _symbol, uint256 _supply) {
name = _name; symbol = _symbol; totalSupply = _supply;
balanceOf[msg.sender] = _supply;
}
function transfer(address to, uint256 amount) external returns (bool) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
balanceOf[msg.sender] -= amount;
balanceOf[to] += amount;
return true;
}
}