¿Cuáles son los beneficios y problemas con los tokens no ERC20?

He estado siguiendo varios dapps basados ​​en ethereum y encontré uno que tiene un modelo de 2 tokens. Un token cumple con el estándar ERC20 y otro no. El que cumple es el que actúa como moneda y el otro no tiene valor monetario. Ese solo se usa para realizar calificaciones para individuos. No entiendo cuáles podrían ser los beneficios o problemas con la implementación de tal idea y me gustaría saber más. Así que por favor explique sus pensamientos con respecto a esto.

Respuestas (3)

Los tokens ERC20 se usan porque "juegan bien" con los contratos inteligentes existentes que operan con tokens, como etherdelta. Incluso algún tipo de token de reputación puede ser un token ERC20, siempre que siga este estándar: https://theethereum.wiki/w/index.php/ERC20_Token_Standard

Un token ERC20 debe implementar estas funciones y captadores:

contract ERC20 {
 function totalSupply() constant returns (uint totalSupply);
 function balanceOf(address _owner) constant returns (uint balance);
 function transfer(address _to, uint _value) returns (bool success);
 function transferFrom(address _from, address _to, uint _value) returns (bool success);
 function approve(address _spender, uint _value) returns (bool success);
 function allowance(address _owner, address _spender) constant returns (uint remaining);
 event Transfer(address indexed _from, address indexed _to, uint _value);
event Approval(address indexed _owner, address indexed _spender, uint _value);
}

Recomiendo encarecidamente ajustar su token al estándar ERC20, a menos que tenga una buena razón para no hacerlo.

Para agregar a esto, ¿cuál sería una buena razón para no hacerlo?
@Leon, la única razón que tengo para no instituir el estándar ERC20 sería si no quisiera que su token fuera accesible con contratos preconstruidos, o si quisiera ocultar su token de alguna manera.

Al principio, Token != DApp

ERC-20 ayuda a los clientes web (bolsas de valores, etc.) a interactuar con su token . Por eso es muy recomendable utilizar este Estándar.

Entonces, si alguien sabe que su token es ERC-20, sabe que puede ejecutar transfery balanceOfotras funciones. Y este conocimiento es muy útil para él, si intenta implementar una interfaz universal para todos los tokens.

Pero ERC-20 es solo una interfaz para su token . Puede implementar la función de la manera que desee.

Si crea DApp , entonces no necesita usar el estándar ERC-20, porque ERC20 es solo para tokens (monedas, criptomonedas, etc.)

Depende de para qué se utilice el token.

Un token es solo un contrato que registra cuántos hay en una dirección determinada. Si es un token ERC20, esto significa que tiene funcionalidad para consultar el suministro total de tokens, transferir tokens que posee a otra persona o consultar el saldo de tokens de cualquier persona, entre otras cosas relacionadas. Obviamente, esta es una funcionalidad útil para cualquier cosa que le gustaría intercambiar libremente o actuar como una moneda, y si desea que este sea el caso para su token, entonces implementaría ERC20 para que todo el software / dapps existentes (por ejemplo, los intercambios) puedan interactúe con su token sin que se realice una programación adicional.

Entonces, ¿por qué no querrías que tu token fuera ERC20?

Tal vez no desee que su token se intercambie, por ejemplo, si lo está utilizando como un recuento de reputación como una calificación de eBay. Quizás sus tokens sean 'puntos de recompensa' no transferibles por usar su sistema que solo se pueden canjear a través de su aplicación. Hay una variedad de usos de tokens que podría pensar que no están realmente diseñados para ser comprados/vendidos/transferidos, y en este caso no querrá que el token cumpla con ERC20.