Estoy probando el contrato inteligente cuando intento transferir el token usando https://remix.ethereum.org . Eso estaba funcionando bien. Pero ahora quiero escribir su caso de prueba, pero eso no funciona bien y no transfiere los tokens. Código:
it('should properly [transfer] token', async function() {
let recipient = "0xe0f5206bbd039e7b0592d8918820024e2a7437b9";
let tokenWei = 1000000;
let status = await contract.methods.transfer(recipient, tokenWei).call();
console.log(status);
let ownerBalance = await contract.methods.balanceOf(owner).call();
let recipientBalance = await contract.methods.balanceOf("0xe0f5206bbd039e7b0592d8918820024e2a7437b9").call();
console.log("Balance:"+ownerBalance +'----'+recipientBalance);
});
La salida es así.
status = true
Balance:1705243055----100000000
Estos saldos son exactamente los mismos que antes, lo que significa que no se deducen de la cuenta del propietario ni se agregan a la cuenta del destinatario.
Cualquier orientación/ayuda será apreciada.
Gracias
Debe usar enviar en lugar de llamar, ya que está cambiando el estado.
contract.methods.transfer(destinatario, tokenWei).send({from: '0x123...'})
Vladímir Galliardt
Lauri Peltonen