Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Go Ethereum | 42,524 | 431 | 1,920 | 17 hours ago | 655 | September 15, 2022 | 313 | lgpl-3.0 | Go | |
Official Go implementation of the Ethereum protocol | ||||||||||
Openzeppelin Contracts | 22,417 | 51 | 1,033 | 13 hours ago | 63 | September 07, 2022 | 213 | mit | JavaScript | |
OpenZeppelin Contracts is a library for secure smart contract development. | ||||||||||
Foundry | 6,067 | 15 hours ago | 731 | apache-2.0 | Rust | |||||
Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust. | ||||||||||
Chains | 5,883 | 17 hours ago | 65 | mit | Kotlin | |||||
provides metadata for chains | ||||||||||
Vyper | 4,537 | 17 | 11 | 2 days ago | 42 | April 22, 2022 | 318 | other | Python | |
Pythonic Smart Contract Language for the EVM | ||||||||||
Aleth | 3,950 | 2 years ago | 340 | gpl-3.0 | C++ | |||||
Aleth – Ethereum C++ client, tools and libraries | ||||||||||
Manticore | 3,465 | 1 | 1 | 3 days ago | 723 | July 07, 2022 | 264 | agpl-3.0 | Python | |
Symbolic execution tool | ||||||||||
Mythril | 3,362 | 8 | 3 | 3 days ago | 292 | June 20, 2022 | 95 | mit | Python | |
Security analysis tool for EVM bytecode. Supports smart contracts built for Ethereum, Hedera, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains. | ||||||||||
Ethereumjs Monorepo | 2,271 | 5,333 | 2,248 | 14 hours ago | 85 | June 03, 2022 | 132 | TypeScript | ||
Monorepo for the Ethereum VM TypeScript Implementation | ||||||||||
Echidna | 2,158 | 2 days ago | 127 | agpl-3.0 | Solidity | |||||
Ethereum smart contract fuzzer |
The source data is in _data/chains. Each chain has its own file with the filename being the CAIP-2 representation as name and .json
as 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"
}]
}
when an icon is used in either the network or an explorer there must be a json in _data/icons with the name used (e.g. in the above example there must be a ethereum.json
and a etherscan.json
in there) - the icon jsons look like this:
[
{
"url": "ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt",
"width": 1000,
"height": 1628,
"format": "png"
}
]
where:
If the chain is an L2 or a shard of another chain you can link it to the parent chain like this:
{
...
"parent": {
"type" : "L2",
"chain": "eip155-1",
"bridges": [ {"url":"https://bridge.arbitrum.io"} ]
}
}
where you need to specify type 2 and the reference to an existing parent. The field about bridges is optional.
You can add a status
field e.g. to deprecate (via status deprecated
) a chain (a chain should never be deleted as this would open the door to replay attacks)
Other options for status
are active
(default) or incubating
There are also aggregated json files with all chains automatically assembled:
ipfs get
- not only through some gateway (means please do not use pinata for now)We cannot allow more than one chain with the same chainID - this would open the door to replay attacks. The first pull request gets the chainID assigned. When creating a chain we can expect that you read EIP155 which states this repo. All pull requests trying to replace a chainID because they think their chain is better than the other will be closed. The only way to get a chain reassigned is when the old chain gets deprecated. This can e.g. be used for testnets that are short-lived. But then you will get the redFlag "reusedChaiID" that should be displayed in clients to warn them about the dangers here.
Before submitting a PR, please verify that checks pass with:
$ ./gradlew run
BUILD SUCCESSFUL in 7s
9 actionable tasks: 9 executed
Your project - contact us to add it here!