Blockgeeks Basic Solidity Course Basic Solidity Course

Blockgeeks Basic Solidity Course

Special Training for Ethwaterloo Participants | taught by Stu Peters
Free Trial
Stu Peters
Stu Peters

About the Instructor

Stu Peters is the Chief Technical Officer of ChainSafe Systems; an intuitive user centric systems design firm based in Toronto, Canada. Stu has years of experience in the Blockchain space, his main focus is on the use of smart contracts in everyday life. ||

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 course 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:

  • Acquainted with HTML, CSS and Javascript
  • "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.

Course Contents

34 Videos
18 Texts

Course Curriculum

Setting up the development environment
Intro to gas
Contract events
Overview of a compiled contract object
Broadcasting simple transaction to local testRPC blockchain
Deploying 'hello world' contract to local testRPC blockchain
Building and deploying escrow contract to the Ethereum testnet
Live coding a coin contract
Deploying coin contract to Ethereum testnet
Live coding a crowdfunding contract
Deploying a corowdfunding contract to Ethereum testnet