Certified Ethereum Developer
About the Instructor
Hi! I’m Rob - Certified Ethereum Developer
I’ve been involved in Cryptocurrency since 2011 and Ethereum since the first block was mined.
The world of Smart Contracts is populated by some of the best and brightest minds you will encounter anywhere, and no shortage of data. Still, it can be very challenging and time-consuming for the most experienced developer to acquire the know-how required to confidently tackle serious projects.
This is the training I wish had been available years ago. it will be my pleasure and privilege to unfold the practical skills, reliable patterns and new modes of thinking that will equip you to tackle your serious Smart Contract application with confidence.
Course Is still in Development.
Got a question for Rob the course creator? Ask it in the discussion section
Do you want to build a scalable, manageable Ethereum Dapps?
Do you want to work with clear well-solved Solidity patterns?
Do you want to understand security and know your Dapp is defended?
Do you want to proceed with confidence and get your project built?
Solidity Contract Factory prepares you to design, construct and manage enduring systems of Smart Contracts entrusted with significant value. We unfold essential knowledge and patterns you can use to confidently design and build your signature system.
This training is for experienced developers who want to get up to speed fast. We begin where most introductory training ends - with a feature-complete functional Smart Contact and User Interface. We focus on the vital information you, as a developer, need to internalize to successfully design and build applications for this unique platform.
Using hands-on examples, video lectures, and the evolving code, you will learn:
- Widely applicable patterns for everyday use
- Industry recognized Best Practices
- Known attack vectors, how they work and how to prevent them
- Anti-patterns, why you should avoid them, and proven alternative approaches.
You will gain valuable insights into common mistakes Solidity developers make. You’ll be able to spot errors, security issues and oversights in unfamiliar code quickly and effortlessly because you’ll know exactly what patterns to look for; patterns that should always be present, and patterns that should never be present.
What Should You Know Before Starting This Course?
The following are helpful but not essential:
- "Survival" level Linux skills
No previous experience with Ethereum Smart Contracts is required. Every line of code is explained: What it does, how it does it, and importantly: the underlying principles behind the structure of the examples. The concepts presented are supported by curated suggested reading. Easily digestible principles and practices with hands-on application in a realistic project provides context for curated reference materials.
Each lesson is presented with hands-on demonstration and explanation:
- A recorded lecture - What it does, The Problem it Solves and How it Works
- A hands-on coding demonstration with line-by-line commentary
- Links to carefully vetted reference materials supporting the points raised in the lesson, and the latest developments
- Reference application code to compare with your own
Students are given a pre-configured virtual machine with all tools configured and ready to go. Your personal environment will match the instruction precisely:
- Saves days of setup time
- Avoids version and setup quirks that interfere with the purpose of the training
- Ensures a positive and complete experience with a productive development environment
Who is This Course Targeted Toward?
- Even if Ethereum is completely new, experienced developers should be able to learn by example. We go immediately to the weird parts that illustrate how Ethereum differs from other platforms. The critical new thinking and well-solved patterns developers need to effectively plan and use this unique platform and language.
What Will You Achieve By Enrolling In This Course?
- Align your thinking with the unique properties of this platform
- Clearly understand common design patterns and recognize when to use them
- Habitually and effortlessly observe Best Practices in your code, by deeply understanding how the patterns work and the protection they offer
- Learn how to quickly and easily recognize security risks in unfamiliar source code
- Understand precise implications of the Ethereum Virtual Machine, instantly recognize feasible use-cases and confidently design scalable applications
- Learn how to address long-term operational and maintenance concerns including administrative control and software upgrades.
- Understand the competing objectives inherent in all Smart Contract projects, understand the options available and know how to clearly communicate the choices to both technical and non-technical stakeholders.
What Will We Build?
The training begins with a feature-complete crowd-funding application complete with a simple Smart Contract and HTML/CSS/AngularJS user interface.
- We illuminate non-obvious but naïve design details.
- We explore the security problems in depth.
- We solve the security problems.
- We create a Hub that deploys and manages many fund-raising contracts for many projects.
- We add administrative controls including emergency intervention.
- We implement upgradable (fixable) logic.
What Do I Need?
This is self-paced training using recorded video and hands-on “try it yourself” coding. You will need:
- A computer with 8GB of RAM (recommended minimum). An SSD is recommended but not essential.
- When you enroll for the course, you will be given access to a virtual machine image and instructions for installing Virtual Box (free) on Windows, Linux or Mac.
- You will need an internet connection capable of downloading the video content.
- PART 1 - First Principles FREE
- PART 2 - Application Overview FREE
- PART 3 - Introducing Remix, Pragma, Functions FREE
- Constructor functions and the Contribute Function FREE
- Structs and Arrays FREE
- Withdraw and sendRefunds functions
- Testing the initial contract
- The Event Log and Event Emitters
- PART 4 - Introducing Truffle. Compiling and Unit Tests
- Running Unit Tests with Truffle
- Testing Owner and Deadline
- Non-Trivial Tests with Truffle
- PART 5 - User Interface, Truffle Build
- Introducing AngularJS and Truffle Build
- Getting Contract Data
- Contract Data on the Web Page
- Linking Events with the User Interface
- Sending Transactions from a Web Page
- Pause. Reflect. Review. FREE
- PART 6 - SHOCK! HORROR!
- Introduction to Re-entrance and Scalability
- Applying Security and Scalability Concepts in the Contract
- Testing the Refactored Contract
- Module Summary, Key Concepts
- Reference Code. Suggested Reading. More information.