Solidity Advanced: Secure Smart Contracts & DApp Development
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Solidity Advanced: Secure Smart Contracts & DApp Development
This course is part of Solidity Mastery: Foundations to Advanced Smart Contracts Specialization
Included with
Learn more
Ask Coursera
Recommended experience
Recommended experience
What you'll learn
Understand and recall advanced Solidity concepts and secure coding practices essential for smart contract development.
Apply advanced Solidity techniques to write secure and efficient smart contracts while identifying potential vulnerabilities.
Analyze and evaluate smart contracts to assess security, utilizing best practices and advanced coding patterns.
Create secure smart contracts by integrating advanced Solidity concepts and innovative coding approaches.
Skills you'll gain
Tools you'll learn
Details to know
4 assignments
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 4 modules in this course
Updated in May 2025.
This course now features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. In the rapidly evolving world of blockchain technology, mastering Solidity is crucial for developing secure and efficient smart contracts. This advanced course takes you beyond the basics, guiding you through complex Solidity concepts and the intricacies of secure contract development. Each module is meticulously designed to deepen your understanding of Solidity, from recognizing common vulnerabilities to implementing robust security measures. The course begins with essential advice on approaching new Solidity concepts, gradually leading you through advanced topics such as looping and transactions, points of failure in contracts, and the significance of safe contract design. You'll explore critical issues like whether contracts should be allowed to receive funds and how to protect them from common exploits. Through a combination of theoretical insights and practical exercises, you will learn to recognize, analyze, and mitigate security risks in smart contracts. As you progress, youβll engage with hands-on coding exercises that solidify your learning, including creating and securing smart contracts, understanding complex patterns like the "Only After" modifier, and mastering advanced concepts such as inheritance and abstract contracts. By the end of this course, youβll not only be proficient in Solidity but also equipped with the skills to develop secure, high-performing blockchain applications. This course is tailored for experienced developers familiar with basic Solidity concepts who are looking to advance their skills in secure smart contract development. Prerequisites include a solid understanding of fundamental Solidity, blockchain principles, and some experience with writing and deploying smart contracts.
In this module, we will dive deep into the cybersecurity aspects of Solidity smart contract development. You will learn about common vulnerabilities, how they can be exploited, and the best practices to secure your contracts. We will also explore advanced Solidity patterns and challenge your knowledge through quizzes and exercises.
What's included
13 videos2 readings
13 videosβ’Total 57 minutes
- Obvious (But Helpful) Advice - Take Your Time with New Thingsβ’3 minutes
- Leveling Up in Solidityβ’5 minutes
- Pop Quiz - Looping and Transactions in Solidityβ’2 minutes
- Solution - Pop Quiz - Looping and Transactions in Solidityβ’5 minutes
- Smart Contracts - Points of Failureβ’8 minutes
- Should Contracts Be Allowed to Receive Funds? (Thought Experiment)β’3 minutes
- A Vulnerable Smart Contractβ’6 minutes
- How to Hack a Smart Contract (Malicious Constructor Trick)β’4 minutes
- Coding in Terms of Higher Patternsβ’2 minutes
- Transfer Versus Send Method in Solidityβ’5 minutes
- The Withdrawal Pattern in Solidityβ’9 minutes
- Exercise - Write a Withdrawal Functionβ’1 minute
- Solution - Write a Withdrawal Function in Solidityβ’5 minutes
2 readingsβ’Total 20 minutes
- Full Specialization Resourcesβ’10 minutes
- Introduction to the Course 'Solidity Advanced: Secure Smart Contracts & DApp Development'β’10 minutes
In this module, we will dive deeper into the Restricted Access pattern in Solidity, focusing on how to control access to smart contract functions. We'll cover key modifiers, such as onlyOwner and time-based restrictions, and provide hands-on exercises to reinforce these concepts.
What's included
8 videos1 assignment
8 videosβ’Total 28 minutes
- The Restricted Access Patternβ’7 minutes
- Exercise - Modifier Functionβ’2 minutes
- Solution - Modifier Functionβ’5 minutes
- Only After Modifier in Solidity Iβ’6 minutes
- Only After Modifier in Solidity IIβ’3 minutes
- Exercise - Cost Restriction in Solidityβ’3 minutes
- Solution - Cost Restriction in Solidityβ’3 minutes
- Optional Bonus - Cost Restriction in Solidityβ’1 minute
1 assignmentβ’Total 15 minutes
- Assessment 1β’15 minutes
In this module, we will dive deep into advanced Solidity concepts, including contract visibility, inheritance, and abstraction. Through a series of explanations and hands-on exercises, youβll explore how to structure and organize contracts effectively, work with visibility modifiers, and implement inheritance to improve the scalability and efficiency of your decentralized applications.
What's included
15 videos
15 videosβ’Total 110 minutes
- Introduction to Advanced Solidityβ’3 minutes
- What are Contracts Review in Solidityβ’8 minutes
- Exercise - Contract Visibility Advancedβ’10 minutes
- Review - Public Private External and Internal in Solidityβ’4 minutes
- Entrance Exam for the Advanced Solidity Sectionsβ’6 minutes
- Solution - Contract Visibility Advanced Iβ’21 minutes
- Solution - Contract Visibility Advanced IIβ’14 minutes
- What Is Inheritance in Solidityβ’4 minutes
- Exercise - Inheritance with Smart Contractsβ’3 minutes
- Solution - Inheritance with Smart Contractsβ’8 minutes
- What Exactly are Events in Solidityβ’10 minutes
- What are Abstract Contracts in Solidityβ’8 minutes
- Virtual and Override in Abstract Contractsβ’6 minutes
- Exercise - Abstract Contract Calculatorβ’1 minute
- Solution - Abstract Contract Calculatorβ’5 minutes
In this module, we will explore advanced concepts of Solidity, including interfaces, libraries, and low-level programming with Assembly. You'll also dive deep into error handling and security best practices, while building complex decentralized applications like an auction DApp. The section emphasizes practical exercises to ensure you master the topics thoroughly.
What's included
22 videos1 reading3 assignments
22 videosβ’Total 153 minutes
- What Are Interfaces in Solidityβ’11 minutes
- Injected Web3 Interface Exercise Prerequisiteβ’3 minutes
- Exercise - Uniswap Interactions with Interfacesβ’14 minutes
- Solution - Uniswap Interactions with Interfacesβ’20 minutes
- What Are Libraries in Solidityβ’13 minutes
- Exercise - Access Library Using A for B Patternβ’4 minutes
- Solution - Access Library by Using A for Bβ’4 minutes
- Assembly and EVM OpCodes with Solidityβ’4 minutes
- How to Write Assembly in Solidityβ’12 minutes
- Exercise - Use Assembly to Run Byte Conversionsβ’3 minutes
- Solution - Use Assembly to Run Byte Conversionsβ’3 minutes
- Overview of Error Handling in Solidityβ’4 minutes
- How Does Require Work in Solidityβ’5 minutes
- How Does Revert Work in Solidityβ’7 minutes
- How Does Assert Work in Solidityβ’4 minutes
- Exercise - Error Handling in Solidityβ’1 minute
- Solution - Error Handling in Solidityβ’8 minutes
- Final Exercise - Build an Auction DApplicationβ’8 minutes
- Solution - State Variables and Constructor - Auctionβ’9 minutes
- Solution - Bid Function - Auctionβ’7 minutes
- Solution - Withdrawal Function - Auctionβ’4 minutes
- Solution - Final Auction Solutionβ’6 minutes
1 readingβ’Total 10 minutes
- Conclusion to the Course 'Solidity Advanced: Secure Smart Contracts & DApp Development'β’10 minutes
3 assignmentsβ’Total 90 minutes
- Assessment 2β’15 minutes
- Full Course Assessmentβ’60 minutes
- Full Course Practice Assessmentβ’15 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Offered by
Explore more from Software Development
- Status: Free Trial
Specialization
- Status: Free Trial
- Status: Free Trial
- Status: Free Trial
Course
Why people choose Coursera for their career
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. Youβll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. Youβll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,
