π¦π΄π΄π΄π¦ 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 [email protected]: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
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}}