Basta de hipótesis, ¿cuál es un ejemplo del mundo real?

Cada token en la plataforma Ethereum es un token ERC-20.

Se cuentan en 82815 en el momento de la publicación, echemos un vistazo a algunos de ellos.

EOS (EOS), actualmente la quinta criptomoneda más grande del mundo, con casi 12.000 millones de dólares en capitalización bursátil, está intentando construir una red que pueda utilizar la comunicación entre blockchains y  

TRON (TRX) está clasificado 10º entre todas las criptomonedas en el momento de escribir este artículo, y se describe como un 'protocolo de código abierto para la industria del entretenimiento digital'. Su objetivo es lanzar una plataforma de contenido con un ecosistema que conecte a todas las personas creando diferentes tipos de contenido.

Una " plataforma pública de cadena de bloques a nivel de empresa " VeChain. (VEN), la criptomoneda número 15 en términos de capitalización bursátil, tiene previsto aplicar la tecnología de Internet de las Cosas (IoT) para proporcionar claves privadas para cada producto que permitan su seguimiento.

¿Hay algún problema con el ERC-20?

El ERC-20 no es perfecto.

Hay algunas cuestiones que el ERC-20 no aborda.

Hay situaciones en las que los tokens pueden ser destruidos involuntariamente cuando se utilizan como pago de un contrato inteligente en lugar de usar Ether. Un estimado de $3 millones se ha perdido debido a esto.

Para corregir este error, la comunidad Ethereum está trabajando actualmente en un nuevo estándar

llamado ERC-223. Sin embargo, estos estándares no son compatibles con el ERC-20, por lo que se recomienda a los desarrolladores que continúen utilizando el ERC-20 hasta que se realice la compatibilidad.

En abril de 2018, varios intercambios suspendieron depósitos y retiros de tokens basados en Ethereum debido al fallo batchoverflow. Se describe como un "problema clásico de desbordamiento de números enteros" y podría permitir potencialmente que un atacante "posea una gran cantidad de tokens".

Se notó, que no hay un enfoque de seguridad tradicional para arreglar estas vulnerabilidades en este momento.

¿Cuáles son las ventajas de ERC-20?

Básicamente, hace que todo sea más sencillo.

Antes de los tokens del ERC-20, los desarrolladores pueden utilizar otra terminología en el código, por ejemplo

un token utiliza [totalAmount] mientras que otro utiliza [totalNumber].

Los intercambios y las billeteras necesarias para construir sus plataformas acomodarse para cada uno

el código de un token

Con un estándar universal, los nuevos tokens pueden colocarse en un intercambio o transferirse a

una billetera automáticamente, una vez que ha sido creado.

ERC-20 también hace que la creación de nuevos tokens sea extremadamente fácil, y es por eso que Ethereum se ha convertido en la plataforma más popular para las ICOs en 2017.

¿Puedo mentir y decir que tengo más fichas de las que realmente tengo?

Nope.

Antes de realizar una transacción, la función [allowance] comprueba el saldo de la cuenta del usuario y cancelará la transacción si no hay suficientes tokens.

No permitimos crédito en nuestro "cripto-casino", así que tenemos que asegurarnos de que cada jugador tiene suficiente BLU para hacer su apuesta. Si sólo tienen 1 BLU, entonces no pueden apostar 2 BLU.

¿Hay alguna manera de hacer un token falso?

En realidad no, porque [approve] verifica una transacción contra el suministro total de tokens.

Se asegura de que no falte ninguno o que no haya de más.

Otra manera de salvaguardar la integridad de nuestro hipotético juego de póquer es asegurarnos de que nadie traiga más BLU a la mesa. Por lo tanto, [approve] permite el intercambio comprobando que el número total de BLU en la tabla sea igual a 10.

¿Hay alguna manera de hacer un token falso?

¿Cómo puedo obtener los tokens del ERC-20 de otros usuarios?

[transferFrom] es la función que permite a un usuario transferir tokens a otro usuario.

¡Buenas noticias! You won the first hand and gained 2.5 BLU from the other players.

Pero para quitárselos, necesita [transferFrom]. Sin esto, ¿qué evitará que alguien más le robe sus BLU?

¿Cómo puedo obtener los tokens del ERC-20 de otros usuarios?

¿Qué hace la función [balanceOf]?

Cuando se lleva a cabo la función [balanceOf], devuelve el número de tokens que una dirección determinada tiene en su cuenta.

En la primera mano de nuestro juego de póquer, 5 de los jugadores miraron sus cartas y decidieron no jugar. Cada uno de los 5 restantes decidió apostar .5 BLU. Usando [balanceOf], vemos que cinco de los jugadores tienen 1 BLU y cinco tienen .5 BLU.

¿Qué hace la función [balanceOf]?

¿Qué hay de [transfer]?

[Transfer] permite transferir un cierto número de tokens desde el suministro total a una cuenta de usuario.

Antes de que el juego pueda comenzar, los jugadores deben recibir su BLU del dealer.

Cada jugador obtiene 1 BLU.

¿Qué hay de [transfer]?

Pasemos ahora a las normas imperativas: ¿qué es [totalSupply]?

[totalSupply] identifica el número total de tokens ERC-20 creados.

La primera cosa que nuestro casino necesita tener es un total de cuántos tokens de BLU están en circulación. Digamos que nuestra mesa de póquer tiene un total de 10 BLU con diez jugadores.

Pasemos ahora a las normas imperativas: ¿qué es [totalSupply] (

Entiendo la analogía, ¿pero cómo funcionaría eso exactamente?

Veamos cada una de las reglas del ERC-20 en nuestro ejemplo de 'cripto-casino'.

Son muy importantes para los desarrolladores.

Empecemos con las reglas opcionales:

Token Name (Nombre del Token): Blu Chip

Symbol (símbolo): BLU

Decimal: 2*

Queremos que nuestros tokens sean divisibles para que la apuesta mínima de los jugadores sea de 0.01 BLU. Podríamos dejar el decimal en 0 y hacer que 1 BLU sea el mínimo o subir el decimal a 18 resultando en .00000000000000000001 BLU la división más baja posible, pero mantengámoslo simple.

 
 

¿Qué sucede después de que un contrato inteligente crea un token?

Aquí es donde entra en juego el ERC-20.

Después de que un token ha sido creado, puede ser intercambiado, gastado o entregado a otra persona.

ERC-20 es el lenguaje universal que utilizan todos los tokens de la red Ethereum. Permite que un token sea negociado con otro.

Imaginemos que queríamos hacer un cripto-casino. Al igual que en un casino de ladrillo y mortero, queremos que nuestros jugadores usen nuestras fichas, por simplicidad.

Así, un jugador cambia su fiat por nuestras fichas y se dirige a una mesa de póquer.

¿Dónde encajan los contratos inteligentes en todo esto?

Los contratos inteligentes se utilizan para crear tokens ERC-20.

También se utilizan para facilitar las transacciones de los tokens y para registrar los saldos de los tokens en una cuenta.

Los contratos inteligentes se escriben en el lenguaje de programación "Solidity" sobre la base de la lógica If-This-Then-That (Si-esto-entonces-aquello, IFTTT por sus siglas en ingles).

Piensa en esto como una máquina expendedora.

¿Dónde encajan los contratos inteligentes en todo esto?

¿Qué es Ethereum, en primer lugar?

Ethereum es una red descentralizada de computadoras con dos funciones básicas.

Estas son: blockchain que puede registrar transacciones, y una máquina virtual que puede producir contratos inteligentes.

Gracias a estas dos funciones, Ethereum es capaz de soportar aplicaciones descentralizadas (DApps). Estas DApps están construidas sobre la actual cadena de bloques Ethereum, aprovechando su tecnología subyacente. A cambio, Ethereum cobra a los desarrolladores por la potencia de cálculo de su red, que sólo puede pagarse en Ether, la única moneda entre plataformas.

Dependiendo de su propósito, las DAPPs pueden crear fichas ERC-20 para funcionar como una moneda, una acción en la compañía, para puntos en un programa de lealtad, o incluso prueba de propiedad, por ejemplo, de una cantidad de oro o la escritura de una casa.

¿Qué son los tokens ERC-20?

Los tokens ERC-20 son tokens diseñados y utilizados únicamente en la plataforma Ethereum.

Siguen una lista de estándares para que puedan ser compartidos, intercambiados por otros tokens, o transferidos a un cripto-billetera.

La comunidad Ethereum creó estas normas con tres reglas opcionales y seis obligatorias.

Opcional

  • Token Name
  • Symbol
  • Decimal (hasta 18)

Obligatorio

  • totalSupply
  • balanceOf
  • transfer
  • transferFrom
  • approve
  • allowance

¿Confundido? Retrocedamos un poco.