Preguntas sobre la creación de un nuevo token ERC20 e ICO

Hola

Quiero crear un token ERC20 y lanzar una ICO. Soy nuevo en ethereum solidity.

Revisé los contratos inteligentes en http://ethereum.org y https://theethereum.wiki/w/index.php/ERC20_Token_Standard Pero estoy confundido sobre cuál es la forma estándar de crear un contrato inteligente. Algunos sitios web dicen que para crear un token, debe seguir el estándar de token ERC20, pero no entiendo por dónde debo comenzar.

Implementé diferentes contratos que se copiaron de los sitios anteriores y los probé.

Quiero saber cuáles son las funciones obligatorias para un contrato inteligente para crear un nuevo token.

Respuestas (2)

Estoy un poco confundido. Primero dice que desea crear el token ERC20, pero luego no está seguro de si debe seguir el estándar ERC20.

Si desea crear un token compatible con ERC20, debe seguir el estándar ERC20. Eso significa que debe implementar en su contrato inteligente todas las funciones enumeradas en el estándar. La página estándar también le brinda buenos ejemplos de implementación: debe leerlos detenidamente hasta que comprenda lo que está sucediendo.

Si solo desea crear un contrato inteligente, puede crear un contrato con cualquier contenido. No hay (casi) reglas específicas para crear contratos inteligentes; todo depende de usted.

puede comenzar siguiendo este artículo: https://medium.com/bitfwd/how-to-do-an-ico-on-ethereum-in-less-than-20-minutes-a0062219374

donde obtendrá algunas ideas generales, luego puede profundizar más (programáticamente) con https://github.com/OpenZeppelin/zeppelin-solidity o para algunas muestras muy básicas, puede consultar https://github.com/bokkypoobah/ Fichas/árbol/maestro/contratos

Básicamente, puede crear un contrato de la forma que desee, pero ERC20 es un estándar técnico que debe seguirse con estas funciones:

  • totalSupply [Obtenga el suministro total de fichas] balanceOf(dirección _propietario)
  • rendimientos constantes (saldo uint256) [Obtenga el saldo de otra cuenta con dirección _propietario]
  • transferir (dirección _a, uint256 _valor) devuelve (bool éxito) [Enviar _valor cantidad de tokens a la dirección _a]
  • transferFrom(dirección _desde, dirección _a, uint256 _valor) devuelve (bool éxito)[Enviar _valor cantidad de tokens desde la dirección _desde a la dirección _a]
  • aprobar (dirección _spender, uint256 _value) devoluciones (bool éxito) [Permitir que _spender retire dinero de su cuenta, varias veces, hasta la cantidad de _value. Si se vuelve a llamar a esta función, sobrescribe la asignación actual con _value]

  • asignación (dirección _propietario , dirección _gastador ) devoluciones constantes (uint256 restantes) [Devuelve la cantidad que _gastador todavía puede retirar de _propietario]

Formato de eventos:

  • Transferir (dirección indexada _desde, dirección indexada _a, uint256 _valor). [Activado cuando se transfieren tokens.]
  • Aprobación (dirección indexada _propietario, dirección indexada _gastador, uint256 _valor) [Se activa cada vez que se llama a la aprobación (dirección _gastador, uint256 _valor).]