À propos du projet
# Chaînes basées sur EVM
Ce dépôt sert de registre central pour les métadonnées relatives aux blockchains compatibles avec la Machine Virtuelle Ethereum (EVM). Les données sont structurées au format JSON dans le répertoire `_data/chains`, où chaque fichier correspond à une chaîne spécifique en utilisant sa représentation [CAIP-2](https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-2.md) comme nom de fichier.
## Structure des données
Chaque entrée de chaîne inclut des détails essentiels de connexion et d'identification :
- **Identification** : `name` (nom), `shortName` (nom court), `chainId` (ID de chaîne) et `networkId`.
- **Connectivité** : Une liste d'URLs `rpc` pour interagir avec la blockchain.
- **Devise** : Détails sur la `nativeCurrency` (devise native) incluant le nom, le symbole et le nombre de décimales.
- **Fonctionnalités** : Standards pris en charge tels que EIP155 ou EIP1559.
- **Explorateurs** : Liens vers des explorateurs de blocs conformes aux normes EIP3091.
- **Icônes** : Références aux actifs d'icônes stockés sur IPFS via le répertoire `_data/icons`.
Pour les chaînes de niveau 2 (Layer 2) ou les shards, un champ `parent` peut les relier à leur couche de base, incluant éventuellement des URL de pont.
## Contraintes et Gouvernance
Pour prévenir les attaques par rejeu et garantir l'intégrité des données, des règles strictes s'appliquent :
- **Unicité** : `shortName` et `name` doivent être uniques parmi toutes les entrées.
- **Collision d'ID de chaîne** : Une seule chaîne peut détenir un ID de chaîne spécifique. Le premier Pull Request valide réclamant un ID l'obtient. Remplacer l'ID d'une chaîne existante est interdit sauf si cette dernière est dépréciée.
- **Gestion du statut** : Les chaînes peuvent être marquées comme `active` (actives), `incubating` (en incubation) ou `deprecated` (dépréciées). Les chaînes dépréciées ne sont jamais supprimées pour maintenir l'intégrité historique.
- **Exigences concernant les icônes** : Les icônes doivent être résolubles publiquement via IPFS (`ipfs get`), peser moins de 250 Ko et avoir des dimensions entières positives.
## Agrégation
Des scripts d'agrégation automatisés génèrent des fichiers JSON consolidés disponibles à :
- Jeu de données complet : `https://chainid.network/chains.json`
- Version miniaturisée : `https://chainid.network/chains_mini.json`
## Utilisation
Ce registre est largement adopté par divers outils de l'écosystème Web3 :
- **Portefeuilles** : TREZOR, WallETH, Minerva Wallet.
- **Explorateurs** : Otterscan.
- **Outils de développement** : Configurations compatibles Wagmi, MESC (Metadata for Ethereum Supported Chains).
- **Sites de référencement** : chainid.network, chainlist.org, evmchain.info.
## Contribution
Les contributeurs doivent s'assurer que les vérifications CI passent avant de soumettre des PR. Cela implique d'exécuter les scripts de validation (`./gradlew run`) et de formater les fichiers JSON avec Prettier conformément au guide de style du projet. Les PR qui échouent au CI ne seront pas examinées tant qu'elles ne seront pas corrigées. Pour ajouter une nouvelle chaîne, soumettez une PR avec le nom de fichier CAIP-2 correct et une structure JSON valide. Si vous avez besoin d'un ID de chaîne spécifique, réclamez-le via votre PR ; si vous souhaitez remplacer une chaîne, l'ancienne entrée doit d'abord être marquée comme dépréciée. Pour toute question ou ajout à la liste d'utilisation, contactez les mainteneurs.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.