Curso Ethereum Developer

  • APP Mobile & Development

Curso Ethereum Developer

horas
Visão Geral

Este curso foi desenvolvido para aqueles que buscam uma profunda compreensão e experiência de desenvolvimento com a plataforma Ethereum Blockchain. Você obterá uma visão geral do Ethereum, contratos inteligentes e a linguagem de desenvolvimento, Solidity. Você escreverá contratos inteligentes e criará aplicativos que interagem com eles.

O conjunto de recursos adaptáveis da Ethereum, que permite projetar aplicativos descentralizados para inúmeras aplicações, será discutido. Você participará de sessões práticas de laboratório de programação para poder desenvolver e aprimorar suas habilidades no desenvolvimento do Ethereum.
Aproximadamente 50% da aula será em laboratório. Isso fornece experiência prática, o que aprimora seu conhecimento e o conjunto de habilidades existentes.

O que é Ethereum?

  • Ethereum é uma plataforma global de código aberto para aplicativos descentralizados.
  • No Ethereum, você pode escrever um código que controla o valor digital, seja executado exatamente como programado e esteja acessível em qualquer lugar do mundo.
Objetivo
  • Blockchain e conceitos básicos de contrato inteligente
  • Noções básicas de programação de contratos inteligentes
  • Compreendendo informações descentralizadas e Web3
  • Noções básicas do Ethereum e do EVM
  • Solidity avançado: modificadores, mapeamento, estruturas e herança
  • Noções básicas sobre implantação e custos
  • Mineração, Prova de Trabalho versus Prova de Autoridade
  • Problemas atuais, soluções, perspectivas e serenidade
  • Trabalhando em equipes, testando e versionando
  • IPFS e armazenamento de arquivos distribuído
Publico Alvo
  • Programadores, desenvolvedores e arquitetos.
Pre-Requisitos

Este curso é altamente técnico e exige que os alunos se sintam confortáveis com a codificação. Para se preparar para a aula, você deve:

  • Forneça seu próprio computador (Mac / PC / Linux) (os laboratórios estão hospedados em um ambiente virtual)
  • Possuir habilidades básicas de programação em JavaScript / HTML
  • Conhecimento básico em C ++ / Java, tipos de dados (vantajoso)
  • Conhecimento básico com repositórios git (vantajoso)
Informações Gerais

Aprenda sobre o uso do Ethereum para desenvolver sua solução pública de Blockchain

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 tEvents

SOLIDITY ADVANCED: MODIFIERS, MAPPINGS, STRUCTS AND INHERITANCE

  • Understanding Functions, Mappings and Structs
  • When tuse 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 tincrease 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 tbytes (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 tGanache/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 tPoS
  • Sharding
  • Recommended Newsletters/Groups

WORKING IN TEAMS, TESTING AND VERSIONING

  • Understanding what Truffle is
  • Comparison tEmbark
  • 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
TENHO INTERESSE

Cursos Relacionados

Curso Python Introdução a Programação

32 horas

Curso iOS Swift Desenvolvendo Apps

40 horas

Curso Desenvolvimento de Aplicações Para SAP HANA 

24horas

Curso Big Data Analyst Mineração de Dados

32 horas

Curso SAP FIORI Desenvolvedor Fiori

32 Horas

Curso SAP ABAP HANA - Desenvolvedor ABAP HANA

24 horas

Curso Técnicas de integração de dados ETL

16 horas

Curso Cloudera Developer para Apache Spark e Hadoop

32 horas

Curso Cloudera Administrador Apache Hadoop

32 horas