Awesome
awesome-openzeppelin
Blockchain educational resources curated by the OpenZeppelin team.
OpenZeppelin builds key infrastructure to develop and operate smart contract systems. We work on:
- OpenZeppelin Contracts: a package for secure smart contract development.
- OpenZeppelin SDK: a platform to develop, deploy and operate smart contract projects on Ethereum and every other EVM and eWASM-powered blockchain.
- Audits: verification of key projects for the decentralized ecosystem.
This repository contains links to resources that have been important parts of our learnings and that influence how we work on our projects. If you want to join the OpenZeppelin team, we are hiring!.
Table of Contents
- Bitcoin
- Community Management
- Cryptoeconomics
- Cryptography
- Cypherpunk
- Design
- Diversity
- Ethereum
- Legal
- Linux
- Organizations
- Programming Languages
- Remote
- Security
- Software Development
Bitcoin
Books
- Mastering Bitcoin, by Andreas Antonopoulos.
Courses
- Introduction to Digital Currencies, by Andreas Antonopoulos and Antonis Polemitis.
Community Management
Talk about this topic with elopio.
Books
- The Art of Community, by Jono Bacon.
Cryptoeconomics
Talk about this topic with Alejo Salles.
Books
-
Cryptoassets, by Chris Burniske and Jack Tatar: Good, basic book with a broad view of the crypto world addressed to investors new to the space.
-
Governing the Commons: The Evolution of Institutions for Collective Action, by Elinor Ostrom.
Courses
-
Game Theory, by Matthew O. Jackson, Kevin Leyton-Brown and Yoav Shoham:
-
Cryptoeconomics.study, by Karl Floersch & community efforts
Posts
-
Cryptoasset Valuations, by Chris Burniske.
-
Governance in 0x Protocol, by Will Warren.
-
Leverage Points: Places to Intervene in a System, by Donella Meadows.
-
On Medium-of-Exchange Token Valuations, by Vitalik Buterin.
-
On Value, Velocity and Monetary Theory, by Alex Evans.
-
Thoughts on Liberal Radicalism, by Luke Duncan.
-
Token-Curated Registries 1.0, by Mike Goldin.
-
Token Engineering Series, by Trent McConaghy:
Talks
-
Introduction to Cryptoeconomics, by Vitalik Buterin.
-
The Pretence of Knowledge, by Friedrich von Hayek.
Whitepapers
-
Livepeer Whitepaper, by Doug Petkanics and Eric Tang: Details the cryptoeconomics of the Livepeer protocol, users pay, either for broadcasting or consuming. Transcoders are chosen through DPoS.
-
Panvala: Introduces a system of token-mediated auditing. “Token Capacitor” is a cryptoeconomic primitive that progressively releases tokens, which can be directed to different destinations by the token holders; and “Michelin stars” are used for code safety.
Cryptography
Posts
- How Not to Use ECDSA, by Yondon Fu.
- Bitcoin Transaction Malleability, by Evan Klitzke.
Courses
- Cryptography I, by Dan Boneh.
Challenges
- Cryptopals: learn crypto by doing challenges, where you build and break popular ciphers.
Cypherpunk
Books
-
Free Culture, by Lawrence Lessig.
-
Free Software, Free Society, by Richard Stallman.
-
Proposed Roads to Freedom, by Bertrand Russell.
Talks
-
The Art of Asking, by Amanda Palmer.
-
Decentralize, Democratize, or Die, by Corey Doctorow.
Design
Books
-
The Design of Everyday Things, by Donald Norman.
-
Less is Enough: On Architecture and Asceticism, by Pier Vittorio Aureli.
Courses
- Interaction Design Specialization, by Scott Klemmer, Elizabeth Gerber and Jacob O. Wobbrock.
Posts
- Designing Welcome Mats to Invite User Privacy, by Alexis Hancock.
Diversity
Courses
- Inclusive Speaker Orientation, by The Linux Foundation and the National Center for Women & Information Technology.
Posts
-
How Duolingo achieved a 50:50 gender ratio for new software engineer hires, by Jeesoo Sohn.
-
How I work with someone who is learning, by Emily McAfee.
-
How to answer questions in a helpful way, by Julia Evans.
-
How to ask good questions, by Julia Evans.
-
Not Applicable: What Your Job Post is Really Saying, by Coraline Ada Ehmke.
Ethereum
(see also Solidity).
Books
- Mastering Ethereum, by Andreas Antonopoulos (in progress).
Posts
-
A Prehistory of the Ethereum Protocol, by Vitalik Buterin.
-
Decentralised Oracles: a comprehensive overview, by Julien Thevenard.
-
Ethereum in Depth series, by OpenZeppelin.
-
Making Sense of Ethereum’s Layer 2 Scaling Solutions: State Channels, Plasma, and Truebit, by Josh Stark.
-
Stablecoins: designing a price-stable cryptocurrency, by Haseeb Qureshi.
-
Why another stablecoin?, Nevin Freeman.
Videos
- Smart Accounts, by Philippe Castonguay and Panashe Mahachi.
Legal
Courses
Linux
Courses
- Introduction to Linux, by The Linux Foundation.
Organizations
Talk about this topic with Demi.
Books
- The Manager's Path, by Camille Fournier.
- The Sovereign Individual, by James Dale Davidson and William Rees-Mogg.
Talks
-
The Network State, by Balaji Srinivasan.
-
Voice vs. Exit, by Balaji Srinivasan.
Programming Languages
Go
Books
- The Go Programming Language, by Brian W. Kernighan and Alan A. A. Donovan.
Javascript
Books
- JavaScript: The Good Parts, by Douglas Crockford.
Python
Books
-
Dive into Python 3, by Mark Pilgrim.
-
Effective Python: 59 Specific Ways to Write Better Python, by Brett Slatkin.
Solidity
Websites
-
CryptoZombies, by Loom Network.
-
Solidity Koans, by Nicole Zhu.
Challenges / CTF
-
Ethernaut, by OpenZeppelin.
-
Blockchain CTF, by Security Innovation.
-
GOAT Casino, by NCC Group.
Posts
- Deconstructing a Solidity contract series, by Alejandro Santander from the OpenZeppelin team.
Smart contract security
-
OpenZeppelin audits reports, by OpenZeppelin.
-
Smart Contract Security bibliography, by Consensys.
-
Smart Contract Weakness Classification Registry, maintained by the Mythril team.
-
List of known attack vectors and common anti-patterns in smart contracts, by AgeManning.
-
List of Risks and Vulnerabilities in ERC20 Token contracts, by Secbit
-
DEF CON 25 - Hacking Smart Contracts talk, by Konstantinos Karagiannis.
Typescript
Courses
- Understanding TypeScript, by Maximilian Schwarzmüller.
Remote
Posts
-
The presence prison, by Jason Fried.
-
Don't work "remotely", by Blair Reeves.
Security
Posts
-
Trusted Third Parties Are Security Holes, by Nick Szabo.
-
Why Openness Is The Greatest Path To Security, by Marten Mickos.
Talks
- Reflections on Trusting Trust, by Ken Thompson.
OPSEC
- Operations Security, from Wikipedia.
- A modest privacy protection proposal, by Jameson Lopp.
- Ignorance is strength, by @grugq.
- Operational security and the real world, by @grugq.
- New York's Finest OPSEC, by @grugq.
- A Fistful of Surveillance, by @grugq.
- Operations Security Intelligence Threat Handbook, Section 1 - Introduction, by The Interagency OPSEC Support Staff.
- Why you should get a burner phone number, even if you aren't a spy, by David Nield.
- Burner Phone Best Practices, by B3RN3D.
- Some remarkably good OPSEC advice, for a 1996 non-computer book, by Matthijs R. Koot.
- How The Intercept Outed Reality Winner, by Robert Graham.
- Extremist Forums Provide Digital OpSec Training, by Aaron Brantly & Muhammad al-Ubaydi.
- Some elements of Intelligence work, by @grugq.
- Twitter Activist Security, by @grugq.
- How to Vanish
- Agent Handling, from Wikipedia.
- Online Privacy Through OPSEC and Compartmentalization: Part 2
- It Was DPR, in the Tor HS, with the BTC, by @grugq.
- Hacker OPSEC with The Grugq, by Blogs of War.
- Digital Security, by the Global Investigative Journalism Network.
- Managing pseudonyms better than DPR, by B3RN3D.
- Did you ask him about his Threat Model?, by B3RN3D.
- OPSEC Required Reading section, by @grugq.
Intelligence
- Intelligence Literature: suggested reading list, by the United State's CIA.
Spycraft
Cryptocurrency related
- MyCrypto’s security guide for dummies and smart people too, by Taylor Monahan.
For developers
Private Browsing
- Tor
- You can use Brave Browser to open a private window with Tor
- With Tor, you can browse dark web sites like:
- Some deep web forums
- Dread forum: http://dreadditevelidot.onion
Privacy-related useful services
- Online payments
- Private communications
- Virtual Private Networks
Software Development
Talk about this topic with elopio.
Books
-
Agile Estimating and Planning, by Mike Cohn.
-
Agile Testing, by Janet Gregory and Lisa Crispin.
-
Clean Code, by Robert C. Martin.
-
Refactoring: Improving the Design of Existing Code, by Martin Fowler.
-
Succeeding with Agile: Software Development Using Scrum, by Mike Cohn.
-
Test Driven Development: By Example, by Kent Beck.
-
User Stories Applied, by Mike Cohn.
-
Working Effectively with Legacy Code, by Michael Feathers.
-
xUnit Test Patterns, by Gerard Meszaros.
Posts
- Methodologies for measuring project health, by Nadia Eghbal.
Maintainers
Contributing
Share your awesome links with us!
License
To the extent possible under law, OpenZeppelin has waived all copyright and related or neighboring rights to this work.