Os dados de origem estão em _data/cadeias. Cada cadeia tem seu próprio arquivo, com o nome do arquivo sendo a representação do CAIP-2 como nome e .json
como extensão.
{
"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 "
}]
}
Quando um ícone é usado na rede ou em um explorador, deve haver um json em _data/ícones com o nome usado (por exemplo, no exemplo acima, deve haver um ethereum.json
e um etherscan.json
lá) - o ícone jsons Parece isso:
[
{
"url" : " ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt " ,
"width" : 1000 ,
"height" : 1628 ,
"format" : " png "
}
]
onde:
Se a corrente for um L2 ou um fragmento de outra cadeia, você pode vinculá -la à cadeia pai como esta:
{
...
"parent" : {
"type" : " L2 " ,
"chain" : " eip155-1 " ,
"bridges" : [ { "url" : " https://bridge.arbitrum.io " } ]
}
}
onde você precisa especificar o Tipo 2 e a referência a um pai existente. O campo sobre pontes é opcional.
Você pode adicionar um campo status
, por exemplo, para depreciar (via status deprecated
) uma cadeia (uma cadeia nunca deve ser excluída, pois isso abriria a porta para reproduzir ataques). Outras opções de status
são active
(padrão) ou incubating
Também existem arquivos JSON agregados com todas as correntes montadas automaticamente:
ipfs get
- não apenas através de algum gateway (significa que não use Pinata por enquanto)Não podemos permitir que mais de uma corrente com o mesmo ChainId - isso abriria a porta para reproduzir ataques. A primeira solicitação de tração recebe o ChainID atribuído. Ao criar uma cadeia, podemos esperar que você leia o EIP155, que afirma este repositório. Todas as solicitações de tração que tentam substituir um ChainID porque acham que sua corrente é melhor do que a outra será fechada. A única maneira de obter uma cadeia transferida é quando a cadeia antiga é preterida. Isso pode, por exemplo, ser usado para empresas de teste que têm vida curta. Mas então você receberá o Redflag "Reusuado" que deve ser exibido nos clientes para avisá -los sobre os perigos aqui.
Antes de enviar um PR, verifique se os cheques passam com:
$ ./gradlew run
BUILD SUCCESSFUL in 7s
9 actionable tasks: 9 executed
Além disso, execute o mais bonito para formatar seu json de acordo com o estilo definido aqui, por exemplo, execução
npx prettier --write _data/*/*.json
FAUCETH
Sourcify Playground
UI do contrato inteligente
Seu projeto - entre em contato conosco para adicioná -lo aqui!