qué es el token ERC20 ERC20 = ERC20 (_tokenAddress)

¿Cómo puedo llamar a la función de transferencia de un contrato de token ERC20 desde otro contrato? en esta pregunta hay una respuesta de pabloruiz55 pero en este ejemplo o código de demostración ERC20 token = ERC20(_tokenAddress);

¿Qué es exactamente ERC20 aquí? i ¿Es una ABI del otro contrato inteligente, es algún otro contrato inteligente importado o un marcador de posición para explicar el concepto? Si es un marcador de posición, ¿puede explicar con qué debo reemplazarlo para transferir tokens?

Respuestas (1)

suponga que el token ERC20 que desea transferir se llama ERC20Token (ese es el nombre del contrato)

puede importar el contrato ERC20Token (o la interfaz del mismo) en su contrato y luego hacer esto, por ejemplo, si desea transferir tokens que pertenecen a su contrato a otra persona:

function interactWithERC20Token (address tokenContractAddress, address _to, value) public {
    ERC20Token myInstance = ECR20Token(tokenContractAddress);
    myInstance.transfer(_to,value);
}

tokenContractAddresses la dirección del Contrato token. Esto supone que su contrato posee tokens.

En la respuesta que presentó, simplemente usaron "ERC20" como el nombre del contrato de token ERC20.

Finalmente, puede llamar a todas las funciones de ERC20Token usando myInstance.<function>.

Este es solo un ejemplo de cómo interactuar con el contrato de token. La función que usé como ejemplo permitirá que cualquiera tome tokens de su contrato, así que no use esto literalmente.

¡gracias! también tengo que pegar abi de ese contrato implementado cuando escriba este código ERC20Token myInstance = ECR20Token(tokenContractAddress);
No. En solidez, solo necesita copiar el contrato de token dentro de su contrato, importarlo o simplemente agregar la interfaz del contrato de token. La interfaz es solo la definición de todas las funciones en el contrato de token sin la implementación. El uso de la interfaz en lugar de importar o copiar todo el contrato de token hace que la implementación de su contrato sea más económica en términos de gas. Espero que esto te ayude.