Certified Blockchain Developer Ethereum (CBDE)
10116
Avanzado
Blockchain
24 horas
1.600 €
Convocatorias
Inicio - Fin
Horario  
15 enero - 24 enero Mar, Mie y Jue de 16:30 a 20:30 Sin definir
1 marzo - 8 marzo Lun, Mar, Mie, Jue y Vie de 16:15 a 20:15 Sin definir
Descripción

Este curso está diseñado para programadores y desarrolladores que desean realizar una profunda inmersión exhaustiva en la creación de smart contracts y crear aplicaciones que interactúen con ellos.

Aprenderá y construirá tanto una aplicación básica como un contrato inteligente con nuestros laboratorios prácticos exclusivos. Este curso le presentará el marco Web3 & Truffle y lo vinculará todo mediante la construcción de un proyecto web completo con Ethereum.

El examen de certificación para la obtención del CBDE:Certified Blockchain Developer Ethereum se incluye en el precio del curso, a la finalización del mismo se entregará a cada alumno un voucher de Pearson VUE para la realización del examen.

KNOWTECH es el único partner oficial en España de la Blockchain Training Alliance.

Objetivos

Durante el curso se dedicará más del 50% del tiempo a laboratorios que cubren los pasos para integrar y desarrollar una aplicación con Ethereum. Hay casos de uso y pruebas de conceptos, así como trabajos de laboratorio interactivos sobre los conceptos.

Conocimientos necesarios:
Este curso es altamente técnico en naturaleza y requeriría que el estudiante se sienta cómodo con la codificación. Para prepararse para la clase, todos los estudiantes DEBEN tener habilidades básicas de programación de C / C ++ o Java Script.

Examen de certificación:

El examen Certified Blockchain Developer Ethereum se incluye en el precio del curso. Aquellos que asistan al curso de Desarrollo de Ethereum y aprueben la certificación del examen tendrán un conocimiento demostrado de:
  • Una excelente comprensión general de la arquitectura Ethereum y el lenguaje Solidity.
  • Todos los componentes funcionales (incluidos los contratos inteligentes) requeridos para desarrollar una cadena de bloques Ethereum.
  • La comprensión de cómo crear una instancia de una aplicación Ethereum en la red.
  • Una comprensión profunda de cómo se crean e implementan las transacciones en una red Ethereum.
Contenido
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