From the course: Cryptocurrencies and Blockchain Security Fundamentals: Build a Secure Foundation in Crypto and Blockchain

Unlock this course with a free trial

Join today to access over 25,600 courses taught by industry experts.

Designing and testing secure contracts

Designing and testing secure contracts

- [Instructor] There are three focus areas that you need to pay attention to. Starting with the first one, software development processes. Number two is software design principles, especially those applicable to smart contracts. And finally, software testing and verification practices. Let's start with software development practices. First version, control your code in Git. Follow an appropriate Git branching model. Document your code. Make sure that all pull and merger requests are peer reviewed before approval. Automate analysis and testing of your code before deployment. Ensure that security bugs identified are addressed before the code is promoted. When designing your software, especially smart contracts, anticipate and prepare for failure. Since the deployed code is immutable and cannot be passed, you want to minimize the damage when things go wrong. Use circuit breakers in your code to pause functionality when an…

Contents