Ethereum - Interagindo com o contrato implantado

Agora, você está pronto para interagir com o contrato que implantou. Volte para a área de trabalho MyEtherWallet e clique na guia "Interagir com o contrato", conforme mostrado na captura de tela abaixo -

Cole o endereço do contrato que você copiou anteriormente no “Contract Address”campo. Você também precisa colar o“ABI / JSON Interface” do contrato na tela acima.

Para obter o ABI, vou ao Remix janela e clique no ABI botão como mostrado na imagem abaixo.

A interface ABI / JSON será copiada para a área de transferência. Cole isso em seu editor favorito para examinar a interface gerada, que é mostrada abaixo -

ABI / JSON Interface
[
   {
      "constant": false,
      "inputs": [
         {
            "name": "newDeposit",
            "type": "uint256"
         }
      ],
      "name": "send",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
   },
   {
      "inputs": [
         {
            "name": "initialAmount",
            "type": "uint256"
         },
         {
            "name": "initialValue",
            "type": "uint256"
         }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
   },
   {
      "constant": true,
      "inputs": [],
      "name": "getAmount",
      "outputs": [
         {
            "name": "",
            "type": "uint256"
         }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
   },
   {
      "constant": true,
      "inputs": [],
      "name": "getBalance",
      "outputs": [
         {
            "name": "",
            "type": "uint256"
         }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
   }
]

Depois de colar este JSON no MyEtherWallet interface, você notará que o botão ACCESS abaixo da interface JSON agora está ativado, conforme mostrado abaixo -

Clique Access botão para acessar o contrato.

Ao clicar no Access, o endereço do contrato e a lista suspensa de seleção de função aparecerão na tela como no editor Remix. Isso é mostrado na imagem abaixo -

Você pode verificar as várias funções do contrato como no caso da implantação do Remix. Observe que o contato agora está implantado em um Ganache Blockchain externo. Verifica agetAmountfunção; você obterá o valor de Amount de zero e ogetBalance mostrará um saldo de 1000.

Agora tente enviar algum dinheiro. Vai apresentar a você umtexteditcontrole de entrada do valor. Quando você redige o contrato, um pouco de “gás” é usado e você será solicitado a confirmar a transação antes de escrevê-la no Blockchain. A transação seria executada em um curto espaço de tempo, dependendo do tempo de mineração definido por você no servidor Ganache. Depois disso, você pode reexaminar ovalue e a amount campos do contrato para verificar se eles foram realmente modificados.

Agora você pode examinar a área de trabalho do Ganache para ver as transações realizadas até o momento. Um exemplo de saída é mostrado abaixo -

Até agora, você foi o criador e o executor do contrato. Isso não faz muito sentido, pois você espera que outros usem seu contrato. Para isso, criaremos outro cliente para nosso Blockchain Ganache e enviaremos algum dinheiro da conta 2 recém-criada para o criador do contrato na conta 1.