WEB3DEV

Cover image for Interagindo com um contrato inteligente da Ethereum
AIengineer13
AIengineer13

Posted on

Interagindo com um contrato inteligente da Ethereum

Você se lembra da discussão de como a programabilidade se tornou prática na rede Ethereum? Se você perdeu a leitura das primeiras informações, consulte aqui. Vimos um contrato inteligente simples, implantado em uma rede de teste. Seguindo em frente, neste recurso, discutiremos como interagir com esse contrato inteligente.

Observe que no artigo anterior implantamos o contrato inteligente na rede de teste Ropsten. Como espera-se que a rede de teste Ropsten seja encerrada ainda este ano, usamos um contrato inteligente semelhante implantado em Goerli testnet aqui.

Endereço do contrato (Goerli): 0x44E84A10341BF772906c37fFc30CDbb132eA35f2

Podemos interagir com um contrato inteligente já implantado usando o seu endereço do contrato_ e o ABI. Para isso, primeiro precisamos nos conectar à rede blockchain. As carteiras são aplicativos simples que permitem aos usuários se conectarem a uma rede blockchain. Eles atuam como gerentes de contas que gerenciam as chaves e transações do usuário. Usaremos uma carteira MetaMask para nos conectarmos à rede de teste Goerli, que obteve nosso contrato inteligente. A instalação da MetaMask já está descrita em nosso blog anterior em HD Wallets.
Por favor, siga essas instruções para instalar a MetaMask.

Conectando-se a rede Ethereum

A carteira será conectada à rede Ethereum (rede principal) por padrão. Você pode alternar para uma rede de teste, conforme mostrado na figura.

Image description

Clique no nome da rede e ative a visibilidade das redes de teste. Agora mude para a rede de teste Goerli.

Para interagir com o contrato usando a carteira, ela deve ter algum saldo de ether. Goerli é uma rede de teste e sua criptomoeda (Goerli ETH) está disponível gratuitamente em certas fontes chamadas faucets. Você pode acessar qualquer um dos links abaixo e solicitar Goerli ETH compartilhando o endereço de sua conta.

Torneiras: https://goerli-faucet.slock.it/, https://faucet.goerli.mudit.blog/. Lembre-se, estes são ethers de teste que não têm nenhum valor monetário.

Image description

Interagindo com Contrato Inteligente

Agora precisamos de uma ferramenta para interagir com nosso contrato inteligente. Usaremos o Remix IDE para essa finalidade. Remix IDE é um aplicativo web e desktop de código aberto. Você pode acessá-lo diretamente do seu navegador da *web; basta acessar https://remix.ethereum.org.

Abra um novo arquivo e copie a ABI de https://goerli.etherscan.io/address/0x44E84A10341BF772906c37fFc30CDbb132eA35f2#code. Salve-o como _filename.abi.

Image description

Alterne para a guia implantar e executar transação no menu à esquerda. Selecione o ambiente como Injected Web3 para se conectar com a MetaMask. Certifique-se de estar conectado à MetaMask e conectado à rede de teste Goerli. Digite o endereço do contrato (0x44E84A10341BF772906c37fFc30CDbb132eA35f2) no local designado e clique em on At Address conforme mostrado na figura. O Remix IDE pedirá sua confirmação antes de carregar a instância do contrato. Uma instância do contrato estará disponível no cabeçalho implantados contratos. Você pode expandi-lo para interagir com ele.

CHAMADA Versus TRANSAÇÃO

Tente invocar a função getMessage clicando nela. No console abaixo do espaço do editor, você obterá o status da chamada do método.

Image description

A função getMessage do nosso contrato realiza uma simples operação somente leitura (CALL), que retorna o valor atual da message armazenada na blockchain. Você poderá visualizar o valor atual da mensagem no log e abaixo da função nos contratos implantados.

Agora, tente invocar a função setMessage . Essa função grava um valor na mensagem e o armazena na blockchain. Dê uma string na caixa de texto e clique no _setMessage..

Image description

Como ele executa uma operação de gravação no estado da blockchain, a invocação do método é uma transação. A MetaMask aparecerá e solicitará a confirmação da transação. Esta operação acarreta uma taxa, conforme indicado na notificação da carteira, e será deduzida da sua conta. O custo depende da operação solicitada e também de alguns parâmetros dinâmicos da rede. A mesma função pode exigir uma taxa diferente posteriormente.

Clique em confirmar. A MetaMask usará sua chave privada para assinar a transação e enviá-la pela rede. Assim que for verificado pela rede e adicionado ao bloco, você receberá uma confirmação da MetaMask (pode levar aproximadamente 10 a 15 segundos). Os detalhes da transação também podem ser vistos no console Remix IDE.

Image description

Clique na opção view on etherscan para visualizar a transação no etherscan. Os dados de entrada da transação estarão em um formato codificado padrão. Clique em decodificar dados de entrada para visualizá-los em formato de texto.

Image description

Você pode chamar a função getMessage novamente para confirmar o novo valor de message. Você recebeu a mensagem que escreveu? Parabéns!!.

Implante seu próprio contrato inteligente

Deseja implantar o contrato inteligente de forma independente?. É simples, basta copiar o código-fonte do contrato do contrato inteligente e salvá-lo em um arquivo .sol no Remix IDE. Agora vá para a guia do compilador solidity e compile o contrato inteligente. Certifique-se de ver um tick no ícone de compilação.

Image description

Em seguida, vá para a guia implantar e executar transações. Certifique-se de que sua MetaMask esteja ativa e conectada à rede de teste.

Image description

Selecione o ambiente de implantação como Injected Web3 para se conectar ao MetaMask. Implante o contrato. Confirme a notificação da transação MetaMask e aguarde até que sua transação de implantação do contrato seja confirmada. Agora você pode interagir com o contrato inteligente recém-implantado.

As imagens foram tiradas de : https://iconscout.com/, https://www.shutterstock.com/.

Este artigo foi criado por Sumi Maria Abraham Pesquisadora e engenheira de desenvolvimento na Kerala Blockchain Academy e traduzido por AIengineer13.

Top comments (0)