Back to rankings

tintinweb/smart-contract-sanctuary

Pythontintinweb.github.io/smart-contract-sanctuary/

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

ethereumethereum-contractsolidityblockchainsmart-contractsbinance-smart-chaintron-protocolarbitrumpolygonmaticnetworkavalanche-c-chain
Star Growth
Stars
1.6k
Forks
283
Weekly Growth
β€”
Issues
5
5001k1.5k
Jul 2018Mar 2021Nov 2023Jul 2026
ArtifactsPyPIpip install smart-contract-sanctuary
README
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 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

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
↳ celo/contracts Git SubModule πŸ‘‰ https://github.com/tintinweb/smart-contract-sanctuary-celo
<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.
  • 🌟 Sourcegraph - A powerful online code search service that can be used to search the sanctuary without cloning.

πŸŽ“ 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}} 
Related repositories
unionlabs/union

The trust-minimized, zero-knowledge bridging protocol, designed for censorship resistance, extremely high security, and usage in decentralized finance.

Rustcrates.ioApache License 2.0blockchaincosmos
union.build
73.9k3.9k
ethereum/go-ethereum

Go implementation of the Ethereum protocol

GoGo ModulesGNU Lesser General Public License v3.0goblockchain
geth.ethereum.org
51.2k22k
ccxt/ccxt

A unified trading API with more than 100 crypto exchanges and prediction markets in JavaScript / TypeScript / Python / C# / PHP / Go / Java

PythonPyPIMIT Licensealtcoinapi
docs.ccxt.com
43.4k8.8k
shardeum/shardeum

Shardeum is an EVM based autoscaling blockchain

TypeScriptnpmMIT Licenseblockchaindapp
shardeum.org
31.3k703
OpenZeppelin/openzeppelin-contracts

OpenZeppelin Contracts is a library for secure smart contract development.

SolidityMIT Licenseethereumsolidity
openzeppelin.com/contracts
27.2k12.4k
argotorg/solidity

Solidity, the Smart Contract Programming Language

C++GNU General Public License v3.0cppethereum
soliditylang.org
25.7k6.1k
ethereum/solidity

Solidity, the Smart Contract Programming Language

C++GNU General Public License v3.0cppethereum
soliditylang.org
24k6k
ethereumbook/ethereumbook

Mastering Ethereum: 2nd Edition, by Andreas M. Antonopoulos, Gavin Wood, Carlo Parisi, Alessandro Mazza, NiccolΓ² Pozzolini

ethereumblockchain
masteringethereum.xyz
21.5k5.2k
web3/web3.js

Collection of comprehensive TypeScript libraries for Interaction with the Ethereum JSON RPC API and utility functions.

TypeScriptnpmOtherethereumjavascript
web3js.org
19.9k5.1k
hummingbot/hummingbot

Open source software that helps you create and deploy high-frequency crypto trading bots

PythonPyPIApache License 2.0cryptocurrencyarbitrage
hummingbot.org
19.2k4.8k
sismo-core/sismo-badges

Contracts of the Sismo Badge Minting Protocol

TypeScriptnpmMIT Licensedidethereum
docs.sismo.io
15.9k527
smartcontractkit/full-blockchain-solidity-course-js

Learn Blockchain, Solidity, and Full Stack Web3 Development with Javascript

blockchainchainlink
14k3.3k