Solidez 2022: pasos siguientes después de lo básico. Contratos inteligentes de herencia, ERC20 y ERC721 | Dave Slater | Skillshare
Buscar

Velocidad de reproducción


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Solidez 2022: pasos siguientes después de lo básico. Contratos inteligentes de herencia, ERC20 y ERC721

teacher avatar Dave Slater, Develop the World that you dream of

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      1:19

    • 2.

      Lección 1

      20:02

    • 3.

      Lección 2 - Linearización

      10:11

    • 4.

      OPCIONAL: configura un Testnet en MM

      4:35

    • 5.

      Lección 3 - token ERC20

      50:34

    • 6.

      Lección 4 - token ERC 721

      24:34

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

85

Estudiantes

1

Proyectos

Acerca de esta clase

¿A quiénes está dirigida esta clase?

Esta clase es para cualquier persona que tenga algunos fundamentos sobre el desarrollo inteligente de contratos usando el lenguaje de solidez. Aquí cubriremos todo en un método paso a paso, hablando de herencia, estándares ERC20 y ERC721.

La mayoría de los tutoriales y cursos a los que seguí se concentran en crear algún tipo de proyecto desde el principio, que es una excelente manera de aprender, pero también pasan muy rápido por lo básico y yo solía encontrarme sin entender por qué escriben código de una manera determinada.

El objetivo es completar la clase con la capacidad de entender los estándares ERC20 y ERC721 y cómo implementar tokens y NFT en la cadena de bloques.

Lo que aprenderás:

  • Remix IDE, versiones de solidez
  • Herencia
  • Estándar de ERC20
  • Estándar ERC721

Qué vas a crear:

En el camino crearemos:

  • contrato inteligente de Token ERC20;
  • contrato inteligente de ERC721 NFT:

Te recomiendo seguir mi clase de conceptos básicos de solidez

Encuentra archivos sobre esta clase

Documentos de solidez: documentos de solidez

IDE de Remix: IDE

Conoce a tu profesor(a)

Teacher Profile Image

Dave Slater

Develop the World that you dream of

Profesor(a)

Hello, I'm Dave. I am a developer advocate, tech enthusiast, pilot, and flight instructor! I have an extensive teaching experience from my flight instructor background. During my programming journey, I learned so much from the community, and I want to do my part to give something back!
Here I will focus on the Solidity language to create smart contracts and python, especially python, to interact with the blockchain.


I have worked on many projects and helped many teams launch their DApps.


What can you expect from me?
- Clear and step-by-step explanations.
- Support and interaction if you have doubts or questions.
- Enjoyable classes that will help you during your coding journey!


I structure my courses to be beginner friendly; if you have zero... Ver perfil completo

Habilidades relacionadas

Desarrollo Desarrollo web
Level: Intermediate

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Hola y bienvenidos a la solidez próxima clase de paso. Soy David, voy a ser tu profesor para esta clase. Entonces este es un SQL a mi clase básica de Solidity. Si aún no lo has visto, realmente recomiendo volver y mirar a su uno porque en esta clase vamos a cubrir muchos temas, conceptos básicos que se discuten en la clase anterior. Si no tienes este concepto abajo bastante bien, todo va a sonar muy confuso y nada va a tener sentido. Así que asegúrate de repasar primero el curso básico. Ahora, estas es la continuación del curso. Entonces una vez que tengas los conceptos básicos de solidez abajo muy bien, entonces podemos seguir con cosas más complicadas y más prácticas. En esta clase, vamos a repasar la herencia, que es una función muy importante que usamos codificando contratos inteligentes en solidez. Y vamos a repasar el Estándar ERC20 y el estándar CERC 721 también. Entonces esos son los estándares para un token y luego FTE. Y luego al final de estas lecciones, ya habrás acuartelado e implementado tus propios contratos inteligentes para tu propio token, así como lo mismo para zurdos. Preparémonos y pasemos por esos. 2. Lección 1: herencia: Hola y bienvenidos a esta primera lección o la solidez siguiente, curso siguiente paso. Como mencioné en la intro, realmente deberías pasar primero por las puntuaciones básicas. Tienes una buena comprensión de qué, qué va a pasar en estas lecciones. De lo contrario realmente vas a luchar. Entonces si aún no lo hiciste, te recomendaré volver a eso. Y si ya pasaste por eso, bienvenido de nuevo y gracias por volver a unirte a mí. En esta lección, vamos a hablar de herencia. Lo que es herencia es una capacidad muy importante de solidez. herencia es la capacidad para transferir funciones y variables a contratos derivados o cuatro. Ahora digamos a otros contratos, ¿cuál es nuestro contrato derivado y cómo usamos la herencia? Entonces en esta imagen es sólo un concepto básico, un concepto básico, un tiempo ordinario. Tenemos dos contratos. Puede ser más, pero por ahora, solo tomemos dos contratos. Contrato. Un contrato se definirá como padre e hijo. A la documentación les llama contrato base y contrato derivado. El contrato es el contrato base y el contrato B es el contrato derivado. Entonces cuando los conectamos así, significa que el contrato B, narra todas las variables y funciones públicas e interiores. Tenga en cuenta que las variables y funciones privadas no están en no en hermético. Y vamos a hacerlo brevemente, vamos a mencionar eso un poco más adelante. Pero así funcionó la herencia. En pequeño, en una función pequeña, puede ser incluso muy complicado. Pueden ser múltiples contratos en todo, desde un contrato y luego último contrato en Eritrea. Y un poquito de todos ellos. Puede ser algo extremadamente complicado como esto, donde hay muchos, muchos contratos involucrados. Y así la herencia es una buena manera de dividir la carga de trabajo y de aislar las piezas que queremos. Queremos tener dentro o no. Este es uno de los contratos, una de las estructuras que vamos a practicar en esta lección es ésta aquí. Tenemos múltiples relaciones de padres e hijos, por lo que tendremos aquí un contrato de padres, contrato de hijos, otro contrato de hijos, pero entonces éste también es contrato aparente para este contador. La lección de hoy, vamos a trabajar en algo como esto. Así que empecemos a codificar un poco aquí. Subimos a remezclar. Y por ahora deberías estar bastante familiarizado con cómo se ve esto. Empecemos a escribir el primer contrato, lo siento, en estos un contrato aquí en esta página, vamos a tener múltiples contratos hoy. Y luego vamos a conectarlos juntos y para mostrar cómo funciona la herencia, empecemos a codificar el primer contrato con el contrato de palabra clave habitual, y llamaremos a éste aquí primer contrato. Primer contrato. Así. Y vamos a establecer esa sensación. Vamos a empezar con unas cuantas funciones aquí. Podemos ver cómo podemos tener otro concepto y todo. Entonces también vamos a introducir algunas palabras clave nuevas. Empecemos desde la primera función. Simplemente podemos llamar al número uno. Entonces sabemos que es la primera función aunque hagamos aquí hará que ésta sea pública vendida. Los demás contratos también pueden acceder a ella. Puro. Porque ahora vamos a hacer cualquier cosa en la blockchain aquí es sólo para comprobar cómo funciona la herencia. Y así todo va a ser interno. Y esto es lo que vamos a introducir una nueva palabra clave, palabra clave virtual. Virtual significa que otros contratos inteligentes pueden heredar esta función y utilizarla. Lo siento. mitocondrias pueden heredar esta función y modificarla. Veré en un segundo cómo hacemos eso. Vamos a devolver números. Entonces vamos a devolver un uint8. Simplemente podemos devolver un número. Vamos a leer 100. Esta va a ser la primera función. Luego está este COVID Mike, la misma función. Nuevamente, lo llamaremos número dos en su lugar. Entonces tuvimos que funcionar. Tiene los mismos atributos, virtual otra vez, porque entonces podemos modificarlo en un contrato inteligente. Y vamos a cambiar el número 200 por ejemplo, así. Ahora, estas dos funciones pueden ser heredadas por otro contrato y modificarlo. Veamos cómo podemos hacer eso. O mejor dicho primero probemos este contrato para asegurarnos de que funcione bien. Por lo que para ahora deberías estar familiarizado con estos dos. Líneas aquí arriba, así que estamos usando la versión entre 69. Tratemos de compilarlo, Control S, compilarlo correctamente. Si vamos y desplegamos en nuestro propio JavaScript a máquina, tendrá primer contrato aquí. Desplegado. Aquí vamos, tenemos nuestras dos funciones. Número uno que tiene 100, número dos que tiene 200, y eso es todo. Ahora, vamos a escribir un segundo contrato y ver cómo podemos heredar esas funciones. Por lo que escribiremos otro contrato luego recuerda que dentro de la misma página puedes tener múltiples recuentos. Cuántos contrastes quieres. Entonces escribimos el segundo y lo llamaremos segundo contrato. Segundo contraste. Aquí vamos a introducir una nueva palabra clave. Nuevamente. Presentamos una palabra clave come. Entonces la palabra clave es, es como realmente creamos la conexión entre los dos contratos. Por lo que podemos escribir segundo contrato. Primer contrato. Esta es la palabra clave, esa conexión. Entonces pongámoslo aquí. El contrato de columna. Aquí esta palabra clave es, es como conectamos los dos contrastes son ahora estos segundo contrato va a suceder narrado estas dos funciones. Entonces para probar esto, vamos a mostrarlo así. En este momento no estamos escribiendo una nueva función en la nueva variable dentro de este contrato. Pero si vamos a desplegar, así que primero compile Control S. Entonces si vamos a desplegar, vamos a asegurarnos de que revisamos porque ahora tenemos dos contratos aquí para que podamos cambiarlos. Vamos a asegurarnos de desplegar. El segundo contrato se desplegará. Si miramos tenemos las dos funciones a las que podemos acceder a ellas. No hay problema. Ciento doscientos. Este es el ejemplo muy básico que muestra cómo funciona la herencia. Tenemos un contrato aquí. El no tiene nada en ella. Lo que podemos utilizar las funciones aquí. Ahora veamos cómo podemos tomar estas funciones y modificarlas. Desde el primer contrato. Resolviendo, escribe la función. Para ello, para realmente modificado y anulado. La función debe tener el mismo nombre de las funciones en el primer contrato. Llamaremos a este aquí número uno de nuevo. Y va a tener los mismos atributos, públicos, puros. Y luego lo llamaremos hará una virtual. Nuevamente. Vamos a hacerlo, podemos crear un tercer contraste y podemos mostrar cómo funciona eso. Entonces aquí para recordar es permitirnos otro contrato para heredar esta función y modificado. Pero dijimos que queríamos modificar la función en el primer contrato. Entonces aquí tenemos una nueva anulación de palabra clave. La invalidación de palabras clave es lo que realmente modifica la función. Sin éste, no se nos va a permitir modificar qué números es retorno. Y luego vamos a devolver el número de nuevo. Volveremos un uint8. Esta vez. Volveremos el primero fue 100 en la segunda fila le devolverá 150. Entonces si volvemos a copiar la segunda función, tratamos de modificar esta también. Tenemos el número dos, lo cual está bien porque recuerda que debe ser del mismo nombre. Vamos a tener que agregar la palabra clave override. Entonces podemos modificar el número aquí, 250 por ejemplo. Entonces ahora intentemos compilarlo, Control S y compila correctamente. Y efectivamente una vez desplegemos con el segundo contrato inteligente, podremos llamar a la misma función. Pero en lugar de ser devuelto en 100 va a devolver 150 porque lo hemos modificado. Ahora si eliminamos la palabra clave override como esta, y trato de compilarla. Va a dar un error, digamos que no lo está compilando porque es, Hey, estás tratando de cambiar algo. ¿ Te falta la palabra clave override? Vamos a volver a ponerlo. Déjame pasar y las cosas de hoy, ¿verdad? Ahora, compilar correctamente. Por lo que ahora si volvemos a redesplegar el segundo contrato, entonces si llamamos número uno, ahora recibimos 150 porque lo modificamos. Si llamamos número al 250, porque de nuevo estamos modificados. Ahora, ¿y si queremos llamar a la primera función aquí número uno? Pero sin ser modificado porque en este momento aquí, no podemos hacer eso porque lo cambiamos. Entonces, ¿cómo podemos llamarlo de nuevo? Usaremos la palabra clave. Cuando hay una manera de hacerlo y tuvimos que crear una función para eso. En esta función vamos a agregar una nueva palabra clave, super, super palabra clave. Y estos nos permiten llamar a una función que llamó básicamente a las funciones originales de un contrato anterior. Vamos a crear una función. Podemos nombrar access one porque queremos acceder a esa primera función número uno. Ahora, esto va a ser un poco más sencillo. No estamos modificando nada aquí, así que sólo podemos hacerlo. Público. Puro. N va a devolver otra vez un uint8, porque recuerda esta función aquí devuelve un uint8. Entonces lo que va a ser realmente volver aquí será un super punto de retorno y el nombre de la función. Entonces número uno en este caso, porque eso es lo que queremos devolver esta super palabra clave, diciendo, tomar la función original en el primer contrato y devolverme lo que haya ahí dentro. Si lo probamos, podemos matar a estos controles es controlar si funciona, compilar correctamente. Si volvemos y desplegamos el segundo recuento de tres, de nuevo, exitoso. Ahora vamos a tener acceso a uno. Si tratamos de acceder apenas numerado uno, está regresando 150 porque ha sido modificado desde éste aquí. Y el ahora si hago clic en Access one, entonces va a estar devolviendo 100 porque se devuelve en este primero aquí. Estas son forma muy básica de cómo esto, en la obra de Erikson, religiosos querían mostrar de esta manera para poder explicar el concepto y explicar esta palabra clave virtual. Así que recuerda hoy tenemos estas pocas palabras clave nuevas, virtuales, que nos está permitiendo modificar esta función desde otro contrato. Entonces tenemos la palabra clave override que en realidad modifica la función. Ahora, vamos a crear un tercer contrato. Y van a querer mostrarte una cosa más. Vamos a crear un tercer contrato aquí. Muéstrale el poder de la herencia. Tenemos un contrato llamado tercer contrato. Contrato. Este contrato va a heredar. Sólo el segundo contrato será tercer contrato es el segundo contrato. Así. Ahora vamos a dejar esto vacío, ¿verdad? No hay código aquí. Pero por cómo funciona la herencia, podemos acceder a todas las funciones. Todos ellos porque este tercer contrato aquí, pesar de que está vacío, es heredar segundo contrato, que es heredar primer contrato. Si volvemos aquí y desplegamos en el segundo contrato aquí, lo siento, mal uno, tenemos dos, ahora tenemos tres contratos. Y hice un comparador o control S. Vamos a desplegar tercer contrato. Aquí lo tenemos. Y ahora podemos acceder a todas las funciones. Tenemos el número uno, que nos va a dar 150 para el número 2100 si accedemos a ese primero ahí. Ahora, por ejemplo, podríamos escribir, podríamos escribir aquí una función extra, número uno en el primer contrato. Por lo que puedo explicar brevemente cómo funciona la lógica detrás de la herencia con sólido. Vamos a funcionar y lo llamamos número tres. Por ejemplo. Éste también va a ser público dentro los parámetros públicos puro. Y nos devolvemos, devolvamos una cadena y ésta de aquí, devuelva una cadena. Recuerda que cada vez que pasamos una cuerda o tomamos una cuerda, tenemos que liquidar el tipo de memoria. Esto será la memoria que acaba de volver. Dijimos que devolvemos una cadena que ha escrito una frase. Y voy a sprite. En el primer contrato, en la primera columna. Aquí. Ahora vamos a matar al viejo. Compillo. Ya dos veces la tercera fila. Ahora repasemos brevemente estas funciones. Veamos la lógica desplegada. Estos último contrato aquí. Tercer contrato que no tiene código dentro, pero estamos heredando segundo contrato. Entonces para el segundo contrato, estamos heredando dondequiera que esté en primer contrato. Entonces, ¿cuál es la lógica? Ese es el sólido los usuarios aquí. Ahora, si trato de llamar a la función número uno, lo que me da 152º validez de contraste va aquí, lo llamo va aquí, así que está bien, no está en tercer contrato, irá aquí en segundo contrata y vamos a comprobar si está ahí dentro. Yo estaba como, Oh, está aquí. Muy bien. Y se detiene en el primero que encuentra que va a hacer lo mismo por el número dos, porque está en el mismo contrato para el acceso uno también, porque va aquí. No en el tercer contrato. Vamos a comprobar en una segunda. Vayamos por el número tres. Ahora si lo llamamos, nos dice todo lo que estoy en el primer contrato por lo que encuentra una correcta, ¿cómo hace eso? solidez sí es que toma la lista de los contratos heredados reneritchie y va de derecha a izquierda y los chequea en ellos. Y luego va, cada vez que encuentra el primero, pasa por eso. En este caso, tratamos de acceder al número tres. Se ve en tercer contraste en absoluto ya está aquí. Vayamos a revisar el segundo contrato. El segundo contrato está aquí. Él no está aquí. Ve a check-in. Primero contrato, aquí está, y luego puede llamarlo. Esta es una especie de lógica detrás de la herencia. Como podemos ver en esa imagen. En esta imagen, puede volverse muy, muy complicada. Es bueno que lo tomemos despacio y comprendamos la lógica detrás de ella. Ahora, voy a detener esta lección aquí. Y en la siguiente lección vamos a ir un poco más sobre la herencia, donde vamos a ver un poco más herencia multinivel donde básicamente vamos a crear algo como esto. Dónde vamos a crear un contrato base de controlador entonces va a ser heredado por otros dos contratos diferentes. Y luego vamos a escribir un último contrato que sólo va a heredar uno de ellos. Estén atentos para la próxima lección y suerte. 3. Lección 2: lineación: Hola a todos y bienvenidos a esta próxima, próxima lección, solidez, próximos pasos. En la lección anterior, cubrimos la herencia, que es la función. No es una función, pero es la capacidad de un contrato para que lo estrechó y poder utilizar funciones y variables de contratos anteriores. Hoy va a ser una lección un poco más corta, pero quiero cubrir una parte, algo que forma parte de una densidades narrativas, la linealización. Cuando tengas múltiples contratos, todas las funciones y variables heredadas del contrato anterior, tendrás que indicarlas en un orden específico. Y vamos a cubrir lo que es orden es. Quería hacer una lección específica al respecto porque creo que puede ser bastante confuso. Vamos a construir a partir del contrato anterior que ya escribimos. Nunca tienden a uno de la última lección, sólo vamos a añadir un par de cosas y sólo vamos a ir un poco más profundo en la herencia. Piensa en la última vez que terminamos con estos tres contrastes. El tercer país que hicimos, acabamos de dejarlo vacío porque ya estaba obteniendo todas las funciones y todo desde los contratos anteriores. Ahora quiero mostrar lo que significa la linealización. Digamos, solo hagamos una modificación a este segundo contrato. Vamos a añadir otra función aquí. Podemos llamar cartas. Agreguemos una función de letras frías. Esta función va a ser bastante similar a toda la anterior. Sólo voy a devolver una cuerda que va a ser pública. Puro. Podemos llamarlo. Podemos llamar a los retornos. Porque va a devolver una cadena en este caso, simplemente va a devolver cadenas diciendo, sólo estoy en el segundo contrato. Y sí, así que ahora tenemos esto real, estas funciones extra. Por lo que podría leer de esta manera porque quería tener una función que solo estaba disponible en este segundo contrato. Ahora, lo que podemos hacer con este tercer contrato, digamos eso. Digamos que queremos tener, en realidad me olvidé aquí. Este de aquí quiere ser virtual también, para que podamos modificarlo en el segundo contrato. Ahora, digamos que queremos tener acceso a ambos. El segundo contrato y los contratos de sed son, sé que no es útil ni práctico en este ejemplo, no hace nada que pudiéramos decir. Ya podíamos realmente calzada, pero quiero, quiero demostrar la linealización. Entonces vamos a golpearlo desde este tercer contrato. Queremos en eric funciones de ambos. Primero, segundo contrato. Digamos que el segundo contrato aquí Hace ya alguna narración. Tendremos que modificar un montón de cosas. Pero por ahora, vamos realmente así. ¿ Cómo podemos hacer que este tercero contrario herede todo desde el primero y el segundo? Tendremos que hacer. Ya sabemos por el segundo contrato aquí, el tercer contrato es el segundo contrato. Pero no puedo simplemente agregar el primer contrato aquí en un orden aleatorio. Porque de lo contrario va a hacerlo, el compilador va a dar un error. Si yo, si ahora trato de compilarlo, va a dar una flecha aquí. Este error no es la flecha que esperaba. Olvidé un punto y coma en esto. Pero ahora obtenemos el error real. Aquí. Dice que la linealización de la herencia en nuestro segundo gráfico es imposible. Y eso es porque esto se debe a cómo Solidity mira la herencia de los contratos. Entonces, ¿qué tamaños de documentación que la linealización es de la más base como a la más derivada. Esto significa que cuando los enumeramos, tenemos que enumerar los contratos en un orden que va de la cifra más básica a la que más llegan. Mira esta hora nuestra foto aquí sobre herencia. Y tenemos el gráfico ahí muestra los contratos base. Y esto es más o menos una estructurada que tenemos ahora. Donde tenemos el primer contrato, entonces el segundo contrato hereda del primer contrato. El tercer contrato lo queremos hacer una manera que en oídos para ambos. Si miramos a éste es el primero 1, segundo, tercero 1. Tuvimos que enumerar estos dos en la herencia. ¿ Cuál es el más básico? La luz más básica es la que narra, menos. Ahora estamos bien es la base más como va a ser el contrato número uno. Y cuanto más que la mayoría, el derecho va a ser el número dos. Vamos a tener que enumerarlos en este orden. Primero contrato y luego segundo contrato. Si vamos a mirar aquí, sólo tendremos que invertir dos de ellos invertidos. Y sacaremos el primer contrato y luego el segundo contorno. Ahora si compilamos trabajo de emisión, el contrato funciona. Pero hay algo más. Porque olvidé poner mis mas aquí. Recuerda que cada vez que usan cuerdas en alguna parte, hay que poner la memoria. Ahora Control S para compilar eso. Vete mal esta vez. Siempre hay cosas. ¿ Qué he estropeado aquí? Creo que es sólo porque aún no tiramos de las funciones, así que tenemos que colocar las funciones ahí para que funcione. Así que vamos a tomar las funciones reales que vamos a querer pasar una anulación. Entonces vamos a hacer tomaremos el número uno y número dos que están en ambos contratos que queremos heredar. Y vamos a arreglar esto. Ahora porque estamos heredando de dos contratos diferentes aquí, vamos a tener que agregar esa información extra, extra, extra. Esperamos anular porque la idea es que queremos reemplazar esta función. Entonces el formulario 15200 con el que queremos reemplazarlo, no sé si quinientos seiscientos, igual que lo hicimos con eso. Pero debido a que estamos heredando de dos contrastes diferentes, vamos a tener que especificar qué contratos estamos obteniendo después de la anulación. Entonces vamos a tener que especificar primer contrato y segundo contrato en este caso, el orden y éste aquí, no importa, existe. Manera de decir, Hey, estás heredando estas funciones de estos contratos. Eso es lo sólido que quieren establecer piloto frecuente. Ahora funciona. Perdón por eso, olvidé ese paso. Entonces esto es lo que quería mostrar sobre la linealización. Vale, ahora que lo hemos compilado, si queremos, podemos probarlo solo para asegurarnos de que hace lo que queríamos decir. Pero como se compilar correctamente debería, realmente no hay ninguna lógica específica aquí. Entonces vamos a ir a compilar el tercer contrato en nuestra máquina virtual. Despliega. Se puede ver que tenemos todo a su disposición. Podemos acceder a la primera primera función original. Podemos acceder a esta función carta que es sólo el segundo contrato, llamada gratuita. Número uno y número dos. Esos van a ser los sobrescritos, lo siento, el número uno, el número dos, el zoom un poco anulado. El número tres va a ser esa persona sólo en el primer contrato. Esto fue un poco más corto linealización de botones de video. Y entonces cada tiempos solo quería, asegurarme de que voy a ir paso a paso y no hacer que sea extra complicado porque puede ser bastante confuso, sobre todo cuando empiezas consiguiendo muchos contratos diferentes. Hablaron juntos. Eso es lo que vamos a ver en el siguiente, en el siguiente video. En el siguiente video va a ser bastante cool. En realidad, vamos a explorar el estándar ERC20 Y vamos a, vamos a estar haciendo nuestro propio token ERC-20 y lo vamos a desplegar en una cadena de bloques real. Obviamente va a ser la red de pruebas. Por lo que no hay honorarios reales, honorarios involucrados. Pero te mostraré cómo podemos hacer nuestro propio token y luego desplegado ahora están en una prueba en la que podemos desplegarlo. El teorema prueba neta en el botón como intestino manchú que nos gusta. Todo desde aquí, desde remix. Te veré en el siguiente video. 4. OPCIONAL: configurar una Testnet en MM: Hola, esta va a ser una lista muy preselectiva. Sólo estoy hablando de cómo configurar el cuello de prueba en un MetaMask para que podamos usarlo trabajar a través del próximo contrato para esto, para probar nuestro contrato que vamos a hacer en las próximas lecciones, vamos a utilizar la red de pruebas de tren inteligente. Básicamente podemos intentar probar nuestros contratos en el BSC usando B&B, probando un B&B y así sucesivamente. Realmente se puede hacer esto en cualquier red de pruebas. Hay futuro para avalancha, hay una pista antes de Ethereum. Se pueden hacer estos en cualquier cadena testlet que sólo voy a utilizar por finanzas y ejemplo, si vamos a la página web aquí, el buey, la abundancia en orales, podemos encontrar las guías para el mantenimiento, notas de prueba y todo. Y digo ingresos. Voy a dejar todos estos enlaces en una de las notas abajo para que puedas verlos. Si vamos a la prueba de cadena, tampoco vas a tener un montón de información. Lo primero que vamos a necesitar es cómo, cómo obtener los tokens netos de prueba. Porque los vamos a necesitar. Si vamos a desarrolladores de BSC, vamos a encontrar un grifo. Si nos desplazamos hacia abajo, tendremos a los desarrolladores de B&B probados. Falsa ella. Si hacemos click en faceta. Ahora podemos, podemos seguir y nuestras matemáticas obtener la dirección que queremos. Tenemos que usar aquí, como puedes ver aquí, ya lo he configurado y ya tengo algunas pruebas y B&B, sólo vamos a copiar la dirección. Kristi, aquí. Tú vas aquí y sí dame BNB y puedes levantarte a un B&B por día. Aquí está aceptado, financiado. Entonces si voy a ver mi cómo mi máscara aquí va a decir 2.2 B&B Va a haber suficiente para probar nuestro contrato inteligente. Ahora, si no tienes la red de pruebas ya configurada en matemáticas, cómo puedes hacerlo está ahí para siempre para las fijaciones, puedes ir a la academia menos Academia y va a tener un bonito artículo con los números. Entonces este de aquí es Academia de bindings.com. En realidad, la idea es que simplemente vaya en Google y escriba binding o BSC test net mathematics score. Pocas avalanchas refugiado MetaMask en matemáticas y así sucesivamente. Y así le vas a dar un dato para la cadena de marcas menos. Si nos desplazamos hacia abajo Walter, todas las instrucciones de cómo hacerlo. Aquí te va a dar el número menos y la prueba neta. Estas son las coordenadas básicamente que mi pulgar debe tener para acceder a la red de prueba para el principal o en el caso. Así que para añadirlo, solo irás en tus matemáticas. Aquí cargas, ¿de acuerdo? Si vas aquí en tus cuentas, están las redes de configuración. Y luego aquí va a tener todas las redes que ya tienes disponibles. Simplemente puedes agregar una red. Ahora solo puedes copiar y pegar aquí el nombre ellos, RPC, el ID de cadena y todo. Copiar pegar, Guardar. Y ahora tendrás la prueba y disponible. Entonces puedes simplemente cambiarlo igual que lo haces regularmente de tus matemáticas, de aquí arriba, origen CRM, el testlet, Pero entonces podría activar una mina de teorema en futuras pruebas netas para avalancha, regular BSC. Aquellos aquí todos me llaman estalla entonces Coburn yo creo también, son todas pruebas y para la red Ethereum, solo hazlo y ahora estás listo para tener una prueba y ahora estás en tus matemáticas por lo que podemos usarlo para probar nuestro contrato. Por lo que la próxima lección va a ser sobre los tokens ERC-20. Por lo que en realidad vamos a tomar el Estándar ERC20 y desplegar un token real en una cadena de bloques real va a ser la red de prueba, pero el acero es la cadena real y se puede ver cómo podemos interactuar con él. Nos vemos la próxima vez. 5. Erc20: Hola y bienvenidos a la lección donde finalmente vamos a explorar un verdadero contraste inteligente. Hoy vamos a ir a revisar nuestros estándares ERC-20. Entonces básicamente vamos a crear un token que realmente vamos a desplegar en una blockchain y podemos ver cómo funciona. En primer lugar, permítanme presentarles un buen servicio y yo atendiendo a estos intereses, abren Zeplin. Puede encontrar esta documentación adopta esa abierta zeppelin.com. Y entonces lo que hacen es que te den acceso a contratos inteligentes prefabricados. Lo bueno de eso es que estos contratos inteligentes se prueban para que sepamos que funcionan, operaron y se mantienen, se mantienen actualizados y están a salvo. En este entorno. Eso realmente no tiene sentido reescribir constantemente lo mismo una y otra vez. Por ejemplo, ERC-20 es el estándar para tokens en Ethereum Virtual Machine blockchain como Ethereum menos Mar chain, avalancha y así sucesivamente. Eso significa que los tokens son siempre básicamente el mismo contrato. No tendrá sentido escribir cientos de líneas de código cada vez. Entonces por eso los servicios abro Zeplin un muy bueno. Entonces cómo va a funcionar esto es que vamos a ir a revisar los contratos y abre esfuerzos aquí. Y te da una visión bastante buena de todo lo que tengo disponible. Los tokens C2H4 más pesados aquí, C7, 21 para FTE y así sucesivamente. Lo que vamos a enfocar en esto, en este curso va a estar aquí. Por lo que 24 tokens y ves 721 para hoy, vamos a repasar los tokens. Si miras por encima de un sistema cercano, lo siento, tu C2. Y luego te van a dar una descripción bastante buena de cómo funciona el contrato y todo. Te recomendaré pasar por esos y ver cómo funciona. Ahora. Para realmente usar el contraste, lo que podemos hacer, vamos a ir en su GitHub. Aparecen. Entonces ves que tienes un montón de cosas disponibles. Entonces si te vas a abrir por separado en contratos, vamos a encontrar todos los contrastes que tienen disponibles básicamente harán contratos. Nos hemos ido fichas. Y aquí tenemos todos los diferentes estándares. Entonces si vas en ERC-20, entonces tenemos nuestro archivo sal ERC $20. Si abrimos éste, aquí está. Este código más o menos para el token ERC-20. Si nos fijamos en la parte superior, verás que ésta se hace en la última versión de solidez. Por eso digo que seguir un servicio ideas es muy bueno porque te dan siempre el código más actualizado. Como se puede ver en la parte superior antes de iniciar el contrato aquí, importan nuestros contratos. Por lo que importan es ERC-20, los datos del método IRC 20 en contexto. Entonces esta declaración de importación básicamente es sólo para decir, digamos Hey, toma este contrato y poniendo esta página, será exactamente lo mismo. Si vas aquí, copia todo el código, y luego pegarlo en esta página. Ahora, esto es sólo un poco más eficiente porque entonces no tenemos que tener todo este código escrito. Pero básicamente lo que quieres hacer es que solo querrías copiar el contrato. No lo copia por alguna razón a partir de ahí. Lo que queremos hacer, vamos a copiar el código. O vas todo el camino hasta el final. Lo tomamos desde aquí. Todo el camino hasta la alfombra. Vamos en nuestro remix IDE donde tengo un contrato de sierra de punto ERC-20 que empecé, pegarlo. Ahora tenemos un contraste. Ahora. Estos son contratos base, por lo que realmente no va a conseguir no va a funcionar tan bien porque lo que queremos hacer en este momento no va a funcionar en absoluto, por ejemplo, porque es declaración de entrada no conectada a nada. Te dan los nombres de lo que quieres usar, pero no están conectados. Si tratamos de compilarlo, lo presiono para compilar, no va a funcionar. Y es por esos. Pero nos dicen cuáles queremos. Queremos importar el ojo ERC-20, los metadatos y el contexto. Entonces vamos a ver qué son estos. Volvamos a su GitHub. Si vamos a la carpeta ERC-20 aquí, vamos a tener aquí mismo tenemos el ERC 20 punto. Entonces este es el otro contrato que importamos. No tenemos que copiar y pegar todos estos textos porque solo vamos a importar el código directamente desde GitHub. Pero si miramos a través de ella, se debe empezar cosa a entender a medida que empiezas a entender qué, qué está pasando en este país. Por ejemplo, aquí estamos importando los hechos. Entonces, por ejemplo, transfieren, aprueban, llaman, otras funciones. Vamos a recibir eventos, vamos a emitir eventos. Por lo que podríamos tener otra plataforma escuchando esos eventos para comprobar cuándo las direcciones están enviando, transfiriendo tokens y así sucesivamente. Tiene las funciones reales para encontrar el saldo de, de una dirección a transferir y así sucesivamente. Una vez y todas estas cosas. Esto solo nos da alguna funcionalidad añadida. Entonces lo que hacemos, copiamos el control de enlace C. Sube aquí. Simplemente lo pegaremos en este material de entrada aquí. El primero es bueno. Ahora necesitamos el alma de punto de metadatos ERC-20, y esto va a estar en las extensiones. Volveremos aquí arriba. Si entras en extensiones, queremos encontrar un compañero y algunos de ellos aquí, aquí. Ahora este contrato, por ejemplo, es el contrato que contiene el nombre y el símbolo en los decimales. Eso es realmente justo lo que hace esto. Y así es como podemos configurarlo. Nuevamente. Tomamos el enlace pegado aquí hasta esta declaración de entrada más caliente. Entonces necesitamos el contexto. El contexto es interesante. Aquí. C está en utils. Utils y contextos aquí deberían estar ahí. ¿ A dónde fueron? Veo lo que he hecho mal aquí. Perdón por eso. Éste se hace en el token uno. Contratos de vuelta desde el principio. No va a estar en token, esto sólo va a ser en contratos. Utils no estaba mirando en los utils equivocados. Perdón por eso. Aquí tenemos contextos. Contextos. ¿Este hace algo interesante porque si lo miras a través de ella, muestra la d crear una función para remitente de mensajes y una función para los datos del mensaje. Entonces esto se debe a que la solidez siempre está evolucionando. Siempre está evolucionando el lenguaje. En caso de que algún día este mensaje y envíe un mensaje, datos. Las funciones o definiciones van a cambiar. Entonces si usas esta función en lugar de usar esta palabra clave directamente, solo vas a cambiar el nombre de la función en lugar de todo. Esta es realmente la idea detrás de eso. Copia este enlace y pegarlo aquí también. Ahora, tenemos todas las entradas correctas, correctamente. Ahora, básicamente tenemos una función en ERC-20, felicitación de contrato inteligente que tienes, puedes desplegar tu token. Todos nosotros. Sólo hagamos una prueba rápida. Si tratamos de compilarlo, todo debería funcionar. En efecto, un compuesto está bien. Pero no hace exactamente lo que queremos. Así que vamos a explorarlo un momento. Si miramos al principio aquí, bueno, después del segmento de entrada, hay un montón de nodos. Esos son muy buenos porque esto es todo, todos estos de código abierto. Por lo que te dan las instrucciones y todo. Ahora al principio deberías ver algo que ya sabes con lo que estás familiarizado. Estas son todas las variables. El primero aquí que tenemos el contrato, correcto, es ERC-20. Y como se puede ver, así es como vimos en los pocos videos anteriores, herencia. Este contrato es heredar funciones y variables de contextos IRC 20th y los metadatos. Por eso somos importantes entonces, porque entonces podemos, podemos heredar sus funciones. De lo contrario tendremos que escribir todo el contrato aquí. Y luego el primer mapeo que tenemos aquí es el mapeo de balances. Al igual que lo hicimos en el primer curso, los fundamentos de solidez, tenemos un mapeo que asocia una dirección con la cantidad de tokens para que podamos registrar el saldo, luego asignaciones. Es lo mismo que un mapeo con una dirección, conectarse a un mapeo de nuevo, direcciones y números. Ahora, las asignaciones es, vamos a bajar y salir porque ésta es una cosa nueva. Entonces si te resulta familiar nosotros usando aquí es subsidio y aprobamos. Si está familiarizado con el uso cualquier aplicación descentralizada o simplemente hacer slops en exchanges descentralizados. Te has dado cuenta de que cuando tienes que interactuar con ellos, por ejemplo, cuando quieres intercambiar, no sé B & B por un token, digamos que quieres resolver B&B para el token de pastel. La primera vez que vas a hacer eso con una billetera, vas a tener que aprobar el token. Eso es lo que es. Esto es lo que es la función de prueba. Esta es la función que básicamente se llama y decir, hey, esta dirección está aprobando este token. Y eso es para dar acceso, básicamente para dar el contrato inteligente desde el cambio descentralizado acceso al token que tienes en tu billetera. Esa es la parte de aprobación. Y esto relacionado con el subsidio. El subsidio es el número de tokens que permite este toque de contrato inteligente. Digamos que apruebas el, digamos que tienes diez token de pastel y quieres cambiarlos a B&B Básicamente quieres venderlos e intercambiarlos. Eso es lo que lo harías la primera vez que apruebes el contrato inteligente del exchange para tocar los tokens, y luego le permites usar los tokens, digamos los diez. Eso es lo que ha permitido. Entonces esto es lo que se aprueba y las asignaciones. Y lo mismo para aplicaciones descentralizadas. Que cada vez que los estés usando, eres como, oh, tienes que aprobar que toquemos a tu persona tokens. Eso es lo que está pasando. Volvamos al principio. Ahí estaba esa parte y luego tenemos las variables habituales, más regulares, el símbolo de nombre de suministro total, y luego un constructor. Cuando se crea un contrato, estamos construyendo el contrato con el nombre y el símbolo. Así es como lo haces, ¿verdad? Cuando verías cuándo implementamos, despliega con un nombre y símbolo que elegimos. Y así es como funciona. Y luego tendrás las otras funciones y estas son todas públicas. Entonces estas son todas las funciones que podemos llamar virtual n override. Entonces si creamos otro contrato, también podemos cambiarlos. Ahora este de aquí sólo va a devolver el nombre. Este te va a mostrar el símbolo. No se puede mostrar cuántos decimales. Nosotros tenemos. Por lo general, los tokens ERC-20 tienen un estándar de 18 decimales. Y veremos con el punto lo que eso significa. Podemos cambiarlo. Pero por lo general es mejor porque es más preciso para los sistemas informáticos. ¿ Tenemos la función de volver a llamar el suministro total, encontrar los saldos en dirección. Y justo como lo hicimos en el primer curso, realidad todas estas cosas, ¿verdad? La función de transferir el subsidio en la prueba, acabamos de hablar de ellos. Y luego podemos transferir de dos direcciones de agua, la temeraria para aumentar y disminuir la asignación. Esos son por los lemmas que mencionamos antes al aprobar el token, que se puede aumentar o disminuir la alarma. Entonces digamos que tienes un 100 tokens disponibles, pero solo quieres que el contrato toque diez, entonces lo aprobarás y luego disminuirás el subsidio de todos ellos a diez. Hay cosas transferidas. Estos dos, estos dos son interesantes que vamos a revisar durante nuestro proceso. Aquí está la función principal. Significa que podemos tener una manera de crear y destruir a partir de la función de quemadura. Con una función media, podemos crear nuevos tokens cuando la función burn, podemos destruirlos y reducir el suministro total. Ahora si notas estas dos funciones son internas, significa que esto se puede llamar desde, De un contrato, desde un contrato dentro de estos en todos desde suscribir contrato, ¿verdad? Entonces este va a ser uno de los interesantes que vamos a ver en un segundo. Entonces tenemos las cosas ****** aquí abajo. Estas son las cosas importantes. Ahora, intentemos desplegar este contrato y ver por qué necesitamos hacer algunas modificaciones. Técnicamente, estos serán multa contrato. Ya compilamos, compilamos de nuevo para estar seguros, intentemos desplegar por ahora. Lo desplegaremos en la máquina virtual aquí. Y si miras aquí en la estratagema, ahora tenemos el nombre y el símbolo por el constructor. Vamos a desplegar, lo llamaremos token. Token y el símbolo es t KN. Entonces si realizamos transacciones, crea esto más contraste. Dulce tiempo aquí. Interesante. Bueno, parece que tomó de alguna manera de memoria, pero no estoy muy seguro de por qué es demasiado lento, supongo. De todos modos, desplegado. Y ahora podemos ver tenemos todas las funciones de variables disponibles aquí de este contrato, n de los contratos que estamos heredando. Si tratamos de llamar name, se puede ver que tendremos el token de nombre. Nuestro símbolo es Kn. Esto es lo que estaba mencionando el principio que vamos a tener que hacer modificaciones porque este token, este país oye que se ha desplegado y se ha creado el token, pero no suministro total. Ese es el estándar no tiene a esos abastos. Y vimos que teníamos una función media, pero es interna. Necesitaremos crear otro control para eso. Por lo que en este momento acabamos de desplegar un contrato de un token que tiene un nombre y un solo bono. No hay manera de que creemos un abasto. ¿ Cómo solucionamos eso? Bueno, vamos a tener que hacer algunas modificaciones, así que tenemos algunas formas diferentes de hacerlo. Empecemos desde la primera forma en la que como un código duro. Ahora podemos llamar al suministro total. Podemos ver aquí, ya tenemos la variable de suministro total. Nadie lo está usando. ¿ Cómo podemos hacerlo? Podemos agregarlo en un constructor. Aquí estaban la razón por la que el nombre y el símbolo. Apenas comenzamos el suministro total también. Aquí solo haremos una coma y luego te fuiste y añadiremos el suministro total pasará por un número extra aquí. Aquí, después de nombre, después de nombre y símbolo. Sólo vamos a sumar el suministro total. Aquí. Ya tenemos una variable de suministro total. Sólo tendrá esa. Abastecimiento total. Suministro con el subrayado, que es la variable, el ancho pasa a través del constructor. Una cosa que quiero recordar, así que voy a poner una nota aquí. Es esa la norma es de 18 decimales, ¿verdad? Esto significa que tener el coraje de leer de la manera correcta. Entonces para que la máscara Meta y toda esa aplicación te lea la forma actual, tiene que tener 18 ceros después del número que usamos. Así que sólo voy a teclear 180 aquí para tener nuestra, nuestra base. Estos son ceros. Ahora, estos países nos permite realmente crear una oferta total también, para que en realidad podamos tener tokens para transferir y usar desde el principio. Vamos a probar dos. De nuevo, Control S para compilar. Parece que siempre olvido el punto y coma. Tratemos de compilarlo de nuevo. Esta vez. Esta vez compila correctamente. Si volvemos aquí, éste es el ERC 20. Entonces si compilamos nuestro contrato ERC 20, lo verás. Y ahora tenemos la oferta total también. Para que podamos, podemos desplegarlo de nuevo. Se llama token otra vez, toma AN y ahora podemos sumar un suministro. Digamos que queremos sumar, queremos tener ciento, diez cientos tokens disponibles como fuente de suministro. Entonces si sólo lo escribimos así, ahora lo que vamos a tener 1000, no cien, diez cientos tokens. Para eso. Vamos a tener los animales de 1800 después. Por eso escribí este aquí para que sólo pueda copiar los ceros y adjuntarlos aquí. Estos número humongous. Ahora significa que tenemos 1000 tokens. Si realizamos una transacción, transacción para crear el contrato. Nuevamente, no estoy seguro por qué tan lento aquí. Tenemos lo contrario creado. Si vamos a revisar ahora tenemos el total de abasto así que podemos llamar. Y tenemos todos estos números aquí. El nombre y el objetivo. Eso es todo. Por lo que ahora tenemos un contraste desplegado que tiene un suministro real, y ahora podemos hacer las cosas con él. Podemos transferir tokens, por ejemplo, de estos, mientras que estos todos estos tokens se han creado en realidad el constructo o olvidé algo. Todos estos tokens han sido creados, pero son bastante más estrechos porque no los asignamos en ninguna parte. Tenemos que asignar estos tokens buscados a alguna dirección para poder enviarlos. Lo que queremos hacer es aquí después del suministro total, queremos también agregar los tokens a un equilibrado. Y así podemos simplemente hacerlo. Podemos simplemente añadirlo al saldo del remitente del mensaje, que en este caso será el propietario aunque no esté especificado. Simplemente podemos recordar que tenemos los mappings aquí del saldo con el iris y los montos harán el saldo del remitente del mensaje es igual al suministro total. Control de punto y coma S a compilar. Funcionó. Entonces destruyamos este país y vamos a crearlo de nuevo. Y vamos a hacer el 10000. Nos volveríamos a hacer todos los ceros. El contrato pasó por multa. Ahora de nuevo, tenemos todo tipo de símbolo de suministro y nombre. Pero ahora vamos a tener estos mil tokens disponibles en desastres. Entonces si copiamos la dirección, vamos a equilibrar para pegar los demás aquí. Tenemos todas las monedas aquí. Si queremos, podemos enviarlos a otra dirección. Por lo que podemos tomar esta segunda dirección aquí donde decimos traslado. Podemos hacer transferencia a esta dirección y nombre sobrecarga para volver a su cuenta o no iba a funcionar. Entonces digamos que queremos enviar 100 objetivos. Por lo que escribiremos en 100 más el ocho en decimal. Entonces tenemos aquí. Aquí vamos. Ahora si vamos a tomar estas direcciones, estas son las fuentes tiene algunos tokens en ella. Estos son de manera muy básica ¿verdad? Ahora vamos a tratar de desplegarlo en la cadena de bloques real que los conocimos son para que podamos ver cómo funciona a través de eso. Podemos destruir este aquí. Para desplegarlo en la cadena de bloques real donde queremos ir en nuestro MetaMask y asegurarnos que tengamos la cuenta adecuada, red correcta. Si ya tienes un hijo, voy a usar el testlet BSC si ya tienes algunas pruebas y B&B es bueno. De lo contrario, si has visto el video anterior, te va a explicar cómo configurar la prueba. Y tuve que hacerme algunas pruebas y B & B, el miedo aquí mismo. Entonces, ¿cómo hacemos esto? Uno es un ambiente auditivo. Vamos a cambiar de la máquina virtual para inyectar una Web tres, esta de aquí. Ahora puedes ver los destacados de la red aquí y la red 97 personalizada. Se trata de una prueba de bonificación a mediados de los años 70, la idea de la cadena. Si miramos en nuestra cuenta, sólo tenemos una. Tiene estos muchos. Dice éter, pero es B&B Ahora podemos desplegar este contrato de nuevo. Y éste se va a desplegar en las pruebas binarias de cadena inteligente que podemos simplemente dejar los mismos datos aquí bajo el nombre de despliegue, símbolo, y total suministrado. Pero ahora cuando hagamos transacciones estas, en realidad vamos a sacar nuestras máscaras metálicas y decir, Hey, ¿quieres desplegar este despliegue de contrato desde nuestra cuenta a un contrato? He aquí cuántos B & B vamos a gastar para eso. Lo hacemos, confirma. Y aquí dice, se crea la creación del contrato el gasto. Ahora podemos interactuar desde este contrato, desde este contrato desde aquí, donde siempre podemos usar, podemos llamar nuevamente el suministro total, el símbolo y el nombre. Pero entonces también podemos ir a comprobarlo en el explorador de bloque neto de prueba real. Si tomamos la ceniza de transacción, entonces continuamos. Para encontrar aquí la cadena Explorer, solo probaremos pruebas de DSE que podemos encontrar aquí. Bloquear testlet explorador blockchain. Ahora si pegamos aquí nuestro hash de transacción, se va a mostrar todos los datos que suelen mostrar deshace la creación del contrato, ¿verdad? Entonces voy a demostrar que ha sido enviado desde nuestra dirección. Este es el contrato inteligente que creamos. En realidad creamos un contrato inteligente el cual está en los subalternos consulta frecuente aquí. Dice que estos son la hora del centro de datos o contrato inteligente. Bastante bueno. De nuevo, ahora mismo realmente no tenemos nada. Aquí lo contrario está codificado porque no lo verificamos ni publicamos, que es algo que podríamos hacer. Ahora vamos a correr ahora, veamos cómo interactuamos con él. Ahora no podemos interactuar directamente desde aquí porque no está publicado. Pero podemos interrumpir del remix. Dijimos que teníamos todas estas fichas, ¿verdad? Tratemos de enviarlos a otra dirección. Voy a llevarme unos otros que son más pesados en mis matemáticas. Por ejemplo, este de aquí. Lo copiaré y lo pegaré. Traslado. Ahora puedo transferir algún token de los otros se ha desplegado el contrato. Estos son los routers. Digamos que tenemos 1000 token en sí queremos enviar a cientos de estas cuentas, habrá que enviar 200 plus. El 1800. Si hacemos transacciones, MetaMask vuelve a aparecer y nos pidió que permitiéramos su transacción. Se puede ver aquí cuando estamos transfiriendo 200 y TPN, eso es por la década de 1800. Hay libres, no estamos tirando la década de 1880 que será el número mucho más pequeño, ¿verdad? Por lo que podemos confirmar esas transacciones exitosas. Por lo que ahora si vamos aquí y refrescamos el navegador donde está el contrato, siempre golpeamos una transacción aquí. Podemos ver que fue 200 t KN enviado desde nuestra dirección a esta otra nueva dirección. Y esta nueva dirección. Ahora podemos ver ahora podemos ver o presenciar el segundo es el equivocado. Podemos ver que teníamos la oferta total. Tenemos sólo dos direcciones están sosteniendo el token, los decimales y todo lo que podemos ver todo es bastante genial y así es como funciona un token real. Y así acabamos de hacer un contrato que nos permitió lanzar nuestro token. Ahora, mencionamos que esto es un momento duro, éste tiene un duro suministro total. ¿ Cómo podemos modificar eso? Vimos que tenemos la menta y la función de quemadura en algún lugar por aquí abajo y los que se encuentran y aprenden aquí. Así que sólo voy a destruir el país desde aquí. Tenemos medios y quemamos. ¿ Cómo accedemos a esos dos? Ahora podemos crear nuevo contrato. Aquí es donde toda la herencia y cosas que miramos en el contador anterior en los videos anteriores van a entrar en juego. Ahora vamos a crear un contrato que nos permita cumplir con este token aquí que creamos. ¿ Cómo queremos crear? Creará un contraste. Vamos, llamémoslo token. Token. Esto nos va a permitir significar token. Ahora, queremos importar no importante, queremos heredar las funciones de estos contratos. Así que vamos a tener dos dominios. Token es ERC-20. Podemos heredar todas estas funciones. Ahora. Ahora podemos usar la función para crear y grabar tokens. Pero queremos poner algunos a prueba de fallas. Queremos asegurarnos de que sólo el contraste, el propietario del contrato pueda hacer esto porque de lo contrario no tendría sentido. Cualquiera podría simplemente ir allí y crear sus propios tokens, ¿verdad? Recuerda cómo lo hacemos desde el primer curso, crearemos una variable de dirección. Podemos llamar dueño. Entonces vamos a sumar toda esta información en el constructor de este contrato. Al final vamos a desplegar sólo estas últimas controversias significan problemas, contrato de tokens y todo lo demás va a venir, pero va a crear un constructor. Conos. Manera de crear, poner el nombre y suministro total inicial va a ser ligeramente diferente a antes. Vamos a tener que especificar dónde está esta información. Entonces vamos a hacer ERC 20. Y entonces aquí ya lo vamos a llamar el nombre y el nombre igual, tanto el suministro total inicial, el nombre que podemos llamarlo otra vez token. En realidad hacer algo mejor, un poco más, un creativo, llamémoslo mejor. Te haces mejor dólar. Yo lo llamaré un dólar mejor. Entonces el símbolo sólo va a ser más alto. Y hagamos el, el suministro total inicial es de 1000 tokens. Esto va a ser un uint8. Así que no vamos a hacer eso. Hacemos 1000. Y luego vamos a tomar los 18 ceros que tenía aquí y los grandes dondequiera esos ceros. Porque recuerda que esa es nuestra oferta total. Los 18 ceros de aquí, ¿verdad? Ahora, nuestro constructor sólo va a construirlo cuando implementemos. Y luego muy sencillo, sólo vamos a asociar el centro de mensajes a la variable propietario. Aquí, dueño es igual a mi ciudad centro dot remitente. Ahora cada vez que se desplegado el contrato, ya vamos a tener asociado a nuestro propietario. Sólo el propietario va a poder llamar a esto la siguiente función que escribimos. Entonces dijimos que queríamos escribir. Queríamos tener los medios para que ellos quemen función para que podamos aumentar y disminuir la oferta, solo vamos a crear la función que podemos llamar una menta. Va a tomar dos parámetros, ¿verdad? Va a tomar dirección. Esta función es en realidad muy similar a la numérica. Es muy similar a ese contrato de mentor de monedas que escribimos en el primero, en la dirección del primer curso, podemos llamarlo cuenta. Entonces va a tomar nuestra u int, que es cantidad. Y esta va a ser la cantidad que queremos crear o destruir. Esta función aquí es esto va a ser pública, así que podemos llamarla. Aquí vamos. Ahora, el primero que queremos hacer, queremos hacer, vamos a poner nuestra condición de requerimiento, ¿verdad? Por lo que sólo el dueño puede hacerlo. Podríamos hacer con un modificador si quieres tener muchas funciones que estas fueron en este horario solo tienen dos, lo siento, está bien si lo haces así. Por lo que vamos a hacer remitente de mensajes debe ser igual a honor. Tan igual, igual. Así. Entonces podemos hacer, podemos escribir los mensajes de error y decir que sólo el propietario puede conocer al propietario. Después de eso se verifica uno y los llamamos función desde los contratos anteriores. Y vamos a pasar la cuenta y la masa. Así como eso. Se realiza la primera función. Esta es la función de la menta. Si creamos la función para quemar realmente va a ser la misma. Podemos llamar, podemos llamarlo igual o copiar pegar aquí lo llamaremos una función de grabación. Aquí. En lugar de llamar a la función principal desde el contrato ERC-20, llamaremos a la función de arranque. Sólo vamos a pasar los mismos parámetros extra. Vamos a pasar la cuenta y el monto. Ahora sólo para mostrar lo que está pasando aquí, ver que estamos llamando a esta función subrayar mantenimiento core burn. Si vas a chequear el contrato de token ERC-20. Aquí lo tenemos bajo quemar y acepta una cuenta y una cantidad. Aquí. Lo mismo. Aceptar lo mismo no es entonces hace su propia otra cosa. Eso es lo que hace. Muy bien. Ahora podemos intentar desplegar. Si haces Control S. hice algo mal aquí. Obviamente. ¿Qué hice mal? Construcción de carreteras en lugar de constructor debería funcionar Control S. Hice algo mal. No pusimos aquí el punto y coma , y estos siempre son buenos. Control S. Muy bien, ahora trabajé. Tratemos de desplegar primero en la máquina virtual. Vamos a desplegar no el contrato ERC-20 y el nacimiento. Vamos a apuntarme en token de problemas, éste de aquí, verás que había una estratagema, no toma nada porque todo ya está codificado aquí, entonces hacemos la transacción. Vamos a buscarlo. Si lo miramos, tenemos todas las cosas anteriores, pero también tenemos quemaduras solares malas. Mirando aquí, tenemos suministro total. El símbolo es el nombre es mejor dólar. Ahora si tomamos la dirección y vamos a revisar el saldo de la dirección, tendríamos aquí todos estos bonos, pero podemos aumentarlo en disminución. Digamos que queremos agregar otro token 1000. Así que vamos a ir aquí menta. Vamos a pegar la dirección de nuevo. Entonces vamos a sumar, en realidad podemos cumplir con este token a otras direcciones también. Así que vamos, intentemos hacer eso. Queremos que estas arterias tengan un montón de fichas, así que vamos a copiar esto, pegarlo aquí. Añadimos nuestros 1000 y hablando con ceros, y eso es lo mismo que el abasto. Entonces hagámoslo ahí. Recuerda que tuvimos que cambiar cuenta que no iba a trabajar. En realidad, podemos usarlo como ejemplo. Agreguemos un deseoso. Una vez un token de mil de menta para ellos mismos, hicimos una transacción y va a fallar. Y dice, oye, sólo el dueño puede significar, gritos, lo intenté, no funcionó. Ahora si vamos de la cuenta de propietario, iniciamos transacción que ahora eso va a funcionar. Estas direcciones aquí. Ahora también tiene un saldo de 1 mil tokens. Sólo di eso. Digamos que queremos destruir todas las fichas. Ya no nos gusta el token que abastece. En lugar de menta. Entonces diremos, tomemos los tokens de esta cantidad. Estos contadores los destruyen. Recuerda, cada cuenta solo tiene 10000. Ahora sacamos todos los tokens que queremos destruirlo de esta cuenta, la transacción. Entonces vamos a ir a ver que estas cuentas ya no tienen tokens. El abasto total, acero mil. Si quitamos todo el token de la otra cuenta también. Copiemos esta cuenta. Tiene que volver a cambiar al dueño. Transacción. La cantidad de quemado excede el saldo. Hicimos lo hacemos antes ya destruimos los tokens de las cuentas, tenemos que hacerlo a la otra cuenta. La transacción se quedó sin gas. Pasando. Hay un problema, probablemente haya algún otro problema para eliminar 0. Muy bien, ahora tratamos de destruir, probablemente estaban tratando de destruir demasiadas fichas allí. Se puede ver entonces destruimos esa parte ahí. Muy bien. Entonces si realmente queremos probar esto en el inyectar la Web tres fin de semana, cambia para inyectar una Web tres y volver a desplegarlo en la prueba real. Muy bien, despliega y vamos a comprobarlo en el, en la página web aquí vamos a copiar el hash. Muy bien, aquí está. Se está creando. El contrato que se ha creado a partir de esta dirección. Ahora, tenemos el contrato. Tratemos de hacer lo mismo. Vamos a crear un poco más. Vamos a enviar algunas fichas. Podemos tomar. 500 tokens y enviarlos a la otra dirección igual que lo hicimos antes. Esta es la misma nutria que usé antes. Se lo transferiré a ellos. Se dirigen aquí, y transferiremos 500 tokens más los 1800. Aquí vamos a tener que decir hacer todos los ceros a excepción de la última 1 mil dosis debe ser transacción de 18 ceros. Entonces si eres obras, sí, estamos tratando de transferir 500 tokens. Así como eso. Ahora vamos a revisar. Transacción ocurrió aquí. Sí, trabajaron, recibieron la transacción. Ahora vamos a revisar el token aquí. Aquí está, transfirió la muñeca mejor 500. Y si entramos aquí, ahora podemos ver que la oferta total es de 100000. Tenemos dos direcciones han sido transferidas una vez. Ahora intentemos aumentar o disminuir la oferta. Estamos utilizando las cuentas correctas. Entonces intentemos crear algunos tokens más. Si aumentamos la oferta. tanto que el mantenimiento, admitir éste. Vamos a enviarnos algunas fichas más. Vamos a crear otros mil tokens como hicimos antes. Aquí estamos llamando a la función principal. Vamos a aprobar que se verificó. Volvamos al contrato. Mejor token, aquí está el contrato. Ahora hemos significado ir a chequear gratis. Mira esto. Ahora tenemos 2 mil enchufes. Podríamos hacer lo mismo con la quemadura, para que podamos reducir el suministro. Ahora por lo general se puede acceder a este tipo de contrastes desde la página web aquí también. Por ejemplo, si vas en intercambio de panqueques en la página intercambiada de panqueques y puedes ir contrato y puedes acceder a las funciones. Aquí. No podemos. ¿ Qué tienes que hacer para eso? Tienes que verificar el código fuente del contrato. Lo que podemos hacer es que sólo podemos hacer click donde nos estaban diciendo que verificáramos. Aquí, toma la dirección. Podemos ir a ver, bueno, recompilar en solidez. Utilizamos la última versión. Contamos con licencia de código abierto. Así que si continuamos, entonces sólo vamos a tener que pegar básicamente el código fuente. Entonces aquí vamos, ven aquí. Tomamos nuestro código fuente técnicamente, debería estar bien. Sólo voy a llevarme todo. Tomamos el código fuente y lo copiamos y lo pegamos aquí. Veamos si esto funciona así. Creo que sería genial el IBI. Por lo que tenemos que tomar aquí el IBI de nuestro contrato. Tendremos más información sobre detalles de cómputo y podremos copiar el RBI. Aquí tenemos el ABI. Entonces veamos si ahora debería funcionar. Supongo que no lo hace no lo hace en este momento por su solo una prueba y y y algún tiempo no funciona. Hice lo mismo hace unas horas y funcionaba bien. Bueno, de todos modos, esta será sólo una forma verificarlo en la publicación como sería en verdadero contratista inteligente, entonces en realidad se podría acceder a ella en el registro desde ahí. Entonces lo único que serán diferencias que podrías acceder a todas las funciones directamente desde ahí. De todos modos, esta fue una especie de lección más larga, pero es realmente importante entender lo básico, ¿verdad? Entonces esto es sólo un, el contrato base para un token, el Estándar ERC20. Vimos cómo podemos importarlo desde Zeplin abierto. Cómo podemos modificarlo para trabajar con un suministro total y cómo podemos realmente crear nuevo contrato. Utilizan las mismas funciones para quemar y significa y transferir y hacer todas estas cosas diferentes. Bueno, espero que hayas disfrutado esta lección y la siguiente va a ser la última en este curso. Va a ser algo muy parecido, sobre el C7 21. Entonces el siguiente, básicamente vamos a crear un NFT, como creamos el token hoy. Gracias. 6. Lección 4: token ERC 721: Hola y bienvenidos a la última lección en este curso de próximos pasos. Vamos a hacer algo bastante parecido al video anterior donde pasamos por contrato de token ERC-20. Pero con el ERC 2721, que es para un FTE, acaba de arrancar de cremallera abierta en la documentación apenas la última vez porque es el mismo principio que tienen bastante buena documentación, el mismo principio que tienen bastante buena documentación,sólo va ser ligeramente diferente. Por lo que la última vez que fuimos en el ERC20, buen momento. Vamos a ir a nuestro C7 a T1 aquí. Al igual que la última vez, vamos a encontrar una explicación bastante bonita sobre diferentes funciones y todo. Por lo que realmente recomendaré pasar por esto para tener una mejor idea. Pero en lugar de ir directamente a su GitHub esta vez, vamos a copiar este código aquí. Porque esto es, esta es una especie de interfaz que podemos decir que vamos a utilizar para interactuar con nuestro con el estándar 721. Gracias. ¿ Cuál es la diferencia entre tu C120 en 721? Entonces si bien tu C120 es un token fungible es un token que puedes usar para hacer algo así como intercambiar por un valor. Si bien ERC séptimo 21 se define como objetivo fungible desconocido. La principal diferencia es que tu C7 T12 un token es único. Una vez que se haya creado, va a tener un ID, tal como se puede ver aquí, que tiene estos identificadores de token variables. Esa es la principal diferencia. Cada vez que nuestro ERC 721 es mental. Va a tener una identificación única y eso no se puede cambiar. Entonces si soy dueño del número uno, entonces si quiero decir uno diferente va a ser el número dos y así sucesivamente y así sucesivamente. Veamos cómo funciona esto. Copiemos aquí este código. Podemos copiarlo desde aquí arriba o simplemente podemos seleccionar desde aquí. Lo podemos hacer frente, lo pegaremos en remix donde tengo este ERC 721 voltios resolver archivo. Ahora, vamos a tener que hacer algo parecido a la última vez para importarlos. Importación, estos son contratos de GitHub. Desde la documentación sólo podemos ir en GitHub. Vete a casa los contratos, contratos, y veamos dónde están estos. El primero va a ser un ERC séptimo, 21 años a 751 voltios fuente. Para que podamos ir a buscarlo rápidamente. Aquí, C7, 21 años, 751 de esas sales. Entonces si miramos a través de esto, verás que ahora este de aquí es importante. Un montón de otros documentos, contratos. Y si pasamos por ésos rápidamente, podemos ver que esta es totalmente estructura de dominio. Tiene sus tiendas, el nombre y el símbolo. Cuenta con el dueño, Odysseys, saldos, aprobaciones y así sucesivamente. Entonces éste es algo así como el esqueleto. Eso es lo que hace este. Por lo que sólo podemos copiar el enlace de éste. Ve a cambiarlo. En esta primera diapositiva. Así como eso. El segundo que queremos usar es éste de aquí, 731751 de almacenamiento. Éste va a estar en las extensiones. Vamos en puntales. Tu almacenamiento ocular. Ahora estos van a traer una pregunta, ¿cuál es el URI? Lfts y tokens no fungibles suelen tener algunos parámetros específicos asociados a ellos. Digamos, Bueno ahora este juego y Nephthys son muy comunes, ¿verdad? Y eso es un poco en lo que vamos a trabajar hoy. Vamos a fingir que estamos creando un contrato para, por un objeto en un juego. Normalmente los objetos en los juegos, digamos que estás jugando y estás creando un juego RPG, entonces los objetos pueden tener atributos como las armas pueden ser un cierto tipo de arma, que son cierta tipo de daño y así sucesivamente. Entonces básicamente eso es lo que hace el URI. El surge una conexión entre los atributos y el arma, o en este caso de este ejemplo es entre los atributos y el NFT. Esto es lo que hace este tipo de C7 a T1, es que va a almacenar los atributos hoy. No vamos a cavar demasiado en esto porque es un poco más complicado. Sólo vamos a dar un ejemplo, Pero en un segundo aquí. Ahora podemos continuar y copiar pegar. Contrato aquí y el último serán contadores. Y éste es de nuevo como en, no está en los cuerpos de la carpeta token en utils. Aquí podemos hacer contratos. Tienes contadores, contadores. Tiene las funciones para hacer un seguimiento de la NFV es básicamente podemos copiarlo. Ampersand aquí. Ahora en comparación el contrato anterior que jugamos con la oreja C7, T12 lo siento, podría seguir siendo confuso entre el ERC 20. Estos son no les va a necesitar mucho cambio. En realidad está más o menos listo para ser probado. Sólo hay pocas cosas que queremos adaptar. Por lo que dijimos que queremos crear algún tipo de contrato como un contrato para algún tipo de objeto en nuestro juego. Digamos que queremos crear unos juegos de cartas. Podemos llamarlo autos cool. Simplemente no lo he hecho, no lo ha manejado. Aquí vamos a cambiar el nombre del del contrato. Y como se puede ver este de aquí, mientras está importando todos estos contratos, pero luego está heredando el contrato de almacenamiento URI, que detrás de eso ahora va a heredar todo lo demás. Entonces aquí esta es una nueva forma explicar que estamos tomando algunos vinieron del contrato de contadores en este caso creo que es una struct dentro del contrato y lo estamos adoptando y traerlo aquí. Por lo que estos básicamente realiza un seguimiento de cuántas TA suficientes hay en ruta. Y luego te mostraré cómo podemos usar esta aquí. Ahora la función constructor va a crear el contrato y asociar el nombre y el símbolo, como se puede ver aquí, toma del contrato ERC 721, que está aquí arriba, y toma un nombre y el símbolo. Simplemente podemos decir que esto, tenemos los autos geniales como nombre. El símbolo sólo va a ser así. Ahora, nuestro contrato está más o menos listo. Podemos prácticamente ya probados. Vamos a ir brevemente a la función principal aquí antes de entrar en la prueba real. Entonces aquí tenemos una función llamada el ítem advertido, que podemos llamarlo de cualquier manera que podamos llamarlo, significa NFT o generar coche. Llamémoslo hacer mi auto. Entonces cada vez que somos colonias función, creamos una nueva carta que podemos dejar al jugador. Ahora aquí, el parámetro jugador aquí va a ser el mantenimiento de la dirección. Se va a dar a esa dirección. Y el URI token aquí serían esos atributos de los que estábamos hablando. Entonces, en general, cómo funciona esto. Por lo que podemos ver que son atributos. No lo sé. En el caso de un auto, puede ser del color, puede ser por lo general Es una mezcla. Estos token, este URI tiene todos los atributos generalmente se genera como un archivo JSON. Entonces tiene todos los atributos que puede estar en el color del auto. En este caso, el color del auto puede ser el poder y así sucesivamente y así sucesivamente. Para este ejemplo, ahora vamos a crear el archivo JSON y todo y vincularlo a él. Sólo vamos a teclear. El tipo es una cadena donde podemos poner el color o algún fluido que sólo para dar el ejemplo, éste es público, por lo que se puede llamar porque queremos tener, queremos que la gente llame en ella. Y esto va a devolver un uint8. Lo que va a devolver es básicamente el identificador de token. Porque como mencionamos, la principal diferencia entre ERC-20 en 1721 es que tenemos un ID único real para cada elemento. Eso es significa que eso es lo que hace esta función. Lo crea, y luego incrementa el conteo y lo almacena en el sistema. Y se puede ver que va a devolver un nuevo ID de artículo para que podamos navegar. Primero vamos a comprobarlo. Vamos a probarlo primero en la máquina virtual. Haremos Control S Si podemos compilarlo. ¿ Qué está pasando? No sé por qué lleva algún tiempo, pero tomó algún tiempo. Entonces esto es otra cosa buena de usar estos contratos prefabricados y ya probados. Ya trabajando. Todo por sí mismo. Lo compilamos y podemos desplegar. Haremos la máquina virtual. Aquí. No tenemos que poner ninguno, no tengo que incluir nada porque ya está codificado aquí. Simplemente desplegaremos el contrato de autos cool. Y si miramos, tenemos muchos contratos que podríamos desplegar porque todos eran importantes el uno por el otro. Aquí tenemos todas las funciones y todo lo disponible. Empecemos con las cosas habituales. Podemos revisar el nombre y el símbolo. Se puede ver el nombre, autos geniales, los autos de símbolos. Y luego funciona. Entonces tenemos las otras funciones bastante parecidas al ERC-20, donde vamos a tener que aprobar el contrato antes de interactuar con él y así sucesivamente. Pero la función principal que tenemos aquí es este mi auto, ¿verdad? Si miramos aquí, tenemos un jugador y el URI. Entonces esto significa que quien llame a esta función, bueno, presiono por error pero va a ser una dirección y luego va a haber un URI asociado a ella suele asociarse automáticamente una vez que se llama a la función. En este caso, haremos un interés manual para probarlo. Pero digamos que estas segunda dirección aquí, va a venir y significó que este es el jugador y va a venir aquí. Significó la dirección objetivo ahí dentro. Y digamos que es un auto negro. No importa demasiado lo que sea. Hacemos la transacción. Pasó por. Ahora, estas direcciones tres, tómalo y comprobaremos. Si comprobamos el saldo de función, deberíamos ver que esta dirección tiene un NFT disponible. Si tomamos otra dirección, digamos esta aquí. Comprobamos y saldos están aquí. No va a tener nada. Aquí está. No hay NFT, así es como funciona. Ahora, este de aquí está desplegado en la red todavía para que podamos revisar los detalles. Pero estos básicamente cada vez que llamamos a la función uno, si t va a ser creado con un ID único y enviado a los demás. Ahora, intentemos destruir a Diesel. Vamos a desplegarlo en la prueba real. Esta vez en la anterior, usamos la prueba VSC y en este momento vamos a usar el RNC be testlet, que es la prueba para Ethereum. Por lo que tenemos arrugada aquí. Cambia a esta cuenta tres que tiene más Ethereum. Entonces recuerda que intentaremos inyectado con tres. Tuvimos las pruebas de repetición que tenemos nuestra cuenta. Ahora podemos desplegar el contrato. Ahora podemos confirmarlo. Un despliegue de contrato. Confirmamos que está pendiente, en expansión y expansión. Fue la OLP correctamente. Entonces a partir de aquí, sólo podemos hacer clic directamente en la vista en el escaneo de éter. Se va a abrir la ventana aquí aún indexando, por lo que la transacción fue enviada con éxito, pero la blockchain sigue siendo índice en ella. Esperemos un momento para ver cuándo esto va a funcionar. Esto es la creación de contratos. De acuerdo, ¿lo hizo? Por lo que ahora se creó el contrato aquí. Si vamos por los otros aquí, se puede ver cómo ahora tenemos un NFT. Cosas principales, contratos inteligentes. Si volvemos a revisar aquí, vamos, supongamos estos otros que eran más pesados. Tratemos de mantener un FTE para nuestra dirección. Iremos en mi auto, pegaremos la dirección, y esta vez vamos a guiar auto rojo. Hacer la transacción. Vamos a tener que confirmarlo a las matemáticas. Aquí lo estamos haciendo pasar. Dependiendo por lo que pasé. Vamos a comprobar en el escaneo de éter. Se puede hacer. Por favor, índice. Tomó algún tiempo, pero ahora si miramos el Agregar los detalles. Pasaste de la dirección 0 a nuestra otra. Desde el otro 0 se creó y envía estos aquí. Ahora es C7 a través de estoy hablando, y tiene un DNI número uno. Aquí, los autos cool es la propia NFT. No hay oferta de partido y todo. Sólo hay una transferencia que ocurre. Podemos ver aquí tenemos el único token ID número uno. Si da click en él, podemos ver los detalles un poco ahí. No tiene mucho, pero es el número uno. Ahora si tomamos, si creamos otro NFT, sólo vamos a crear la misma dirección y hacemos auto azul. Realizó una transacción de nuevo, ojalá ahora se vaya a llevar tanto tiempo. Trending aquí. Vamos a buscarlo en el escaneo de éter. Por favor sea más rápido esta vez. Muy bien, aquí vamos. Tenemos DNI número dos. Entonces ahora este de aquí es un token específico que está en ID único. Y ahora tenemos que tener un total de dos. Ambos están en la misma dirección. Si tomamos esta dirección, deberíamos ver ese saldo de lo que llamamos aquí. Ahora tenemos dos. Significa que estos artistas tienen dos entidades diferentes. También podemos usar el propietario de la función, que nos puede decir que C está pidiendo un identificador de token. Y nos puede decir quién es el dueño. Podemos comprobar quién es el dueño propio número uno. Y el número dos es esta misma dirección porque mencionamos de la misma manera. Entonces intentemos transferir, podemos transferirlo a otras direcciones, ¿verdad? Entonces digamos que podemos, ahora lo poseemos para poder transferirlo. Podemos tomar una de las otras direcciones que utilizamos aquí. Lo copió. El traspaso de aprobación de. Aquí podemos utilizar una transferencia de funciones transcripción de dos. Y digamos que queremos enviar esto a esta dirección. Queremos enviarlo, para enviarlo desde la derecha. Por lo que queremos enviarlo para ver estas flechas aquí. Y vamos a enviar el token ID número dos. El segundo que fue creado. Digamos que dice los autos número dos. Lo siento, pasé un poco más rápido por eso. Se completó arriba. Tomando un tiempo. No sé por qué papel social esta noche. Muy bien. Por lo que ahora tenemos una transferencia de token de las nutrias anteriores y la poseemos a los nuevos pedidos. Ese es el token número dos. Ahora si miramos a los titulares de este contrato, ahora va a haber registrado toda esta transacción. Esto es básicamente justo cómo funcionará el contrato. Una cosa que quería mostrar antes de que terminemos aquí es que estamos creando nuestros tokens de mantenimiento. Realmente no teníamos una manera de ver cuántos de esos se han mantenido. Si miramos a través de todas estas tendencias son las funciones que tenemos disponibles. No tenemos contador. Podemos ver quién es el dueño o Warren f. T, Pero sabemos que hicimos hasta ahora tres nos va a dar un error porque no tenemos el número tres. ¿ Cómo podemos ver eso? Porque tenemos una función de contador justo en el contrato de contadores. Si matamos a éste aquí, si miras a éste, lo tenemos. Pero es privado. Esto significa que no podemos llamarlo desde fuera. Para ello, para poder verlo, tendremos que hacerlo público, público, público. Ahora si lo compilamos para éste aquí, sólo podemos probarlo en la máquina virtual. Nosotros desplegamos. Toma aquí la dirección y tratemos de conocer a algunos de ellos. Vamos a decir todo al mismo RSS, ¿de acuerdo? El primero es negro, el segundo es rojo. La tercera es amarilla. Muy bien, ahora nos referimos a tres y actualizamos. Por lo que podemos comprobar que la dirección propietaria tiene tres nf TA y podemos ver que esta es la honorable de ellos y eso está bien. Pero ahora tenemos este extra aquí, identificaciones de token. Si lo llamamos, va a mostrar tres. Entonces esto es todo lo que tenemos tres tokens y podemos comprobar quién es el dueño de lo que Tolkien es. Eso es todo. También podemos recordar el URI. Podemos tomar token número dos y ver, bueno ¿cuáles son los atributos o es un auto rojo y el token número 3100 atributos o es un ocre amarillo? Estas son todas las funciones y cosas que se pueden implementar para, ya sabes, otras aplicaciones. Por ejemplo, si te has encogido desarrollando un juego o algo así. Éste fue un poco menos que detalles en comparación con el ERC-20, pero es una buena introducción a lo que son las LFT y cómo funcionan este tipo de contratos. Esto concluye estos próximos pasos curso. Después de éste, deberías tener un poco más familiar, familiaridad con el contrato inteligente real que hacen cosa real. Así que no tengas miedo de practicar. Sigue practicando para hacer tu propio token, tal vez incluso tratando de crear un contrato diferente, un extra después de crear un token. Para que puedas interactuar con el token, tratar de ver dónde puedes hacer. Y luego el siguiente curso que voy a perecer, va a ser el curso de Python para usar la Web tres, la Web tres bibliotecas para interactuar como mi contrato. Para que uno va a ser muy útil. Uno te va a permitir interactuar con contratos inteligentes como intercambios, donde básicamente podrás crear bots, bots comercio de cripto en Python usando la biblioteca. Por lo que es bastante interesante. Muy bien, gracias por seguir, y nos vemos la próxima vez.