Address

Onsite / tbd

Description

 

Eris for Developer

This two-day onsite-course is geared for advanced blockchain developers to equip participants with fundamental knowledge and practical experience to build an MVP on the Eris technology stack. We will also briefly cover related technologies such as IPFS which complement and extend the DAPP development stack.

Day 1

Introduction to blockchains and smart contracts

  • What are blockchains and smart contracts?
  • Speciality of blockchains and smart contracts
  • Dual Integration Smart Contracts

Ecosystem applications: The motivation behind the Eris tech stack

  • Process Management Tooling architectures
  • Introduction of workshop example: mortgage-backed securities
  • Blockchain tech: Core capabilities and business needs

Introduction to IDE and setting up Eris

  • Browser-based Ether.Camp IDE
  • Install Docker & Eris
  • Start/make keys/chains
  • General tour of the CLI

Core components of blockchain technology

  • Consensus algorithms
  • Inherent validity
  • Hash functions
  • Public key cryptography

Introduction to Solidity

  • Simple elements: contract, constructor, address, msg.sender, msg.value, address.balance, mappings
  • Start building simple example.

The Eris technology stack

  • Functionality available in Eris
  • Future development directions

Specific example in Solidity

  • Exercise: participants finalize example
  • Discussion of results
  • Presentation of first working example
 

Day 2

Deploying contracts, handling accounts, genesis.json

  • SFTP contract from IDE to Eris machine (all in browser)
  • Deploy contract
  • Investigate genesis.json

Interfacing contract via Nods.JS

  • Investigate compiler output (abi and address)
  • Build minimal app.js (Node.JS) to expose smart contract
  • Use webserver (express)
  • Interface contract (via abi and address)
  • Simple read/writes to contract
  • Events

Advanced example - I

  • Advanced elements: modifiers, inheritance, suicide, internal, hash functions, time
  • Start developing an advanced example of smart mortgage-backed securities.

Advanced example - II

  • Exercise: participants finalize smart mortgage – backed securities.
  • Discussion of results
  • Presentation of working example

Setting up multi-validator network

  • Participants send addresses to each other
  • Generate joint genesis.json
  • Setup of consortium blockchain amongst participants
  • Play token contract / MBS example on that network.

Best practices of smart contract programming

  • Uniqueness of smart contract programming
  • Known anti-patterns in smart contract programming
  • Case study: GovernMental Ponzi and ‘The DAO’
  • Building fault tolerant smart contracts
  • Best practices of smart contract programming

Open discussion round

  • Questions
  • Applications of interest for participants
  • Detailed discussion on technical approaches for participant applications
Workshop request form