Исходные данные находятся в _data/Chains. Каждая цепочка имеет свой собственный файл, и имя файла является представлением CAIP-2 в качестве имени и .json
в качестве расширения.
{
"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 "
}]
}
Когда значок используется либо в сети, либо в исследователе, в _data/значках должен быть JSON с использованным именем (например, в приведенном выше примере должен быть ethereum.json
и etherscan.json
там) - Icon Jsons Похоже:
[
{
"url" : " ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt " ,
"width" : 1000 ,
"height" : 1628 ,
"format" : " png "
}
]
где:
Если цепь - это L2 или осколок другой цепи, вы можете связать ее с родительской цепью, как это:
{
...
"parent" : {
"type" : " L2 " ,
"chain" : " eip155-1 " ,
"bridges" : [ { "url" : " https://bridge.arbitrum.io " } ]
}
}
где вам нужно указать тип 2 и ссылку на существующего родителя. Поле о мостах является необязательным.
Вы можете добавить поле status
например, для снижения (через статус deprecated
) цепь (цепочка никогда не должна быть удалена, поскольку это откроет дверь для повторных атак). Другие варианты status
active
(по умолчанию) или incubating
Существуют также агрегированные файлы JSON со всеми автоматически собранными цепочками:
ipfs get
- не только через какую -то шлюз (означает, пожалуйста, не используйте Pinata пока)Мы не можем допустить более одной цепи с одной и той же цепью - это откроет дверь для повторных атак. Первый запрос на притяжение получает назначенную цепью. При создании цепочки мы можем ожидать, что вы прочитаете EIP155, в котором говорится этот репо. Все запросы на притяжение, пытающиеся заменить цепь, потому что они думают, что их цепь лучше, чем другая, будут закрыты. Единственный способ переназначить цепь - это когда старая цепь устарела. Это может быть использовано для недолговечных тестов. Но тогда вы получите Redflag «повторно usedchaiid», который должен отображаться у клиентов, чтобы предупредить их об опасностях здесь.
Перед отправкой PR убедитесь, что проверки проходят с:
$ ./gradlew run
BUILD SUCCESSFUL in 7s
9 actionable tasks: 9 executed
Также, пожалуйста, запустите краситель, чтобы отформатировать ваш JSON в соответствии со стилем, определенным здесь, например, запустить
npx prettier --write _data/*/*.json
Смеситель
Sourcify Playground
Умный контракт пользовательский интерфейс
Ваш проект - свяжитесь с нами, чтобы добавить его здесь!