Practical Secure Programming in Solidity

Developing Secure Programming Skills in Solidity

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.

What you’ll learn

  • Discuss common Solidity Programming Constructs.
  • Recognize Solidity Secure Coding Concerns.
  • Describe Smart Contract Operators.
  • Employ Secure coding practices.

Course Content

  • Introduction –> 1 lecture • 3min.
  • Solidity Overview –> 8 lectures • 58min.
  • Solidity Secure Coding Practices –> 24 lectures • 4hr 28min.
  • Solidity QA and Testing Tools –> 9 lectures • 58min.
  • Close –> 1 lecture • 1min.

Practical Secure Programming in Solidity

Requirements

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

Get Tutorial