Este tutorial está diseñado para guiar a quienes desean aprender más acerca de Polygon (Matic). Es ideal para un nivel medio.
Polygon (anteriormente Matic Network) es una destacada solución de escalado de Capa 2 para Ethereum, diseñada para mejorar la velocidad y reducir drásticamente los costos de las transacciones sin sacrificar la seguridad de la red principal. Utiliza una arquitectura híbrida con una cadena compatible con EVM y un mecanismo de consenso Proof-of-Stake. Esta guía de nivel intermedio explora cómo su compatibilidad con EVM permite a los desarrolladores de Ethereum desplegar contratos inteligentes escritos en Solidity con herramientas estándar (Hardhat, Remix, ethers.js). Cubre la gestión del gas (usando el token MATIC), el proceso de despliegue en las redes de prueba (Mumbai) y principal de Polygon, la interacción programática con contratos, el proceso de puenteo de activos entre Ethereum y Polygon, y el uso de PolygonScan como explorador de bloques. Permite construir y desplegar dApps escalables y eficientes en el ecosistema de Polygon.
Un contrato inteligente básico en Solidity, totalmente compatible para desplegar en Polygon (Mumbai Testnet o Mainnet).
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract HelloPolygon {
string public message = "Hola, Polygon!";
function setMessage(string memory newMessage) public {
message = newMessage;
}
}
Resultado:
Contrato compilado con éxito. Bytecode y ABI listos para despliegue en Polygon.
Familiarizarse con estos comandos es esencial para interactuar eficientemente con Polygon (Matic):
En Metamask, Añadir red -> Añadir una red manualmente.
Nombre de red: Polygon Mainnet
Nueva URL RPC: https://polygon-rpc.com/ (o una alternativa como https://rpc-mainnet.polygon.network/)
ChainID: 137
Símbolo de moneda: MATIC
URL del explorador de bloques: https://polygonscan.com/
En Metamask, Añadir red -> Añadir una red manualmente.
Nombre de red: Polygon Mumbai Testnet
Nueva URL RPC: https://rpc-mumbai.maticvigil.com/ (o una alternativa)
ChainID: 80001
Símbolo de moneda: MATIC
URL del explorador de bloques: https://mumbai.polygonscan.com/
Ir a https://faucet.polygon.technology/, seleccionar 'Matic Token' y 'Mumbai' network, pegar tu dirección de billetera (Metamask) y solicitar MATIC.
npx hardhat compile # En proyecto Hardhat
# O usar la interfaz web de Remix IDE
En `hardhat.config.js`, añade las configuraciones para las redes de Polygon. Ejemplo (usando variables de entorno para la clave privada):
```javascript
require('@nomicfoundation/hardhat-ethers');
require('dotenv').config(); // Si usas plugin dotenv
const MUMBAI_RPC_URL = process.env.MUMBAI_RPC_URL || "[https://rpc-mumbai.maticvigil.com](https://rpc-mumbai.maticvigil.com)";
const PRIVATE_KEY_DEL_DEPLOYER = process.env.PRIVATE_KEY_DEL_DEPLOYER; // Desde .env
const POLYGON_MAINNET_RPC_URL = process.env.POLYGON_MAINNET_RPC_URL || "[https://polygon-rpc.com](https://polygon-rpc.com)";
const PRIVATE_KEY_MAINNET = process.env.PRIVATE_KEY_MAINNET; // Desde .env
module.exports = {
solidity: "0.8.20", // Especifica tu versión de Solidity
networks: {
mumbai: {
url: MUMBAI_RPC_URL,
accounts: PRIVATE_KEY_DEL_DEPLOYER !== undefined ? [PRIVATE_KEY_DEL_DEPLOYER] : []
},
polygon: {
url: POLYGON_MAINNET_RPC_URL,
accounts: PRIVATE_KEY_MAINNET !== undefined ? [PRIVATE_KEY_MAINNET] : []
}
}
};
```
npx hardhat run scripts/deploy.js --network mumbai
npx hardhat run scripts/deploy.js --network polygon
// Usando ethers.js con un Provider de Polygon (ej: Metamask conectado a Polygon, o un RPC de Polygon)
const contractAddress = '0x...'; // Dirección del contrato desplegado en Polygon
const contractABI = [...]; // ABI del contrato (ej: de PolygonScan)
const provider = new ethers.providers.Web3Provider(window.ethereum); // o un JsonRpcProvider con URL de Polygon
const contract = new ethers.Contract(contractAddress, contractABI, provider);
// Usando ethers.js con un Signer de Polygon (Metamask conectado a Polygon)
const contractAddress = '0x...';
const contractABI = [...];
const provider = new ethers.providers.Web3Provider(window.ethereum);
const signer = provider.getSigner();
const contractWithSigner = new ethers.Contract(contractAddress, contractABI, signer);
const txResponse = await contractWithSigner.someStateChangingFunction(arg1);
await txResponse.wait(); // Esperar confirmación de la transacción en Polygon
Ir a https://polygonscan.com/ (Mainnet) o https://mumbai.polygonscan.com/ (Mumbai). Pegar hash de transacción o dirección en la barra de búsqueda.
En PolygonScan, busca la dirección de tu contrato desplegado. Ve a la pestaña 'Contract' -> 'Verify and Publish'. Sigue las instrucciones (subir código fuente, seleccionar compilador, etc.).
Acceder a https://wallet.polygon.technology/bridge/ en tu navegador web.
Comprender estos conceptos fundamentales te ayudará a dominar Polygon (Matic) de forma más organizada y eficiente:
Rol como Solución de Escalado de Capa 2 (L2):
Comprender que Polygon es una red complementaria a Ethereum, diseñada específicamente para mejorar su escalabilidad. Opera como una 'sidechain' o una 'Commit Chain' compatible con EVM, procesando transacciones fuera de la cadena principal de Ethereum pero asegurándose con ella.
Compatibilidad con EVM:
Similar a BSC, Polygon implementa la Ethereum Virtual Machine. Esto significa que los contratos inteligentes escritos en Solidity o Vyper para Ethereum pueden compilarse y desplegarse en Polygon sin apenas cambios, permitiendo a los desarrolladores de Ethereum reutilizar sus conocimientos y herramientas.
Arquitectura Híbrida (Polygon PoS Chain, Heimdall, Bor):
Polygon PoS tiene una arquitectura de dos capas principales. La capa de Bor es la cadena compatible con EVM donde se ejecutan las transacciones y contratos. La capa de Heimdall gestiona el consenso Proof-of-Stake, la selección de productores de bloques y los puntos de control ('checkpoints') hacia Ethereum Mainnet.
Mecanismo de Consenso: Proof-of-Stake Híbrido:
Polygon utiliza un mecanismo PoS donde los 'validadores' en la capa de Heimdall hacen staking de MATIC y son responsables de la gobernanza y de enviar periódicamente puntos de control del estado de Polygon PoS a Ethereum. Los 'productores de bloques' en la capa de Bor son seleccionados por los validadores para crear bloques. Esto permite transacciones rápidas y de bajo costo.
Gas y Transacciones (Token MATIC):
Las operaciones en Polygon requieren gas, que se paga utilizando el token nativo de la red, MATIC. El modelo es el mismo que en Ethereum (Gas Price * Gas Limit). Las tarifas de gas en Polygon son notablemente bajas, lo que lo convierte en una opción atractiva para dApps con alto volumen de transacciones.
Estándares de Tokens (ERC-20, ERC-721, ERC-1155):
Polygon PoS utiliza directamente los estándares de tokens de Ethereum. Los contratos que implementan ERC-20 (fungibles), ERC-721 (NFTs) y ERC-1155 (multi-estándar) se pueden desplegar y operar en Polygon. Cualquier billetera o herramienta compatible con estos estándares en Ethereum también lo es en Polygon.
Desarrollo con Herramientas Estándar:
Gracias a la compatibilidad EVM, todo el ecosistema de herramientas de desarrollo de Ethereum funciona para Polygon. Puedes usar Solidity, entornos como Hardhat o Foundry, Remix IDE, y librerías Web3 (ethers.js, web3.js, viem) para escribir, compilar, testear, desplegar e interactuar con contratos en Polygon, configurando tus herramientas para apuntar a un nodo RPC de Polygon.
Redes de Polygon (Mainnet y Mumbai):
Comprender las redes principales: Mumbai Testnet (ChainID 80001) es la red de prueba, ideal para desarrollo y experimentación sin riesgo financiero (usando MATIC de prueba del Faucet). Polygon Mainnet (ChainID 137) es la red de producción donde se ejecutan las dApps con activos reales.
El Puente Polygon (Polygon Bridge - PoS y Plasma):
El mecanismo oficial para transferir activos (tokens ERC-20, NFTs ERC-721, ETH/Wrapped Ether) de forma segura entre Ethereum Mainnet y Polygon PoS Chain. El PoS Bridge es el más rápido y común para la mayoría de los tokens. El Plasma Bridge ofrece mayor seguridad para ETH y algunos otros tokens pero es más lento. Es esencial para que los usuarios muevan sus activos entre las dos cadenas.
PolygonScan (Explorador de Bloques):
El explorador de bloques principal para la red Polygon PoS. Similar a Etherscan para Ethereum y BSCScan para BSC, te permite buscar y verificar transacciones, direcciones, bloques, tokens, y ver el código fuente de contratos desplegados. Hay una versión separada para la Mumbai Testnet (mumbai.polygonscan.com).
Algunos ejemplos de aplicaciones prácticas donde se utiliza Polygon (Matic):
Desarrollar y desplegar aplicaciones descentralizadas (dApps) que requieren transacciones rápidas y baratas:
Crear dApps que se benefician de la eficiencia de Polygon, como juegos blockchain interactivos, plataformas DeFi de trading de alta frecuencia, o herramientas de utilidad con muchas microtransacciones, donde los costos de gas de Ethereum Mainnet serían prohibitivos.
Crear y gestionar tokens (ERC-20, ERC-721, ERC-1155) y NFTs en la red Polygon:
Desarrollar contratos que implementan los estándares de tokens de Ethereum y desplegarlos en Polygon para emitir tu propia criptomoneda, token de utilidad, o colección de NFTs, aprovechando las bajas tarifas para la acuñación y transferencia.
Portar contratos inteligentes existentes de Ethereum a Polygon:
Aprovechar la compatibilidad EVM para migrar lógica de negocio o protocolos ya probados en Ethereum a Polygon, buscando reducir costos de transacción y mejorar la experiencia de usuario.
Construir interfaces (frontend) para interactuar con dApps y protocolos desplegados en Polygon:
Desarrollar el frontend de aplicaciones web que se conectan a billeteras configuradas para Polygon (Metamask) y utilizan librerías Web3 para leer datos de contratos o enviar transacciones a contratos en Polygon.
Desarrollar backends o servicios que interactúan con contratos en Polygon usando proveedores RPC:
Crear servicios backend que necesitan leer datos de la blockchain de Polygon, monitorear eventos o enviar transacciones programáticamente (ej: para automatizar procesos, integrarse con oráculos, gestionar suscripciones) utilizando proveedores RPC que soportan Polygon.
Permitir a los usuarios transferir activos (ETH, tokens) entre Ethereum Mainnet y Polygon utilizando el Polygon Bridge:
Integrar la funcionalidad del puente Polygon en tu dApp o guiar a los usuarios a través del proceso de puenteo para que puedan usar sus fondos de Ethereum en el ecosistema de Polygon.
Auditar y verificar contratos inteligentes desplegados en Polygon utilizando PolygonScan:
Utilizar PolygonScan para ver el código fuente verificado de contratos públicos, analizar transacciones sospechosas y auditar la actividad de direcciones.
Participar activamente en el ecosistema DeFi y NFT de Polygon:
Interactuar con plataformas DeFi (QuickSwap, Aave, Compound) y marketplaces NFT (OpenSea, Rarible) que operan en Polygon utilizando una billetera configurada para Polygon, aprovechando las bajas tarifas y la velocidad.
Aquí tienes algunas recomendaciones para facilitar tus inicios en Polygon (Matic):
Entiende el Papel de Polygon como Solución de Escalado de Ethereum:
Polygon es una L2 que trabaja *con* Ethereum. Su compatibilidad EVM significa que tus conocimientos de desarrollo de Ethereum son directamente transferibles. Piensa en Polygon como una forma de hacer que tus dApps de Ethereum sean más rápidas y baratas.
Configura Correctamente tus Herramientas y Billeteras para las Redes de Polygon:
Asegúrate de que tu billetera Metamask y tu entorno de desarrollo (Hardhat, Foundry, Remix) estén configurados correctamente para conectarse a la Mumbai Testnet y la Polygon Mainnet usando las URLs RPC y ChainIDs oficiales. Este es un paso fundamental.
Usa PolygonScan Constantemente:
PolygonScan (y mumbai.polygonscan.com para la testnet) es tu explorador de bloques esencial para Polygon. Úsalo para verificar el estado de tus transacciones, encontrar direcciones de contratos, ver código fuente verificado, y depurar problemas en la red.
El Token MATIC es Fundamental para las Tarifas de Gas:
Las transacciones en Polygon cuestan gas, pagado en MATIC. Aunque las tarifas son muy bajas, sigue siendo un factor. Asegúrate de que tu cuenta de despliegue (y las cuentas de usuario que interactúan con tu dApp) tengan MATIC para cubrir el gas.
Utiliza la Mumbai Testnet y el Faucet para Pruebas Gratuitas:
Siempre despliega y prueba tus contratos y dApps en la Mumbai Testnet usando MATIC gratuito del Faucet antes de ir a la red principal. Te permite depurar sin riesgo financiero real y validar el proceso de despliegue.
Entiende el Proceso del Polygon Bridge para Mover Activos:
Si necesitas usar activos de Ethereum Mainnet (ETH, tokens) en Polygon, deberás 'puentearlos' usando el Polygon Bridge. Familiarízate con cómo funciona y cómo los usuarios transfieren fondos entre las dos cadenas.
Sé Consciente de la Arquitectura de Dos Capas (Heimdall/Bor):
Aunque desarrollas en Bor (la capa EVM), es útil entender que Heimdall gestiona el consenso y los checkpoints hacia Ethereum. Esta arquitectura es lo que permite a Polygon escalar.
La Seguridad de Contratos y Claves Privadas es Clave:
Las prácticas de seguridad de Ethereum se aplican directamente a Polygon. Los contratos desplegados son inmutables, y la seguridad de tus claves privadas es fundamental. Auditorías y pruebas exhaustivas son importantes para contratos que manejan valor.
Explora el Ecosistema de Polygon:
Mira las dApps populares, protocolos DeFi y mercados NFT en Polygon. Esto te dará ideas para tus propios proyectos y verás cómo se aprovechan las características de escalado de la red.
Si te interesa Polygon (Matic), también podrías explorar estas herramientas:
Amplía tus conocimientos con estos enlaces y materiales: