Ethereum Smart Contract - Como executar um Smart Contract?



Neste tutorial do contrato inteligente Ethereum, você aprenderá como criar, implantar e executar um contrato inteligente usando a rede privada Truffle e Ethereum.

A principal razão para a Blockchain Technology obter seu lugar entre as principais tecnologias é por causa de sua natureza descentralizada. Embora o objetivo principal do Blockchain fosse manter registros de transações sem uma Autoridade Central, para automatizar isso, Contratos Inteligentes foram introduzidos. Mas e depois ? Neste tutorial Ethereum Smart Contract, veremos como usar Truffle Ethereum e Rede Privada Ethereum para executar um contrato inteligente.

Interessado no desenvolvimento de Ethereum? Confira ao vivo .





Veremos os seguintes tópicos neste tutorial Ethereum Smart Contract:

  1. Caso de uso: Contratos inteligentes no processo de seguro
  2. Benefícios dos Contratos Inteligentes
  3. Instalação de pré-requisitos
  4. Configurando Bloco Genesis
  5. Executando a Rede Privada Ethereum
  6. Criando uma conta Ethereum
  7. Criando um contrato inteligente Ethereum
  8. Executando Contrato Inteligente Ethereum

Caso de uso: Contratos inteligentes no processo de seguro

“Sem autoridade central” é o que o Blockchain segue e é por isso que os Smart Contracts foram introduzidos. Mas você já se perguntou como um contrato inteligente pode ser usado? Bem, nesta seção do Contrato Inteligente Ethereum, explicarei um caso de uso do Contrato Inteligente no processo de Seguro.



Vamos considerar um exemplo de seguro de Atraso de Voo. Suponha que você queira pegar um voo da origem A ao destino C, mas não tem um voo direto. Então, você decide fazer um vôo de conexão (por meio de B). Agora, sua rota será de A para B e depois de B para C, onde B é o aeroporto que você vai trocar os voos. Infelizmente, você não tem muito intervalo de tempo entre os voos de A para B e de B para C. Então, se por acaso o voo de A para B atrasar, você perderá o voo de B para C. Você Perceba isso e apenas para evitar grandes perdas, você faz um seguro contra atrasos em voos.

Seguro de Atraso de Voo - Edureka

Agora, se o seu voo de A para B estiver atrasado (o que fará com que você perca o voo de B para C), você receberá o valor do seguro. A maneira normal de isso funcionar é, se o seu voo atrasar, você reivindicar o seguro. Então, alguma pessoa lá irá verificar e aprovar o seguro e, finalmente, você receberá o valor do seguro. Mas este é um processo bastante demorado.



Como você pode usar o Smart Contracts para melhorar o processo de seguro?

Quando se trata de transações financeiras, e especialmente quando você está recebendo dinheiro, “quanto mais rápido, melhor”, não é? Então, vamos ver como os Contratos Inteligentes podem agilizar o processo de seguro. Contratos inteligentes são contratos digitais executados automaticamente quando certas condições são atendidas. Um Contrato Inteligente pode ser escrito para pagar o valor do seguro às pessoas que optaram pelo Seguro contra Atraso de Voo se o voo atrasar. Assim, quando o vôo atrasa e esse atraso é registrado pelo sistema, o seguro é pago imediatamente.

Hola! valor do seguro pago em poucos segundos. É assim que os Smart Contracts simples e rápidos fazem um processo acontecer.

Benefícios dos Contratos Inteligentes

Você viu no exemplo acima como o Smart Contract pode agilizar os processos financeiros. Além de transações rápidas, os Contratos inteligentes têm mais alguns benefícios. Aqui, estou listando alguns outros benefícios do uso de um contrato inteligente:

  • Automático: Todas as etapas do processo acontecem automaticamente com o Smart Contracts
  • Sem intermediários: Ao usar o Smart Contracts, você não precisa de um intermediário para fazer o trabalho, pois tudo será tratado pelo Smart Contracts
  • Custo-beneficio: O uso de Smart Contracts vai economizar dinheiro em taxas de transação cobradas por bancos e taxas de serviço cobradas por intermediários (se houver)

Agora que sabemos como os Contratos inteligentes podem ser usados ​​para tornar o mundo um lugar mais rápido, vamos passar à parte prática neste tutorial do Contrato inteligente Ethereum.

Instalação de pré-requisitos

Para este tutorial Ethereum Smart Contract, vamos exigir 5 aplicativos importantes:

  • NodeJS
  • NPM
  • Ethereum
  • Brigadeiro
  • Compilador de Solididade

Instalando o NodeJS

NodeJS é uma estrutura JavaScript usada para construir aplicativos de servidor. Como estamos usando uma rede privada, o NodeJS facilitará a construção do aplicativo de rede.

Para instalar o Nodejs, execute o seguinte comando em seu terminal:

$ sudo apt-get install nodejs

Instalando NPM

NPM significa Node Package Manager e é usado para executar aplicativos Nodejs.

Para instalar o NPM, execute o seguinte comando em seu terminal:

$ sudo apt-get install npm

Instalando Ethereum

Ethereum é uma plataforma de computação distribuída de código aberto e baseada em blockchain público para a construção de aplicativos descentralizados.

Para instalar o Ethereum, execute o seguinte comando em seu terminal:

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Instalando Truffle

Truffle é um ambiente de desenvolvimento, estrutura de teste e pipeline de ativos para Ethereum Blokchains.

Para instalar o Truffle, execute o seguinte comando em seu terminal:

$ npm install -g truffle

Instalando Solidity Compiler

Solidity é uma linguagem de programação usada para escrever Contratos Inteligentes. Para executar contratos inteligentes em nosso sistema, temos que instalar o Solidity Compiler.

Para instalar o Solidity Compiler, execute o seguinte comando em seu terminal:

$ sudo npm install -g solc

Configurando Bloco Genesis

Um Bloco Genesis é o ponto de partida de um Blockchain e precisamos de um arquivo genesis para iniciar o Blockchain. Nesta seção do Ethereum Smart Contract, vamos escrever um arquivo Genesis e configurá-lo para permitir a execução de Smart Contracts.

Vamos primeiro criar um novo diretório e, em seguida, nesse diretório, devemos criar o arquivo genesis

$ mkdir ethereum-network $ cd ethereum-network $ nano genesis.json

Agora, insira as seguintes linhas no genesis.json Arquivo:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, 'dificuldade': '200' 'gasLimit': '99999999999999'}

Salve isso e saia.

Executando a Rede Privada Ethereum

Neste tutorial Etheruem Smart Contract, implantaremos um Ethereum Smart Contract em uma rede privada. Portanto, para iniciar esta rede usaremos o seguinte comando:

$ geth --datadir ./dataDir init ./genesis.json

$ geth --port 4321 --networkid 1234 --datadir =. / dataDir --rpc --rpcport 8543 --rpcaddr 127.0.0.1 --rpcapi 'eth, net, web3, personal, miner'

Antes de prosseguir, deixe-me explicar alguns sinalizadores importantes usados ​​no comando acima:

como reverter um número

datadir: O diretório onde os dados relacionados ao Blockchain são armazenados.

rpc: Ativa o servidor HTTP-RPC.

rpcport e rpcaddr são usados ​​para definir a porta e o endereço da rede, respectivamente.

rpcapi: Permite-nos interagir com a rede Ethereum usando diferentes APIs.

Conectando Geth a Ethereum Private Blockchain

O console Geth é o console de onde podemos interagir com o Ethereum Private Blockchain. Para conectar Geth ao Ethereum Private Blockchain, abra um novo terminal e execute o comando abaixo:

$ geth attach http://127.0.0.1:8543

Agora, estamos no console Geth, onde podemos executar comandos para interagir com o Blockchain.

Criando uma conta Ethereum

Para fazer qualquer transação, precisamos de uma conta. Nesta seção do tutorial Ethereum Smart Contract, veremos como criar uma nova conta Ethereum a partir do console Geth.

Seguindo as etapas até agora, já estamos no console Geth. Para criar uma nova conta, execute o seguinte comando no console Geth:

c ++ vai classificar
> personal.newAccount ('seedphrase')

Substitua o 'frase-semente”Com a senha que você deseja definir para esta conta.

Criamos uma nova conta, mas esta conta não tem éteres. Nós precisamoséteres para fazer qualquer transação e obter éteresem nossa conta, começaremos a minerar éteres. Para começar a minerar, primeiro precisamos desbloquear a conta. Vamos desbloquear a conta e começar a minerar.

> personal.unlockAccount (web3.eth.coinbase, 'seedphrase')> miner.start ()

Conforme a mineração continua acontecendo, algunséteresserá depositado nesta conta.

Nota : Esses éteres são éteres falsos e não têm valor no mundo real.

Para verificar o saldoéteresna conta, executaremos o seguinte comando:

> web3.fromWei (eth.getBalance (eth.coinbase), 'ether')

Ao executar este comando em intervalos regulares, você verá que oéteresestão aumentando devido à mineração.

Para interromper a mineração, execute o seguinte comando:

> miner.stop ()

Criando um contrato inteligente Ethereum

Criando Projeto Trufa

Agora que temos nosso Blockchain privado pronto, veremos como criar um Contrato Inteligente Ethereum usando Truffle. Para este tutorial, criaremos um simples contrato inteligente Ethereum “Hello World”.

Para começar, vamos primeiro criar um novo diretório para armazenar o projeto Truffle. E então, nesse diretório, criaremos um novo projeto Truffle. Abra um novo terminal e execute os comandos abaixo:

$ mkdir truffle $ cd truffle $ truffle init

o trufa de inicialização comando irá criar todos os arquivos necessários exigidos para um projeto de trufas.

Agora que temos tudo para implantar um contrato inteligente Ethereum pronto, vamos começar a escrever um contrato inteligente 'Hello World'.

Escrevendo um contrato inteligente “Hello World”

Todos os contratos devem ser escritos no diretório “contratos”. Iremos mudar para este diretório e criar um contrato com o nome “HelloWorld.sol” e adicionar as seguintes linhas neste arquivo:

pragma solidity ^ 0.4.15 contract HelloWorld {string public message function Hello () public {message = 'Hello World!' }}

É isso! Mas este Contrato Inteligente não pode ser executado por si só. Teremos que fazer algumas configurações para ele.

Configurando a migração do Truffle

Para migrar nosso Contrato Inteligente, teremos que adicionar um arquivo no “Migrações” diretório no 'Brigadeiro' diretório. Neste diretório iremos adicionar um arquivo chamado “2_deploy_contracts.js” com o seguinte conteúdo:

var HelloWorld = artifacts.require ('./ HelloWorld.sol') module.exports = function (deployer) {deployer.deploy (HelloWorld)}

Salvar e sair.

Para executar trufas em nossa rede, precisamos editar o “ truffle.js ”Arquivo no 'Brigadeiro' diretório . Abra este arquivo e faça as seguintes entradas:

module.exports = {rpc: {host: 'localhost', port: 8543}, networks: {development: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Nota: Substitua o 'a partir de' endereço com o endereço da conta que você criou na etapa anterior.

Executando Contrato Inteligente Ethereum

Nesta última seção do tutorial do Contrato Inteligente Ethereum, veremos como implantar nosso Contrato Inteligente “Hello World” em nossa Rede Privada Ethereum.

Compilando e implantando contrato inteligente

Antes de podermos executar nosso Contrato Inteligente, temos que primeiro compilá-lo e implantá-lo em nossa Rede Privada Ethereum. Faremos isso usando os seguintes comandos:

compilação de $ trufa

Agora, temos que desbloquear nossa conta e começar a minerar. Volte para o terminal com o console Geth e execute o seguinte comando:

> personal.unlockAccount (web3.eth.coinbase) > miner.start ()

e então, volte para o terminal que tem 'Brigadeiro' como o diretório de trabalho atual ecorreo seguinte comando:

$ truffle migrar

Aguarde até que a implantação seja concluída.

Executando Contrato Inteligente em Blockchain Ethereum Privado

Para executar o Contrato Inteligente “Hello World”, teremos que entrar no console de trufas. Execute o seguinte comando para fazer isso:

console $ truffle

Agora você estará no console de trufas. Para executar o Contrato Inteligente, execute o seguinte comando:

> var first_contract> HelloWorld.deployed (). then (function (instance) {first_contract = instance})> dApp.message.call ()

Parabéns! Você criou seu primeiro contrato inteligente Ethereum e o executou. Espero que este tutorial do Ethereum Smart Contract tenha sido informativo e tenha ajudado você a entender como executar um Ethereum Smart Contract. Agora, vá em frente e tente escrever outros Contratos Inteligentes e executá-los.

Tem alguma questão para nós? Por favor, poste em e entraremos em contato com você.

Se você deseja aprender Blockchain e construir uma carreira em tecnologias Blockchain, confira nosso que vem com treinamento ao vivo conduzido por instrutor e experiência em projetos da vida real. Este treinamento irá ajudá-lo a entender o que é Blockchain de forma exaustiva e ajudá-lo a alcançar o domínio sobre o assunto.