π¦π΄π΄π΄π¦ A home for ethereum smart contracts verified on Etherscan. π
β This is the index repository for the smart-contract-sanctuary. π Bookmark this repo.
β Chain-specific sub-repos and the index are updated twice a day.
β Expect a full, recursive check-out to take 2GB+ disk space.
The repo is configured for use with git+ssh (much more stable and faster).
β git clone --recursive --depth=1 git@github.com:tintinweb/smart-contract-sanctuary.gitalso see https://git-scm.com/docs/git-submodule for more options
Existing repository but submodules never initialized - checkout submodules and update all chain-specific sub repositories:
β git submodule update --init --remote --depth=1 --progressβ git submodule update --remote --progress| Folder | Description |
|---|---|
| _docs | autogenerated stats; static github page |
| <chain>/contracts | Chain specific smart contracts |
| β³ ethereum/contracts | Git SubModule π https://github.com/tintinweb/smart-contract-sanctuary-ethereum |
| β³ arbitrum/contracts | Git SubModule π https://github.com/tintinweb/smart-contract-sanctuary-arbitrum |
| β³ avalanche/contracts | Git SubModule π https://github.com/tintinweb/smart-contract-sanctuary-avalanche |
| β³ bsc/contracts | Git SubModule π https://github.com/tintinweb/smart-contract-sanctuary-bsc |
| β³ fantom/contracts | Git SubModule π https://github.com/tintinweb/smart-contract-sanctuary-fantom |
| β³ polygon/contracts | Git SubModule π https://github.com/tintinweb/smart-contract-sanctuary-polygon |
| β³ tron/contracts | Git SubModule π https://github.com/tintinweb/smart-contract-sanctuary-tron |
| β³ optimism/contracts | Git SubModule π https://github.com/tintinweb/smart-contract-sanctuary-optimism |
| <chain>/utils | Chain specific support scripts |
Contains smart contract sources for various networks, grouped by the first two chars of the contract address.
Files are named in the format <address>_<source_unit_name>, e.g. 0f0c3fedb6226cd5a18826ce23bec92d18336a98_URToken.sol
Some contracts are listed in contracts.json, but the file-system may contain more files than what is listed in this summary. Rely on the folder/file structure for a full list.
This repo used to auto submit contracts to 4byte.directory.
Support scripts for various activies like dumping smart contracts from public sources (etherscan.io, etherchain.com)
requires: pip install -r requirements.txt
To use List of Verified Contract addresses with an OpenSource license, you can download the csv file, add it to the util folder, and run parse_download_contracts_etherscan_io.py (with your etherscan API). This will add the new contracts to the appropriate folder
- π§ SolGrep - A scriptable semantic grep utility for solidity (crunch numbers, find specific contracts, extract data)
- π semgrep - Semgrep is a fast, open-source, static analysis tool for finding bugs and enforcing code standards at editor, commit, and CI time, and now supports Solidity! β€οΈ Thanks @JoranHonig for contributing the semgrep solidity parser.
If you are using this dataset in your research and paper, here's how you can cite this dataset:
- APA6
Ortner, M., Eskandari, S. (n.d.). Smart Contract Sanctuary. Retrieved from https://github.com/tintinweb/smart-contract-sanctuary.
- LateX (Bib)
@article{smart_contract_sanctuary,
title={Smart Contract Sanctuary},
url={https://github.com/tintinweb/smart-contract-sanctuary},
author={Ortner, Martin and Eskandari, Shayan}}