¿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?
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);
}
tokenContractAddress
es 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.
Akshay Pilankar
Jaime