Sobre el proyecto

# Cadenas basadas en EVM Este repositorio sirve como el registro central de metadatos para blockchains compatibles con la Máquina Virtual de Ethereum (EVM). Los datos están estructurados en formato JSON dentro del directorio `_data/chains`, donde cada archivo corresponde a una cadena específica usando su representación [CAIP-2](https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-2.md) como nombre de archivo. ## Estructura de datos Cada entrada de cadena incluye detalles esenciales de conexión e identificación: - **Identificación**: `name`, `shortName`, `chainId` y `networkId`. - **Conectividad**: Una lista de URLs `rpc` para interactuar con la blockchain. - **Moneda**: Detalles sobre `nativeCurrency` incluyendo nombre, símbolo y decimales. - **Características**: Estándares soportados como EIP155 o EIP1559. - **Exploradores**: Enlaces a exploradores de bloques que cumplen con los estándares EIP3091. - **Iconos**: Referencias a activos de iconos almacenados en IPFS a través del directorio `_data/icons`. Para cadenas de capa 2 o shards, un campo `parent` puede vincularlas a su capa base, incluyendo opcionalmente URLs de puente. ## Restricciones y gobernanza Para prevenir ataques de replay y asegurar la integridad de los datos, se aplican reglas estrictas: - **Unicidad**: `shortName` y `name` deben ser únicos en todas las entradas. - **Colisión de Chain ID**: Solo una cadena puede tener un Chain ID específico. El primer Pull Request válido que reclame un ID lo obtiene. Reemplazar el ID de una cadena existente está prohibido a menos que la original esté desactualizada. - **Gestión de estado**: Las cadenas pueden marcarse como `active`, `incubating` o `deprecated`. Las cadenas desactualizadas nunca se eliminan para mantener la integridad histórica. - **Requisitos de iconos**: Los iconos deben ser resolubles públicamente vía IPFS (`ipfs get`), tener menos de 250kb y dimensiones de enteros positivos. ## Agregación Los scripts de agregación automatizados generan archivos JSON consolidados disponibles en: - Conjunto de datos completo: `https://chainid.network/chains.json` - Versión miniaturizada: `https://chainid.network/chains_mini.json` ## Uso Este registro es ampliamente adoptado por varias herramientas en el ecosistema Web3: - **Wallets**: TREZOR, WallETH, Minerva Wallet. - **Exploradores**: Otterscan. - **Herramientas de desarrollo**: Configuraciones compatibles con Wagmi, MESC (Metadata para Cadenas Soportadas por Ethereum). - **Sitios de listado**: chainid.network, chainlist.org, evmchain.info. ## Contribución Los contribuyentes deben asegurarse de que los chequeos de CI pasen antes de enviar PRs. Esto implica ejecutar scripts de validación (`./gradlew run`) y formatear archivos JSON usando Prettier de acuerdo con la guía de estilo del proyecto. Los PRs que fallen CI no serán revisados hasta que se corrijan. Para agregar una nueva cadena, envía un PR con el nombre de archivo CAIP-2 correcto y una estructura JSON válida. Si necesitas un Chain ID específico, reclámalo vía tu PR; si deseas reemplazar una cadena, la entrada antigua debe estar primero desactualizada. Para preguntas o adiciones a la lista de uso, contacta a los mantenedores.