Skip to content

πŸ¦πŸŒ΄πŸŒ΄πŸŒ΄πŸ¦• A home for ethereum smart contracts. 🏠

Notifications You must be signed in to change notification settings

thesimplezero/smart-contract-sanctuary

Β 
Β 

Repository files navigation

Smart Contract Sanctuary - MultiRepo / Index
⚠️UPDATE: Repo layout changed! see #13 (v1-layout)

Smart Contract Sanctuary

πŸ¦πŸŒ΄πŸŒ΄πŸŒ΄πŸ¦• 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.

Usage

The repo is configured for use with git+ssh (much more stable and faster).

First time - clone the index and checkout all chain-specific sub repositories from scratch:

β‡’  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

Existing repository with submodules - update all chain-specific sub repositories:

β‡’  git submodule update --remote --progress

Layout

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
πŸ“‚ <chain>/contracts

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.

πŸ“‚ <chain>/utils

Support scripts for various activies like dumping smart contracts from public sources (etherscan.io, etherchain.com)

requires: pip install -r requirements.txt

Dev Notes

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

πŸ‘©β€πŸ”¬ Data Science Tools

  • 🧠 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.

πŸŽ“ Citation

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}} 

About

πŸ¦πŸŒ΄πŸŒ΄πŸŒ΄πŸ¦• A home for ethereum smart contracts. 🏠

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 90.3%
  • Shell 9.7%