Practical Secure Programming in Solidity
What you'll learn
- Discuss common Solidity Programming Constructs
- Recognize Solidity Secure Coding Concerns
- Describe Smart Contract Operators
- Employ Secure coding practices
Requirements
- Students should have knowledge of Solidity
Description
Solidity is a purpose-made programming language for Ethereum and Ethereum-like blockchains to deliver smart contract capability. Ethereum is a global computing platform that allows for distributed survivable programs called smart contracts to be used by anyone, anywhere, for any reason. Smart contracts can be used to bridge two different blockchain systems, fulfill shipping and product delivery processes, and pay vendors on the certificated completion of specific tasks.
Smart contracts are quickly becoming a regular business process that eliminates the middle person and allows for the frictionless global transfer of value. And billions of dollars are hacked out of smart contracts every year because of faulty coding practices with Solidity.
This course introduces operators, and basic solidity constructs, then dive deep by example into secure coding practices that can be used to deliver more secure smart contracts. We review some of the most common security issues, such as reentrancy, overflows, underflows, external calls, and other places where flow control of the smart contract can be hijacked.
Finally, we go over linting, QA, and DevOps tools that can help identify issues with code and how to use those tools to fix issues with code security. We also go over where to get secure code libraries for code reuse and other popular open-source systems that will make your smart contract better, safer, and quicker to market. You will work with tools like Foundry, Truffle, Ganache, OpenZeppelin, and others so that you get a practical hands-on demonstration of what is out there that can help you be aware of the security considerations when it comes to smart contracts
Who this course is for:
- This course is for anyone who wants to know about secure coding practices in Solidity
Instructor
Dr. Dan Morrill teaches at several universities and certificate based boot camps. As a professor of online learning since 2014, Dan has supported a diverse student population to succeed in an online environment. This includes the use of online systems to develop comprehensive study guides, education standards, and process learning. In addition to his focus on student outcomes, Dan has over 20 years of experience in cyber security and information technology. He has written multiple books on cloud computing, e-commerce, security, and SEO. In addition to supporting startups, he is a passionate supporter of startup culture as well. He obtained a BS in Information Systems Management, an MS in E-commerce, and a Ph.D. in Cyber Security.