Visão Geral
Curso Ethereum Solidity and Smart Contract Development, você também aprenderá a usar o Truffle (um framework JS popular) para compilar contratos inteligentes e automatizar o teste de contratos. Além disso, você aprenderá a criar e gerenciar um serviço de carteira. Por fim, este curso é acompanhado por muitos laboratórios práticos.
Objetivo
Após realizar este Curso Ethereum Solidity and Smart Contract Development, você será capaz de:
- Revise a arquitetura e os componentes do Ethereum
- O que são DApps e como eles funcionam
- Cobrir todos os tópicos e sintaxes para fazer programação Solidity
- Crie e implante seu primeiro DApp usando Ethereum
- Saiba como a API Web3.js ou Ethereum JS funciona
- Configure e use a estrutura Truffle.JS para compilar contratos inteligentes e automatizar o teste de contratos
- Saiba como criar e gerenciar um serviço de carteira
Pre-Requisitos
Conhecimento prévio de tecnologia blockchain e criptografia que são abordados em nosso curso Blockchain Solution Architect são necessários antes de fazer este curso. Bons conhecimentos de JavaScript, Node.JS e OOP são os outros pré-requisitos deste curso.
Informações Gerais
- Carga horaria, 32h
- Se noturno este curso e ministrado de segunda-feira a sexta-feira das 19h às 23h, total de 8 encontros
- Se aos sábados das 09h às 18h, total de 4 encontros,
- In-company
Formato de Entrega:
- In-company
- 100% on-line ao vivo via Microsoft Teams, na presença de um instrutor/consultor/developer
- Apostila + Exercícios Práticos
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico
Overview of Blockchain, DApp and Ethereum
- Overview of blockchain technology
- Centralized versus decentralized networks
- Decentralized autonomous organization
- User identity in DApps
- User accounts in DApps
- Internal currency in DApps
- What are permissioned DApps?
- Popular DApps
- Overview of blockchain cryptography
- Blockchain development platforms
- What is Ethereum and how it works
- Ethereum versus Hyperledger
- Hyperledger Burrow & Ethereum
Overview of Ethereum Components
- Ethereum accounts
- Transactions
- Consensus
- Timestamp
- Nonce
- Block time
- Forking
- Genesis block
- Ether denominations
- Gas
- Peer discovery
- Whisper and Swarm
- Geth
- Ethereum Wallet
- Mist
Introduction to Smart Contracts
- A Simple Smart Contract
- Blockchain Basics
- The Ethereum Virtual Machine
Installing the Solidity Compiler
- Versioning
- Remix
- npm / Node.js
- Docker
- Binary Packages
- Building from Source
- CMake options
- The version string in depth
Solidity in Depth
- Layout of a Solidity Source File
- Structure of a Contract
- Types
- Units and Globally Available Variables
- Expressions and Control Structures
- Contracts
- Solidity Assembly
- Miscellaneous
- Solidity v0.5.0 Breaking Changes
Using the Compiler in Solidity
- Using the Command line Compiler
- Setting the EVM version to target
- Compiler Input and Output JSON Description
Contract Metadata
- Encoding of the Metadata Hash in the Bytecode
- Usage for Automatic Interface Generation and NatSpec
- Usage for Source Code Verification
Contract ABI Specification
- Basic Design
- Function Selector
- Argument Encoding
- Types
- Design Criteria for the Encoding
- Formal Specification of the Encoding
- Function Selector and Argument Encoding
- Examples
- Use of Dynamic Types
- Events
- JSON
- Strict Encoding Mode
- Non-standard Packed Mode
Introduction to Web3.js
- Initiating of Web3
- Web3.modules
- Options
- Default components
- defaultBlock
- defaultAccount
- defaultGasPrice
- defaultGas
- Transaction components
- transactionBlockTimeout
- transactionConfirmationBlocks
- transactionPollingTimeout
- transactionSigner
- Provider components
- setProvider
- providers
- givenProvider
- currentProvider
- BatchRequest
- Version
Get Started with Truffle.JS
- Installation
- Creating a Project
- Compiling Contracts
- Running Migrations
- Interacting with Your Contracts
- Truffle with MetaMask
- Package Management via EthPM
- Package Management via NP
- Debugging Your Contracts
Solidity Hands-on Labs
- Develop a complex voting application
- Build voting contract part- Lab 1
- Build blind auction part- Lab 2
- Create safe remote purchase part- Lab 3
- Develop micropayment channel part- Lab 4
Creating a Wallet Service
- Online versus offline wallets
- hooked-web3-provider and ethereumjs-tx libraries
- Overview of hierarchical deterministic wallet
- Introduction to key derivation functions
- Overview of LightWallet
- Building a wallet service
TENHO INTERESSE