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.