π¦π΄π΄π΄π¦ 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.git
also 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
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.
- π Sourcegraph - A powerful online code search service that can be used to search the sanctuary without cloning.
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}}