Curso Ethereum Development Hands-on

  • Blockchain | NFT | DeFi | Metaverse

Curso Ethereum Development Hands-on

24 horas
Visão Geral

Curso Ethereum  Development Hands-on, foi desenvolvido para programadores e desenvolvedores que desejam dar um mergulho profundo na redação de contratos inteligentes e na construção de aplicativos que interajam com eles. Este curso fornece visões gerais detalhadas de Ethereum, contratos inteligentes e a linguagem de desenvolvimento Solidity.

O aluno será exposto ao conjunto de recursos adaptáveis ​​do Ethereum, que permite ao desenvolvedor projetar aplicativos descentralizados para incontáveis ​​aplicativos. Os alunos também participarão de sessões práticas de laboratório de programação para aprender, desenvolver e aprimorar suas habilidades no desenvolvimento de Ethereum.

O Curso de Treinamento de Desenvolvimento Ethereum é projetado para aqueles que buscam um conhecimento profundo e experiência de desenvolvimento da plataforma Ethereum Blockchain. Os alunos participarão de aproximadamente 50% do tempo de laboratório de programação, proporcionando experiência prática, aprimorando seus conhecimentos e o conjunto de habilidades existentes. Devido ao conteúdo do laboratório de programação técnica abordado neste curso, ele não é recomendado para quem não tem conhecimento e experiência em programação.

Objetivo

Apos realizar este Curso Ethereum  Development Hands-on, você será capaz de:

  • Um excelente conhecimento geral da arquitetura Ethereum e da linguagem de Solidity.
  • Todos os componentes funcionais (incluindo contratos inteligentes) necessários para desenvolver um Ethereum Blockchain.
  • A compreensão de como instanciar um aplicativo Ethereum na rede.
  • Uma compreensão profunda de como as transações são criadas e implementadas em uma rede Ethereum.
Publico Alvo
  • Programadores
  • Desenvolvedores de aplicativos
  • Arquitetos de sistema
  • Arquitetos de rede
  • Arquitetos de segurança de rede
  • Profissionais de TI com experiência em programação
Pre-Requisitos
  • Absolutamente necessário: Conhecimento básico em JavaScript / HTML
  • Vantajoso: Conhecimento básico em C ++ / Java, tipos de dados
  • Vantajoso: Conhecimento básico com repositórios git
Materiais
Inglês | Português
Conteúdo Programatico

Blockchain and Smart Contract Basics

  • What is Blockchain and how does it work?
  • Centralized vs. Decentralized vs. Distributed
  • Blockchain vs. Databases
  • Bitcoin vs Ethereum
  • What are Smart Contracts?
  • How are Smart Contracts used?

Smart Contract Programming Basics

  • Advantages and Drawbacks of Smart Contracts
  • Layer 1 vs. Layer 2
  • High-Level Language vs. Low-Level
  • Languages in Comparison Solidity, Vyper, others
  • Smart Contracts with Solidity
  • The Layout of a Solidity File
  • LAB TASKS (Lab 1)
    • Types of Variables in Solidity
    • Function/Variable Visibility
    • Smart Contract Constructors
    • Setter- and Getter-Functions

Understanding Decentralized Information and Web3

  • Blockchain Access structures and Architectures
    • Remote Blockchain Nodes vs. Local Blockchain Nodes
  • Blockchain Access vs. centralized RESTful API
  • Understanding Web3.js API
  • Understanding Transactions and Consensus
  • Private Keys, Public Keys and Signatures
  • Understanding privacy on pubic Blockchains
  • Understanding the architecture of KeyStore’s such as MetaMask or MIST
  • LAB TASKS (Lab 2 – Ropsten Test-Ether and MetaMask)
    • Installing and Configuring MetaMask
    • Obtaining Ropsten (or Testnet) Ether
    • Tracing Ether through Block-Explorers
    • Understanding Infura

Basics of Ethereum and the EVM

  • Ethereum Denominations
  • Understanding EVM and the ABI Interface
  • Calls vs. Transactions
  • Concurrency and Events
  • Use cases of Events
  • LAB TASKS (Lab 3 Web3JS Operations + Lab 4 Events)
    • Install and Use Ganache
    • Work with Web3.js
    • Work with Infura
    • Define Events
    • Listen and React to Events

Solidity Advanced: Modifiers, Mappings, Structs and Inheritance

  • Understanding Functions, Mappings and Structs
  • When to use Modifiers
  • Libraries vs. Inheritance
  • LAB TASKS (Lab 5 Modifiers, 6 Mappings and Structs, Lab 7 Inheritance)
    • Understand and use Modifiers
    • Add Mappings and Structs
    • Use Inheritance to increase auditability

Understanding Deployment and Costs

  • Understand Development and Deployment Cycles
  • Understanding Solidity Compilation and Deployment
  • Gas and Gas-Costs
  • Upgradeability and Data Migration Techniques
  • Understand the moving Parts: Compiler, Blockchain, API, KeyStore
  • LAB TASKS (Lab 8 Deployment, Lab 9 Tie it together)
    • Changing from strings to bytes (save gas)
    • Deploy using Ropsten Test-Ether
    • Understand the difference when using a real Blockchain
    • Use a fully functioning distributed Application

Mining, Proof of Work vs. Proof of Authority

  • What is Mining in PoW?
    • How blocks are generated
    • PoW vs. PoA (vs. PoS)
  • Understanding Go-Ethereum or Ganache/TestRPC for local development
  • Understanding Private Blockchains vs. Public Blockchains
  • LAB TASKS (Lab 10 Mining)
    • Installing and using Ganache
    • Installing and using Go-Ethereum
    • Connecting to Ganache/Go-Ethereum from Remix and Web3.js
    • Interact with the Blockchain from HTML/JS

Current Problems, Solutions, Outlook, Serenity

  • Ethereum Now and Ethereum Future
  • Where we are at with Ethereum
    • Homestead
    • PoW
  • Where Ethereum is heading to
    • Serenity
    • PoS + PoW to PoS
    • Sharding
  • Recommended Newsletters/Groups

Working in Teams, Testing and Versioning

  • Understanding what Truffle is
  • Comparison to Embark
  • How Manage Code for Teams
  • Understanding Migrations
  • Understanding Unit-Testing with Truffle
  • LAB TASKS (Lab 11 Truffle setup, Lab 12 Truffle Unit Testing)
    • Download and Setup Truffle
    • Adapt the standard Truffle-Project
    • Write A Unit Test

IPFS and distributed File-Storage

  • What is IPFS
  • Comparison between IPFS, FileCoin, Swarm, Sia, Storj
  • LAB TASK (Lab 13 – IPFS)
    • Install and work with IPFS
    • Upload and retrieve a fully decentralized file

Bonus Section: Compilation

  • LAB TASK (Lab 14 – Compilation)
    • Compile a Solidity File with a command-line compiler

Lab Overview

Lab 0 – Understanding Components

  • In this Lab we discuss the components used, where to get them and how to install them.

Lab 1 – Variables

  • In this Lab you will get to know Remix and run simple Smart Contracts

Lab 2 – Ropsten and MetaMask

  • In Lab you will get Ether from the Ropsten or Rinkeby Testnet and trace the Ethers on their way to the browser-plugin MetaMask.

Lab 3 – Web3.JS Operations

  • During this Lab you will understand what Web3.JS is and how it is used to retrieve Information.

Lab 4 – Events

  • Here you will learn a classic use-case for events to overcome concurrent workflow issues

Lab 5 – Modifiers

  • In this Lab we will work with modifiers

Lab 6 – Mappings and Structs

  • Mappings and Structs are powerful data-structures which you will learn in this Lab

Lab 7 – Inheritance

  • When using Solidity it’s good to keep things clear and small to be able to audit it. In this Lab we discuss Inheritance

Lab 8 – Gas-Costs and Deployment

  • In this Lab you will learn how to optimize the smart contract, deploy the contract and what to pay attention to in practice.

Lab 9 – Final DApp, Tie it Together

  • We put all the components together and work with the final distributed Application.

Lab 10 – Mining

  • During this lab you will see the difference of mining in a proof of authority consensus network and a proof or work network.

Lab 11 – Truffle Setup

  • This Lab will teach how Truffle can be used to work in teams and with code locally. We will install and adapt the truffle default workflow.

Lab 12 – Truffle Unit Tests

  • In this Lab we will do one of the most important steps during Contract Development: Create Unit-Tests for our Smart Contract

Lab 13 – IPFS

  • During this Lab you will create a fully decentralized file-storage which will store files on IPFS and pointers on Ethereum

Bonus Lab – Solidity Compilation

  • In this Lab you will learn how to manually compile a solidity file with the command line solidity compiler
TENHO INTERESSE

Cursos Relacionados

Curso Blockchain Visão Geral Para Negócios

16 horas

Curso Blockchain Opportunity Analysis

16 horas

Curso BIM Foundation para Engenheiros

16 horas

Curso App BIM para Engenheiros

24 Horas

Curso Blockchain with Ethereum & Solidity

16 horas

Curso Ethereum Developer Foundation

32 horas

Curso Blockchain Solution Architecture

24 horas

Curso Blockchain for Healthcare

24 horas