第1課

Introdução à Votação Descentralizada e ao Remix IDE

Bem-vindo à primeira lição do nosso curso sobre a construção de um sistema de votação descentralizado. Nesta lição, exploraremos o conceito de votação descentralizada e compreenderemos os benefícios que traz para o processo de votação. Vamos também apresentar-lhe o Remix IDE, uma ferramenta poderosa usada para desenvolver e implementar contratos inteligentes Ethereum.

Votação descentralizada

Votação descentralizada refere-se a um sistema de votação que opera numa cadeia de blocos. A ideia chave aqui é alavancar a transparência, a segurança e a imutabilidade fornecidas pela tecnologia blockchain para construir um sistema de votação difícil de manipular e fácil de verificar.

Num sistema de votação descentralizado, cada voto é uma transação na cadeia de blocos que pode ser vista por todos os participantes mas só pode ser modificada pelo eleitor até que o voto seja dado. Uma vez que uma votação é emitida, é gravada na cadeia de blocos e não pode ser alterada, fornecendo um mecanismo de votação transparente e inviolável.

Introdução ao Remix IDE

O Remix IDE (Integrated Development Environment) é uma poderosa ferramenta de código aberto concebida especificamente para o desenvolvimento de contratos inteligentes Ethereum. Funciona diretamente no seu navegador web, por isso não precisa de instalar nada no seu computador.

Pode aceder ao IDE Remix em https://remix.ethereum.org. Quando abre o Remix no seu navegador, vai encontrar três painéis:

  1. Painel Esquerdo: É aqui que pode criar, importar e gerir os seus ficheiros Solidity. Também inclui vários plugins para compilar, testar, depuração e implementar os seus contratos.

  2. Painel Central: Este é o seu editor de código. Aqui vai escrever e editar o seu código Solidity.

  3. Painel direito: Este painel fornece várias ferramentas para compilar os seus contratos, implementá-los na rede Ethereum (seja numa rede Ethereum real ou numa simulação de VM JavaScript) e interagir com os seus contratos implementados.

O seu Primeiro Contrato Inteligente

Vamos começar com um simples contrato de “eleitor”. Este contrato irá acompanhar os eleitores no nosso sistema.

No IDE Remix, vá para “Explorador de Ficheiros” e clique no ícone “+” para criar um novo ficheiro. Dá o nome Voter.sol.

Agora, vamos começar a escrever o nosso contrato:

Solidez
//Identificador de licença SPDX: GPL-3.0
solidez do pragma > < =0.7.0 0.9.0;

contrato Eleitor {
 //Uma estrutura para representar uma pessoa
 Pessoa estruturada {
        bool voted;  // if true, that person already voted
        uint vote;   // index of the voted proposal
    }

    //Um mapeamento para acompanhar todos os eleitores
 mapeamento (morada = > Pessoa) eleitores públicos;

 //Uma função para registar um eleitor
 função registerVoter () public {
        voters[msg.sender].voted = false;
    }
}
  1. Identificador de Licença SPDX: A linha //SPDX-License-identificador: GPL-3.0 indica que o nosso contrato utiliza a GNU General Public License v3.0. Esta é uma licença de software livre comumente usada que garante aos utilizadores finais a liberdade de executar, estudar, partilhar e modificar o software.

  2. Diretiva Pragma: A solidez do pragma > =0.7.0 & lt; 0.9.0; a declaração especifica que o contrato está escrito numa versão da Solidity que é maior ou igual a 0.7.0 e menor que 0.9.0. Ajuda a impedir que o contrato seja compilado com uma versão de compilador mais recente e incompatível.

  3. Definição do Contrato: O bloco de eleitores {...} do contrato define um novo contrato denominado Eleitor. É aqui que especificamos as variáveis de estado e as funções do contrato.

  4. Definição de estrutura: Dentro do contrato, definimos uma Pessoa estruturada que representa uma pessoa no nosso sistema de votação. Cada pessoa tem um booleano votado que indica se já votou e um número inteiro de votos que acompanha a proposta em que votou.

  5. Variável de Estado: O mapeamento (endereço = > Pessoa) eleitores públicos; declaração declara uma variável de estado eleitores que cria uma ligação entre um endereço Ethereum e uma estrutura Pessoa. Isto permitir-nos-á acompanhar quem é elegível para votar no sistema e qual é o seu voto. A palavra-chave pública cria automaticamente uma função de melhor para os eleitores.

  6. Definição de Função: A função registerVoter () public {...} block define uma função pública que permite aos utilizadores registarem-se como eleitores no sistema. Os eleitores [msg.sender] .votou = false; declaração define o status votado do novo eleitor como falso.
    É isso para este contrato! À medida que avançamos no curso, expandiremos este contrato adicionando mais funções para o processo de votação. Lembre-se de compilar e testar regularmente o seu código para garantir que tudo está a funcionar conforme o esperado. No IDE Remix, pode compilar o seu contrato clicando no ícone do compilador Solidity na barra lateral esquerda (o terceiro a partir do topo) e, em seguida, clicando no botão “Compilar”.

Na próxima lição, aprenderemos como permitir que os eleitores registados votem e implementem a lógica para um sistema de votação. Mas por enquanto, brinque com o contrato e familiarize-se com o ambiente Remix. Acabou de dar o seu primeiro passo no mundo do desenvolvimento de contratos inteligentes!

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
目錄
第1課

Introdução à Votação Descentralizada e ao Remix IDE

Bem-vindo à primeira lição do nosso curso sobre a construção de um sistema de votação descentralizado. Nesta lição, exploraremos o conceito de votação descentralizada e compreenderemos os benefícios que traz para o processo de votação. Vamos também apresentar-lhe o Remix IDE, uma ferramenta poderosa usada para desenvolver e implementar contratos inteligentes Ethereum.

Votação descentralizada

Votação descentralizada refere-se a um sistema de votação que opera numa cadeia de blocos. A ideia chave aqui é alavancar a transparência, a segurança e a imutabilidade fornecidas pela tecnologia blockchain para construir um sistema de votação difícil de manipular e fácil de verificar.

Num sistema de votação descentralizado, cada voto é uma transação na cadeia de blocos que pode ser vista por todos os participantes mas só pode ser modificada pelo eleitor até que o voto seja dado. Uma vez que uma votação é emitida, é gravada na cadeia de blocos e não pode ser alterada, fornecendo um mecanismo de votação transparente e inviolável.

Introdução ao Remix IDE

O Remix IDE (Integrated Development Environment) é uma poderosa ferramenta de código aberto concebida especificamente para o desenvolvimento de contratos inteligentes Ethereum. Funciona diretamente no seu navegador web, por isso não precisa de instalar nada no seu computador.

Pode aceder ao IDE Remix em https://remix.ethereum.org. Quando abre o Remix no seu navegador, vai encontrar três painéis:

  1. Painel Esquerdo: É aqui que pode criar, importar e gerir os seus ficheiros Solidity. Também inclui vários plugins para compilar, testar, depuração e implementar os seus contratos.

  2. Painel Central: Este é o seu editor de código. Aqui vai escrever e editar o seu código Solidity.

  3. Painel direito: Este painel fornece várias ferramentas para compilar os seus contratos, implementá-los na rede Ethereum (seja numa rede Ethereum real ou numa simulação de VM JavaScript) e interagir com os seus contratos implementados.

O seu Primeiro Contrato Inteligente

Vamos começar com um simples contrato de “eleitor”. Este contrato irá acompanhar os eleitores no nosso sistema.

No IDE Remix, vá para “Explorador de Ficheiros” e clique no ícone “+” para criar um novo ficheiro. Dá o nome Voter.sol.

Agora, vamos começar a escrever o nosso contrato:

Solidez
//Identificador de licença SPDX: GPL-3.0
solidez do pragma > < =0.7.0 0.9.0;

contrato Eleitor {
 //Uma estrutura para representar uma pessoa
 Pessoa estruturada {
        bool voted;  // if true, that person already voted
        uint vote;   // index of the voted proposal
    }

    //Um mapeamento para acompanhar todos os eleitores
 mapeamento (morada = > Pessoa) eleitores públicos;

 //Uma função para registar um eleitor
 função registerVoter () public {
        voters[msg.sender].voted = false;
    }
}
  1. Identificador de Licença SPDX: A linha //SPDX-License-identificador: GPL-3.0 indica que o nosso contrato utiliza a GNU General Public License v3.0. Esta é uma licença de software livre comumente usada que garante aos utilizadores finais a liberdade de executar, estudar, partilhar e modificar o software.

  2. Diretiva Pragma: A solidez do pragma > =0.7.0 & lt; 0.9.0; a declaração especifica que o contrato está escrito numa versão da Solidity que é maior ou igual a 0.7.0 e menor que 0.9.0. Ajuda a impedir que o contrato seja compilado com uma versão de compilador mais recente e incompatível.

  3. Definição do Contrato: O bloco de eleitores {...} do contrato define um novo contrato denominado Eleitor. É aqui que especificamos as variáveis de estado e as funções do contrato.

  4. Definição de estrutura: Dentro do contrato, definimos uma Pessoa estruturada que representa uma pessoa no nosso sistema de votação. Cada pessoa tem um booleano votado que indica se já votou e um número inteiro de votos que acompanha a proposta em que votou.

  5. Variável de Estado: O mapeamento (endereço = > Pessoa) eleitores públicos; declaração declara uma variável de estado eleitores que cria uma ligação entre um endereço Ethereum e uma estrutura Pessoa. Isto permitir-nos-á acompanhar quem é elegível para votar no sistema e qual é o seu voto. A palavra-chave pública cria automaticamente uma função de melhor para os eleitores.

  6. Definição de Função: A função registerVoter () public {...} block define uma função pública que permite aos utilizadores registarem-se como eleitores no sistema. Os eleitores [msg.sender] .votou = false; declaração define o status votado do novo eleitor como falso.
    É isso para este contrato! À medida que avançamos no curso, expandiremos este contrato adicionando mais funções para o processo de votação. Lembre-se de compilar e testar regularmente o seu código para garantir que tudo está a funcionar conforme o esperado. No IDE Remix, pode compilar o seu contrato clicando no ícone do compilador Solidity na barra lateral esquerda (o terceiro a partir do topo) e, em seguida, clicando no botão “Compilar”.

Na próxima lição, aprenderemos como permitir que os eleitores registados votem e implementem a lógica para um sistema de votação. Mas por enquanto, brinque com o contrato e familiarize-se com o ambiente Remix. Acabou de dar o seu primeiro passo no mundo do desenvolvimento de contratos inteligentes!

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。