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.