Ethereum Smart Contract Security Best Practices¶
This document provides a baseline knowledge of security considerations for intermediate Solidity programmers. It is maintained by ConsenSys Diligence, with contributions from our friends in the broader Ethereum community.
Our amazing community has also provided translations in Chinese and Vietnamese.
Where to start?¶
- General Philosophy describes the smart contract security mindset
- Smart Contract Recommendations contains examples of good code patterns
- Known Attacks describes the different classes of vulnerabilities to avoid
- Software Engineering outlines some architectural and design approaches for risk mitigation
- Documentation and Procedures outlines best practices for documenting your system for other developers and auditors
- Security Tools lists tools for improving code quality, and detecting vulnerabilities
- Tokens outlines best practices specifically related to Tokens.
- Bug Bounties List of bug bounties in the ecosystem.
Tip
This guideline is updated often, however, if you want to stay on top of the Smart Contract security news and developments sign up for the bi-weekly Smart Contract Security Newsletter.
Contributions are welcome!¶
Feel free to submit a pull request, with anything from small fixes, to full new sections. If you are writing new content, please reference the contributing page for guidance on style.
See the issues for topics that need to be covered or updated.