Advanced Solidity Bootcamp
Duration: 5 months | Pricing: $6000 upfront OR 5 monthly installments of $1,300
Please see our pricing page for more information.
Next Cohort Starts March 7, 2023. Fully online and remote.
This is the hardest solidity bootcamp out there!
This advanced solidity bootcamp is for intermediate blockchain developers
If you are not experienced with solidity, you should take our dapp bootcamp instead of this one.
Students from this course have gotten jobs as solidity auditors and solidity engineers at major protocols (see our testimonials).
They have built Github repos with hundreds of stars and
created groundbreaking innovations in blockchain algorithms.
Our applicants and students include
Professional Solidity Engineers
Solidity instructors at other bootcamps
DeFi Protocol co-founders
former investment bankers at bulge bracket banks
Study Solidity and EVM Comprehensively and Rigorously
Stop wondering what and how you should study next and let industry experts shorten the journey for you. You will go from someone dependent on online tutorials and courses to someone who can comfortably navigate undocumented aspects of Ethereum development.
How do we do that? We don't just teach you Ethereum smart contract development with solidity. We teach you how to navigate a rapidly changing field.
There are two aspects to this:
1) Giving you a broad enough understanding so you can triangulate missing information on your own.
2) Teaching you the architectural foundations of Ethereum and Solidity that do not change.
About the curriculum designer
Jeffrey Scholz is designed this course is a two time best seller on Udemy.
This course was designed by Jeffrey Scholz, a two time Udemy best seller for the courses
If you learned a lot from those courses, you'll learn even more here!
Up to date for 2023. Cover your knowledge gaps in web3.
Module 1: Token Protocols
and Advanced Solidity development
Week 1: ERC20 and token sales with bonding curves
Build an ERC20 token sale with pricing determined by bonding curves. You will also learn every nook and cranny of the ERC20 protocol: decimals, minting, approvals, privilege escalation, transfer hooks, and the two ways to transfer tokens.
Week 2: ERC721, ERC721Enumerable, and ERC1155 staking and security considerations
Put an ERC721 on OpenSea and store images on IPFS. Build a project
that depends on ERC721Enumerable. You will make NFTs stakable to yield ERC20 tokens, and you will be build an exchange that mints NFTs when paid in ERC20 tokens.
Like the previous week, you will come out of this understanding every last bit
of the ERC721 protocol and implementation. You will practice and understand
re-entrancy as it relates to 721 and 1155 implementations.
Week 3-4: Advanced testing methodologies: Mutation tests and fuzzing.
Master unit tests that not only assesses functionality, but also all the state transitions
a smart contract can undergo. You will learn how to automatically catch mistakes
and clean up your code with slither and solhint.
You will implement mutation testing with hardhat to determine the quality of your tests
and automatically catch corner cases you didn’t think of. You will practice bug discovery using the Trail of Bits Echida library.
Module 2: Security
Week 5-9: Re-entrancy, Read only Reentrancy, msg.value in a loop, access controls, gas griefing, Denial of service, insecure randomness, arithmetic errors, improper data validation, business logic errors, and msg.sender spoofing.
We select problems from Damn Vulnerable DeFi, Capture the Ether,
and Ethernaut that you now have the prerequisite knowledge for (nothing is more
frustrating that trying to do a hack on a subject you haven’t studied before).
But we also have a secret repository created just for RareSkills students that
will test you on exercises you won’t find elsewhere online!
Module 3: Gas Optimization, Assembly Programming, and the EVM
Week 10-12: Writing and Deciphering Raw Bytecode without a decompiler
Learn from the bestselling author of the Udemy courses on gas optimization
and assembly programming. It’s not just enough to master Solidity. You must master
the environment that it runs in: the Ethereum Virtual Machine.
You will learn how the EVM actually conducts the transactions, stores information,
and the protocols it uses to receive instructions.
Students in this bootcamp get access to those courses for free.
You will do lots of Gas Optimization Puzzles and EVM puzzles. You will complete puzzles
that require you to write raw bytecode to really drill your knowledge of the EVM.
You will also work on the Ethernaut puzzles that aren’t hackable without understanding
the storage layout. You will practice the problems in our Github repo here.
Week 13-15: Yul programming
Build a non-trivial smart contract entirely in Yul (assembly). This is the hardest
assignment you will have in the class. You will parse calldata without syntactic sugar
for arguments, layout the storage word by word, and allocate the memory byte by byte.
You’ll build a non-trivial and tested smart contract without any Solidity.
Our students have universally said this is one of the hardest things they have ever done,
but it’s also when they begin to earn the feeling of truly mastering ethereum smart
This section is exceptionally challenging, some students require up to
4 weeks to complete it.
Module 4: Design Patterns
Week 16-17: Proxy patterns and proxy security
Now that you have the EVM under your belt, understanding proxy patterns will be a
piece of cake. You will clearly understand the motivation behind EIP 1967, UUPS, and
Transparent Upgradeable Proxies.
You will also practice relevant hacking exercises to
break incorrectly implemented proxy patterns. You will learn how to do these safely
with the OpenZeppelin Hardhat plugin.
You will also implement variations of EIP 1167 Minimal Proxy (or clones).
Week 18-19: Advanced design patterns
This week will study two upgrade patterns: metamorphic smart contracts and
the diamond pattern. Although they are rarely used in practice, implementing them
strongly enforces how the EVM works and also helps you be mindful that some widely
believed limitations on smart contracts (e.g. immutability) are not actually true!
We will learn other miscellaneous design patterns that don’t fall nicely
into their own category, including multicall, merkle trees, bitmaps, commit reveal,
multisignature wallets, leading zero addresses.
Week 20-22: Applied Elliptic Curve Cryptography
In this section you will learn how ECDSA (Elliptic Curve Digital Signature Algorithm)
works and how it is used in smart contracts. You will also learn the surprising ways
it breaks and what to do about it.
You will hack custom smart contracts we deploy to the main net
(and get a little cryptocurrency out of it!). You will also learn relevant
design patterns that depend on ECDSA signatures like EIP 712, Governance,
ERC 20 Permit, Metatransactions (gasless transactions) and Relayers.
About the Advanced Solidity Course
Get an idea of how rigorous it is
Read a compilation of our free advanced solidity material created by RareSkills!
How to get accepted to the Advanced Solidity bootcamp
At the RareSkills solidity coding bootcamp, we get a lot of applicants, but only 5 will be selected per class.
Here is what it takes to get your application accepted.
Previous blockchain experience
This is not a beginner solidity course. If you haven't deployed smart contracts or built a dapp before, this course will be too fast paced. Many of our students already have jobs as web3 developers. Take the dapp bootcamp instead of this if you are early in your Solidity career.
The coding test
We expect you to be proficient with basic data structures and algorithms. If you haven’t at least tried your hand at data structures and algorithm questions (on a platform like leetcode or hackerrank), you should spend a couple months practicing those first.
Don’t worry, you can always start at a later cohort.
Time spent practicing data structures and algorithms is never wasted. It is the foundation of computer science and makes every other subject easier to learn.
Now, we know that these kind of interviews cause anxiety for a lot of people. Therefore, we give you 72 minutes to answer each question instead of the traditional 45.
The majority of applicants do not even score one correct answer on the test, even though one of the questions is extremely easy: a variant of fizz buzz. So come prepared! Taking the test is free, so you have nothing to lose trying.
Your written application
If you have a relatively small amount of coding experience (less than 3 years), write a detailed essay about why you are a good fit for the program. Show what you have taken initiative with in learning.
Share accomplishments even if they aren’t programming related. We want to see you know what staying the course to the finish line looks like.
You didn’t think becoming a senior blockchain engineer would be a walk in the park do you? No, acquiring Rare Skills takes time. We can speed up the process, surround you with people who will be a good influence, and show you the fastest route, but there is no shortcut to expertise. Show us you understand the challenge at hand and are prepared to tackle it.
The Best Web3 Career Services
RareSkills is the only place you will find raw career advice from industry insiders. There is a lot of excitement about “get a job in web3.” But at RareSkills, not only have our instructors gotten jobs in web3, they are hiring managers who decide who gets jobs in web3.
Honest advice about web3 Salaries
Advice for engineers in developing countries. (video)
Honest advice about whether you need Solidity or not
Working in web3 does not require solidity (blog)
Why knowing how to build NFTs and ERC20 tokens is not enough
Competition is stiff for entry level roles (blog)
Why you shouldn’t just get “any” job in web3
Ranking Solidity jobs by difficulty obtaining them (blog)
Anyone can claim to "get you a job in web3" but the details matter
Just because a job is "in web3" doesn't mean it pays well or gives you career upside
We’ve seen thousands of resumes over the course of our careers. We know what it takes to make yours stand out.
Although our primary service is providing a high quality education with an outstanding network, we benchmark the quality of our service by the caliber of job offers our students obtain. And of course, if you do well in the bootcamp, you will be able to leverage our professional network.
I'm new to coding can I join?
You can apply, but you almost certainly won't pass the entrance exam.
I've already taken another Solidity bootcamp, will this benefit me?
We have solidity instructors and solidity professionals sign up for this course. You'll be in good company! If you score 60% or lower on our solidity test, then we are sure the course is a good fit for you.
I already work as a web3 developer, will this benefit me?
Not only will it benefit you, we've had a lot of companies pay the tuition of their blockchain engineers to attend this! This is a win-win for you. You will still have to go through our admissions process like everyone else however.
I'm a technical web3 founder, will this benefit me?
About 10% of our students are entrepreneurs who own their own business or a founder stake in it.
I'm new to Solidity, can I get accepted?
You can, but your application will have a relative disadvantage and you will need to do extremely well on the coding test and have a strong application to get in. We strongly recommend that you complete the resources listed above before you start. You also need to be ready to dedicate more than 30 hours per week.
Why do you limit the class size to five?
In a large class, people get too intimidated to ask or answer questions in a group. However, answering and asking questions is an important catalyst for learning quickly. The size limit makes it easier for the instructor to develop a better relationship with the student and keep track of their progress and weaknesses.
These benefits don't happen in a large class.
We have zero venture funding, so we are under no pressure to grow quickly. This allows us to focus on quality over quantity.
How hard is this bootcamp?
Really, really hard. (Just check our testimonials!) Chances are, you won't complete it within the sixteen weeks (we make allowances for people falling behind to a certain degree). We are trying to cram almost a year of experience into a third of a year by keeping you in a constant state of learning new things and making new mental connections.
You should be ready to set aside 20 to 30 hours per week to complete this program. If you are more junior, this may end up being a full time bootcamp for you.
There is a lot of free material online. Why should I pay for this bootcamp?
Of course there is, but how is that working out for most people? When you join the RareSkills bootcamp, you join a curated community of determined people and get direct one-on-one time with industry leaders who will inspire you to new heights in your career and answer questions search engines cannot. There is a lot more to fulfilling your career goals than just coding. People who have actually accomplished what you are trying to do will help you the most. Also think about this in terms of the value of your time.
Let's say you charge $50 per hour ($100,000 per year salary). If we save you about 120 hours of wasted study time, you recoup the cost and get a bigger professional network. That amounts to about 7-8 hours per week of time saved.
How does time get wasted studying?
Getting distracted more easily because you are working alone with less accountability
Spending a lot of time looking online for information you can't find on stackoverflow or a blog somewhere
Trying to decipher sparse documentation
The question isn't whether you can learn all of this on your own (hopefully you can!), it's how fast do you want to do it and do you want the other integrated benefits?
Spending money on a bootcamp doesn't mean you not capable of learning on your own. We have very successful entrepreneurs and programmers pay to join our program. Nobody would accuse them of being incapable of learning on their own.
As noted in the prerequisites, there is already a lot of quality free material available that will take you from zero to a solid beginner, if not a rising intermediate.
What happens if it takes me longer that 20 weeks to complete the program?
This is normal. We make allowances for this as long as we can see you are putting the effort in.
However, we do not tolerate students not taking the program seriously. We want our group of 5 to be a high quality group who will positively influence each other's outcome and form a valuable network.
If life circumstances happen that force you to delay your education, we will move you to the next cohort. However, if you are falling behind because of not taking the bootcamp seriously, we will ask you to stop the program.
Your success is our success. We want you to go off and do great things in the blockchain space. But we cannot force you to be passionate about the subject — and you must be passionate about the subject to join and stay in the program.
What do I need to do to reserve my spot?
You must pass the coding test with a sufficient score. Then you will do a 30 minute video interview with one of our staff. If your application passes, you will be given a conditional offer of acceptance. To reserve your spot, you will need to pay at least the first month of tuition. Please not that students who pay the entire amount upfront may be given preference for admission, all else being equal.
Do you help with job placement afterwards?
If your employer is paying for your education, absolutely not, that would be a conflict of interest!
For everyone else, we do. We encourage you to see our outcomes and testimonials to see what kind of jobs our students get. Depending on the hiring partner, we may earn acommission from referring you to a job. If you are a freelancer, we may also refer web3 engineering work to you (and collect a commission). Our instructors are also hiring managers and we will be happy to help you fix up your resume and prepare for interviews. As engineering leaders who have conducted dozens, if not hundreds of interviews dozens and seen hundreds, if not thousands of resumes, our feedback hold far more weight than most other career services.
Please note that although our career outcomes are very good, our primary goal is build up your skills to the point where you can move the web3 space forward.
We are not here to entice you with six figure salaries like most bootcamps do. Many of our students already earn that much.
You should care about subject mastery of blockchain for its own sake, and we are here to help you achieve that as fast as possible.
Duration: 5 months, $6000 upfront OR 5 monthly installments of $1,300
Please see our pricing page for up to date details.
Note: bulk discounts may be available if several employees sign up at once.