Les données source sont en _data / chaînes. Chaque chaîne a son propre fichier, le nom de fichier étant la représentation CAIP-2 en tant que nom et .json
comme extension.
{
"name" : " Ethereum Mainnet " ,
"chain" : " ETH " ,
"rpc" : [
" https://mainnet.infura.io/v3/${INFURA_API_KEY} " ,
" https://api.mycryptoapi.com/eth "
],
"faucets" : [],
"nativeCurrency" : {
"name" : " Ether " ,
"symbol" : " ETH " ,
"decimals" : 18
},
"features" : [{ "name" : " EIP155 " }, { "name" : " EIP1559 " }],
"infoURL" : " https://ethereum.org " ,
"shortName" : " eth " ,
"chainId" : 1 ,
"networkId" : 1 ,
"icon" : " ethereum " ,
"explorers" : [{
"name" : " etherscan " ,
"url" : " https://etherscan.io " ,
"icon" : " etherscan " ,
"standard" : " EIP3091 "
}]
}
Lorsqu'une icône est utilisée dans le réseau ou un explorateur, il doit y avoir un JSON dans _data / icônes avec le nom utilisé (par exemple dans l'exemple ci-dessus, il doit y avoir un ethereum.json
et un etherscan.json
là-dedans) - l'icône JSONS ressemble à ceci:
[
{
"url" : " ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt " ,
"width" : 1000 ,
"height" : 1628 ,
"format" : " png "
}
]
où:
Si la chaîne est un L2 ou un éclat d'une autre chaîne, vous pouvez le relier à la chaîne parent comme ceci:
{
...
"parent" : {
"type" : " L2 " ,
"chain" : " eip155-1 " ,
"bridges" : [ { "url" : " https://bridge.arbitrum.io " } ]
}
}
où vous devez spécifier le type 2 et la référence à un parent existant. Le champ sur les ponts est facultatif.
Vous pouvez ajouter un champ status
par exemple pour déprécier (via l'état deprecated
) Une chaîne (une chaîne ne doit jamais être supprimée car cela ouvrirait la porte aux attaques de rediffusion) Autres options pour status
sont active
(par défaut) ou incubating
Il existe également des fichiers JSON agrégés avec toutes les chaînes automatiquement assemblées:
ipfs get
- non seulement via une passerelle (signifie ne pas utiliser Pinata pour l'instant)Nous ne pouvons pas permettre plus d'une chaîne avec le même ChainID - cela ouvrirait la porte pour rejouer les attaques. La première demande de traction se fait attribuer le ChainID. Lors de la création d'une chaîne, nous pouvons nous attendre à lire EIP155 qui indique ce dépôt. Toutes les demandes de traction essayant de remplacer un ChainID car ils pensent que leur chaîne est meilleure que l'autre sera fermée. La seule façon de réaffecter une chaîne est lorsque l'ancienne chaîne est obsolète. Cela peut être utilisé par exemple pour des titres de test de courte durée. Mais alors vous obtiendrez le "réutilisé" Redflag qui devrait être affiché chez les clients pour les avertir des dangers ici.
Avant de soumettre un RP, veuillez vérifier que les chèques passent avec:
$ ./gradlew run
BUILD SUCCESSFUL in 7s
9 actionable tasks: 9 executed
Veuillez également exécuter le plus joli pour formater votre JSON selon le style défini ici, par exemple
npx prettier --write _data/*/*.json
Fabriquer
Aire de jeux source
Contrat intelligent UI
Votre projet - Contactez-nous pour l'ajouter ici!