No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

17 Días
1 Hrs
53 Min
11 Seg
Curso de Introducción a Solidity

Curso de Introducción a Solidity

Sebastián Leonardo Perez

Sebastián Leonardo Perez

Tokens

19/21
Recursos

Aportes 9

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Qué es un token

‍Un token es un objeto físico o digital que tiene valor en cierto contexto o para determinada comunidad, aunque su propia materialidad no contenga ese valor en sí.

Las fichas de casino, por ejemplo, son solo pedazos de plástico de distintos colores, pero representan cantidades de dinero. Algunas, hasta millones de dólares, aunque fabricar una de ellas cueste apenas centavos.

Eso hacen los tokens: representan otra cosa, están en su lugar. ¿Por qué? Hay muchos motivos: la comodidad, la seguridad, la facilidad de transportarlos o transferirlos.

En el mundo cripto, los tokens se generan a partir de piezas de código de programación, en formato de contratos inteligentes que corren sobre la blockchain. El smart contract describe cómo funciona cada token. La base de datos lleva el registro de cuántos tiene cada quien. Y los usuarios pueden enviárselos entre sí como forma de transferirse valor.

ERC-20

  • Representa a los tokens fungibles
  • Solo define su Interface
  • Existen mas estándares pero mantienen compatibilidad con el ERC-20

ERC-20 OpenZeppelin

ERC-721

  • Representa a los tokens no fungibles. NFT
  • Solo define su Interface
  • Tienen un identificador único conocido como tokenId.

ERC-721 OpenZeppelin

TokenFungible.sol

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract TokenFungible is ERC20("TokenFungible", "TF") {
    
    //Funcion mint es la que emite los tokens y pide una direccion y una cantidad
    constructor() {
        _mint(msg.sender, 1000);
    }
    
}

TokenNoFungible.sol

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract TokenNoFungible is ERC721("TokenNoFungible","TNF") {
    
    //Funcion mint es la que emite los tokens y pide una direccion y un identificador
    constructor() {

        //tener la precaucion de siempre tener un ID que no se repita, unico
        _mint(msg.sender, 1);
    }
    
}

Esta clase me saco de muchas dudas sobre como funcionaban los tokens y los NFTs. He aprendido un montón hasta ahora, esperando que saquen cursos avanzados!!

RESUMEN CLASE 19:
TOKENS

I.- TOKENS

  • Son una representación de un elemento que tiene un valor en un contexto determinado.

  • En general esta representación tiene menos valor que el objeto original.

  • Existen diferentes clasificaciones para los tokens.

II.- CLASIFICACION

  • Fungibles: son elementos reemplazables por otros con las mismas características.
    Además son divisibles y podemos consumir solo una fracción.

  • No fungibles: son elementos que pueden variar de valor respecto de elementos de iguales características. No son divisibles.

III.- ERC-20

  • Es el estándar que representa a los tokens fungibles.

  • Al ser un estándar no cuenta con una implementación, sino que solo define una interfase.

  • Existen otros estándares que implementan tokens fungibles, pero todos ellos mantienen la compatibilidad contra el token ERC-20.

IV.- ERC-721

  • Es el estándar que representa a los tokens no fungibles.

  • Al igual que el ERC-20 solo define una interfase.

  • A diferencia de los tokens fungibles, estos tienen un identificador único conocido como tokenId.

V.- TOKENURI

  • Contiene información no técnica acerca de un token.

  • En general tiene que ver con información estética o visual relacionada.

  • Fue introducida por el estándar ERC-721, pero se utiliza en otros tipos de token.

REMIX:

TokenFungible.sol

// SPDX-License-Identifier: GLP-3.0

pragma solidity >=0.7.0 <0.9.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract TokenFungible is ERC20("TokenFungible", "TF") {

    constructor() {
        _mint(msg.sender, 1000);
    }

}

TokenNoFungible.sol

// SPDX-License-Identifier: GLP-3.0

pragma solidity >=0.7.0 <0.9.0;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract TokenNoFungible is ERC721("TokenNoFungible", "TNF") {

    constructor() {
        _mint(msg.sender, 1);
    }
    
}

Tokens

Son una representación de un elemento que tiene un valor en un contexto determinado. En general, esta representación tiene menos valor que el objeto original. Existen diferentes clasificaciones para los tokens:

  • Fungibles: Son los elementos reemplazables por otros con las mismas características. Son divisibles.
  • No fungibles: son elementos que pueden variar de valor respecto de elementos de iguales características. No son divisibles.
    .

Algunos estándares

ERC-20

Es el estándar que representa a los tokens fungibles. Al ser un estándar no cuenta con una implementación, sino que solo define una interfaz.

Existen otros estándares que implementan tokens fungibles, pero todos ellos mantienen la compatibilidad con el token ERC-20.
.

ERC-721

Representa a los tokens no fungibles. Solo define una interfaz.

Los NFTs tienen un identificador único conocido como tokenId.
.

TokenUri

Contiene información no técnica acerca de un token. En general, tiene que ver con información estética o visual relacionada. Fue introducida por el estándar ERC-721, aunque también se utiliza en otros tipos de token.

Por cada NFT creado es un contrato independiente? Me queda la duda ya que se usa un id único, adicionalmente, ese Id supongo que debe ser único en la blockchain, se puede hacer un hash para darle ese id?

Osea que las criptos son solo un registro numérico que vincula cada address en un mapping? Woowwww, esta clase me abrio los ojos y me dejo un tanto sorprendido

Super interesante!, seria genial un curso enfocado en el desarrollo de tokens.