Cuando trato de transferir el token de 1 dirección a otra, aparece el error en el título. Aquí está mi código JS relevante: ($("#targetAddr").val() es la dirección de la dirección de destino (en metamask) y $("#amt").val() es el valor de los tokens para transferir a.)
tokenContract.transfer($("#targetAddr").val().toString(),$("#amt").val())Estoy usando un contrato inteligente que es muy similar al ERC20 de OpenZepplin. Su transferencia es similar a la función de transferencia de ERC20. ¿Qué estoy haciendo mal?
A continuación se muestra el código de configuración de mi contrato de token en javascript:
var tokenContractAddress = token_contract_address; //coinABI is the ABI from my smart contract. var tokenContract = web3.eth.contract(coinABI).at(tokenContractAddress);La dirección que está en la entrada es una de las direcciones en mi cuenta metamask (esencialmente una dirección válida)
Debe construir una transacción real con web3 u otro marco que esté utilizando. Aquí hay un ejemplo con web3:https://ethereum.stackexchange.com/questions/24828/how-to-send-erc20-token-using-web3-api
Si tiene una versión diferente, vaya a sus documentos: https://web3js.readthedocs.io/en/v1.3.4/index.html
Y ver métodos para enviar una transacción a un contrato. Debe enviar un tx al contrato de token que llamará al método transfer() nativo del token con argumentos necesarios. deberá firmar esta transacción y luego enviarla.