¿Qué es IERC20?

Entiendo los estándares ERC20 que incluyen funciones como totalSupply()

equilibrio de()

prestación()

transferir()

aprobar()

Transferido de()

Cuando reviso el openzeppelin, pude ver "contrato ERC20 es IERC20" que tiene algunas funciones adicionales.

Pregunta

  1. ¿Qué es IERC20?
  2. ¿En qué se diferencia de ERC20?

Respuestas (1)

contract ERC20 is IERC20

Interpreta eso de esta manera:

ERC20es una implementación de la interfaz definida en IERC20.

IERC20define firmas de funciones sin especificar el comportamiento; los nombres de funciones, entradas y salidas, pero ningún proceso. ERC20hereda esta interfaz y debe implementar todas las funciones descritas o, de lo contrario, el contrato no se implementará.

Si esto se implementa, entonces podemos decir con seguridad que todas las funciones descritas en la interfaz ERC20 presentada en IERC20tienen implementaciones correspondientes en ERC20.

Espero eso ayude.

Veo que IERC20 tiene nuevos métodos como disminucionAllowance(), _mint(),_burn() y algunos más. ¿Están incluidos en el nuevo estándar ERC20? Mientras estudié esto hace un par de meses, no he visto esto..
ERC20 especifica el comportamiento de algunas funciones estándar, pero no hay nada en la especificación que impida la extensión. Esas funciones son sobre extensiones quemables, mintables y otras. Cuando miro el IERC20, no veo estas extensiones no estándar. github.com/OpenZeppelin/openzeppelin-solidity/blob/master/…