Contratos Inteligentes: Programação Solidity para Ethereum
4.6 (287 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,600 students enrolled

Contratos Inteligentes: Programação Solidity para Ethereum

Introdução à Programação de Contratos Inteligentes em Solidity para a plataforma de Blockchain Ethereum.
4.6 (287 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,600 students enrolled
Last updated 9/2018
Portuguese
Price: Free
This course includes
  • 4 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What you'll learn
  • Com esse curso você será capaz de desenvolver contratos inteligentes na linguagem Solidity para a plataforma de blockchain Ethereum.
Requirements
  • Esse curso requer nenhum conhecimento prévio.
  • Recomendamos assistir ao curso "Blockchain: O que todos devem saber" do Udemy.
Description

Um contrato inteligente é um conjunto de promessas, especificadas em formato digital, incluindo protocolos nos quais as partes cumprem essas promessas. O Ethereum é uma plataforma blockchain que executa contratos inteligentes, que podem ser escritos em linguagem de programação, potencializados pelas propriedades de descentralização de poder, imutabilidade e outras presentes em uma rede blockchain.  

Esse curso ensina a desenvolver contratos inteligentes na linguagem de programação Solidity para a plataforma Ethereum, sendo uma excelente introdução a esse novo universo digital e a própria programação em função da didática do curso e de exemplos lúdicos.

Who this course is for:
  • O conteúdo deste curso é essencial para profissionais de qualquer área que queiram compreender com maior profundidade o conceito de contratos inteligentes.
  • Também é um primeiro contato interessante com uma linguagem de programação para profissionais de todas as áreas.
Course content
Expand all 26 lectures 03:46:55
+ Bem-vindo
3 lectures 11:23

Os professores Rafael Nasser e Ronnie Paskin apresentam os objetivos do curso nessa aula introdutória. Lembramos que é recomendado assistir ao curso "Blockchain: o que todos devem saber", disponível como recurso adicional desta aula, antes de iniciar esse curso. Também disponibilizamos capítulo de livro sobre Blockchain para os que desejarem uma revisão mais profunda.

Objetivos do Curso
00:40

Esse curso foi desenvolvido por professores e pesquisadores do Legalite, o núcleo de direito e tecnologia da PUC-Rio, a Pontifícia Universidade Católica do Rio de Janeiro. Nessa aula o Prof. Rafael Nasser apresentada as áreas de atuação deste núcleo, uma parceria dos Departamentos de Direito e Informática da Universidade. Esse curso faz parte do ECOA PUCRIO, uma iniciativa da PUC-Rio para compartilhar conteúdo educacional de forma digital, democrática e gratuita.

Quem Somos?
01:41

Prof. Rafael Nasser desmistifica o conceito de contratos inteligentes e apresenta o Ethereum, que elevou esse conceito a outro patamar, inspirando o surgimento de inúmeras plataformas de blockchain programáveis.

Contratos Inteligentes
09:02

Nesse questionário buscamos solidificar alguns conceitos aprendidos na seção 1 do Curso.

Contratos Inteligentes
1 question
+ Ethereum
2 lectures 04:27

Nessa aula o Prof. Ronnie Paskin explica o propósito da Ethereum Virtual Machine (EVM) e fala em maiores detalhes sobre o Solidity, linguagem de programação de contratos inteligentes do Ethereum.

Ethereum Virtual Machine (EVM)
03:18

O Prof. Ronnie Paskin faz uma rápida apresentação do Remix, ambiente que vai ser utilizado para desenvolver seus contratos inteligentes nesse curso. Como atividade adicional, é muito importante que você acesse o Remix e comece a se familiarizar com esse ambiente.

Remix
01:09

Nesse questionário buscamos solidificar alguns conceitos aprendidos na seção 2 do Curso.

Ethereum, EVM e Remix
1 question
+ Introdução a Programação em Solidity - Parte I
6 lectures 47:16

Nessa aula vamos conhecer um contrato inteligente que armazena um valor que pode ser atualizado ou consultado. O Prof. Ronnie Paskin também simula o envio deste contrato para a rede Ethereum, procedimento conhecido como deploy. Como atividade adicional recomendamos repetir os passos aprendidos no Remix. O código fonte deste contrato inteligente é um recurso disponibilizado nesta aula.

Deploy
04:59

Prof. Ronnie Paskin explica detalhadamente nessa aula o contrato apresentado na aula anterior. Comentando, por exemplo, sobre:  variável do tipo inteiro sem sinal (uint); variáveis globais e locais; parâmetros de entrada e de retorno de uma função; como armazenar um valor na blockchain; funções de inserir (set) e consultar (get) um valor da blockchain.

Funções e Variáveis
06:47

Nessa aula o Prof. Ronnie Paskin fala um pouco mais sobre os custos de interagir com um contrato.

Gas
01:57

Nessa aula vamos entender a diferença entre conta contrato e conta pessoa da rede Ethereum. O Prof. Ronnie Paskin vai também mostrar como interagir no Remix com diferentes contas e falar sobre Ether e outras unidades desta criptomoeda da rede Ethereum.

Contas
09:21

O Prof. Ronnie Paskin vai explicar o conceito de construtor e começar a introduzir a sintaxe do Solidity para operações, comparações e outras funções especiais, muito úteis na construção de nossos contratos inteligentes.

Construtor, Operadores, Funções Especiais e Condicionais
07:05

Diversos conhecimentos foram adquiridos até agora. É importante praticar no Remix todos esses aprendizados e começar a desvendar esse ambiente de desenvolvimento Solidity, extremamente útil para consolidar estes aprendizados. É dedicada especial atenção aos condicionantes. Acompanhe a aula do Prof. Ronnie Paskin e refaça todas as ações no Remix. Digite você mesmo o contrato!

Praticando Condicionais
17:07

Nesse questionário buscamos solidificar alguns conceitos aprendidos na seção 3 do Curso.

Variáveis, Funções e Condicionantes
3 questions
+ Introdução a Programação em Solidity - Parte II
4 lectures 51:45

Nessa aula o Prof. Ronnie Paskin apresenta de forma estruturada o cabeçalho de uma função, comentando sobre public/private, payable e ainda sobre a inclusão de modifiers. Também explora a possibilidade de exigir valor mínimo e de devolução de troco.

Funções Avançadas
10:20

O Prof. Ronnie Paskin explora no Remix os conceitos de modifier, require, funções pagáveis e troco.

Praticando Require, Modifier, Funções Pagáveis e Troco
10:28

Nessa aula são apresentados detalhes das variáveis booleanas e numéricas pelo Prof. Ronnie Paskin.

Tipos de Variáveis
20:20

Nessa aula vamos compreender na prática o que acontece quando não escolhemos os tipos de variáveis corretas para armazenar os valores que desejamos em nosso código. O conceito de overflow vai ficar muito claro em nossos testes no Remix com o Prof. Ronnie Paskin.

Entendendo o Problema de Overflow no Remix
10:37
+ Introdução a Programação em Solidity - Parte III
6 lectures 53:33

Nessa aula o Prof. Ronnie Paskin fala sobre como armazenar textos e datas/horas. Assim como discute a conversão de tipos de variáveis e outras informações que podem ser obtidas do bloco onde o estado do contrato inteligente foi registrado.

String, Tempo, Conversão, Unidades e Blocos
07:43

Listas (Array), Estruturas (Struct) e Dicionários (Mapping) permitem armazenar dados de forma mais sofisticada, ampliando as possibilidades do seu contrato inteligente. Nessa aula o Prof. Ronnie apresenta esses recursos.

Arrray, Struct e Mapping
09:42

O conceito de Listas (Array) requer exemplos para sua adequada compreensão. Nessa aula o Prof. Ronnie Paskin explora no Remix o uso de um Array, para tornar mais claro como usar esse recurso. É muito importante que você repita essa prática no Remix. Digite o código, compile, coloque a mão na massa! Somente praticando você estará de fato programando contratos inteligentes.

Praticando Array no Remix
10:05

O conceito de Estrutura (Struct) requer exemplos para sua adequada compreensão. Assim como, trabalhar com datas/horas também requer prática.  Nessa aula o Prof. Ronnie Paskin explora no Remix o uso de uma Estrutura e o uso de variáveis temporais, para tornar mais claro como usar esses recursos. É muito importante que você repita essa prática no Remix. Digite o código, compile, coloque a mão na massa! Somente praticando você estará de fato programando contratos inteligentes.

Praticando Struct e Tempo no Remix
08:19

Contratos inteligentes mais sofisticados certamente vão exigir regras envolvendo do condicionantes e armazenar dados em estruturas mais complexas que precisem ser percorridas em algum momento. Nessa aula o Prof. Ronnie Paskin revisa o uso de condicionantes, aborda as precisões decimais de variáveis e introduz o conceito de interação, também conhecido como laço (loop).

Condicionais, Estruturas de Controle e Decimais
09:38

Como o conceito de laços não é trivial, nessa aula o Prof. Ronnie Paskin apresenta um bloco de código com um "for" e explica passo a passo cada interação deste laço.

Passo a passo de um laço ("for")
08:06
+ Introdução a Programação em Solidity - Final
5 lectures 58:31

Utilizando um exemplo lúdico, de um uma loteria orquestrada por um contrato inteligente na blockchain, vamos analisar um contrato completo, capaz de receber as apostas e sortear e pagar os vencedores, fazendo as suas condições serem cumpridas conforme programado, independente das partes envolvidas. A análise deste contrato é divido em algumas para facilitar a apresentação do Prof. Ronnie Paskin. É fundamental você digitar e testar este contrato inteligente no Remix, para que as dúvidas possam ser identificadas e superadas.

Contrato Completo - Parte 1
12:58

Nessa aula o Prof. Ronnie Paskin continua a análise do contrato inteligente de loteria.

Contrato Completo - Parte 2
20:33

O conceito de Gas foi abordado em diferentes aulas. Com base no contrato inteligente de loteria o Prof. Ronnie Paskin realiza novos comentários sobre o assunto, para expandir o entendimento deste conceito.

Um pouco mais sobre Gás
14:08

Por último, o Prof. Ronnie Paskin analisa a possibilidade de destruir o contrato inteligente e as limitações desta função.

Destruindo um Contrato
10:17

Prof. Rafael Nasser retorna para reforçar a importância de praticar e convidar você a compartilhar conhecimento e ficar atento a novos cursos que estão sendo desenvolvidos pelo Legalite PUC-Rio relacionados a Blockchain, dentro do ECOA PUCRIO.

Encerramento
00:35