Desarrollo de contratos inteligentes: el juego de token, CryptoDoggies | Nathan Glover | Skillshare

Velocidad de reproducción


1.0x


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

Desarrollo de contratos inteligentes: el juego de token, CryptoDoggies

teacher avatar Nathan Glover, I love technology, I'm a maker at heart!

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.

      Bienvenido a el curso

      0:58

    • 2.

      ¿¿Qué es el Ethereum?

      1:00

    • 3.

      Introducción a los contratos inteligentes

      0:42

    • 4.

      Configuración de desarrollo: Windows

      12:27

    • 5.

      Configuración de desarrollo - MacOS

      3:47

    • 6.

      Configuración de desarrollo - Linux

      4:12

    • 7.

      Contrato de CryptoDoggies

      1:17

    • 8.

      Versión Pragma

      2:07

    • 9.

      Variables y los operadores de matemáticas y

      2:54

    • 10.

      Structs definir nuestros perros.

      3:23

    • 11.

      Arrays y funcionas: lugar para nuestros perros

      4:31

    • 12.

      Mapas: cómo trabar nuestros perros:

      3:37

    • 13.

      Eventos - trazar nuestros perritos

      2:24

    • 14.

      [Opcional] Prueba de contratos inteligentes con Remix

      2:43

    • 15.

      Cómo configurar la IDE para el desarrollo de la trufa

      4:25

    • 16.

      Diseño de un proyecto de trufa

      4:21

    • 17.

      Ganache y probadas

      2:57

    • 18.

      Ensayos de unidad Web3

      11:29

    • 19.

      Tokens de ERC721

      2:45

    • 20.

      Agrega la interfaz y la bibliotecas de ERC721

      5:21

    • 21.

      El DNA explicado en CryptoDoggies

      1:27

    • 22.

      Agrega variables y estructuras de datos necesarias

      5:43

    • 23.

      Creación y acceso de Token y de toen

      11:13

    • 24.

      Generar DNA al azar

      6:49

    • 25.

      Compra y retención de un balance de un

      8:49

    • 26.

      Pasos de la venta de precios de Token

      6:05

    • 27.

      Overrides de la función de Token ERC721

      10:14

    • 28.

      Aniones de función privada

      5:13

    • 29.

      ¡Pruebas de la unidad y Crushing

      8:49

    • 30.

      Introducción a Remix, MetaMask y Ropsten Testnet

      9:31

    • 31.

      Introducción a el desarrollo de la Frontend

      2:31

    • 32.

      Crear las tarjetas de Doggy

      9:21

    • 33.

      Escribe la función de loadDoggy para visualizar las cartas

      8:48

    • 34.

      Carga de los contratos de JSON ABI

      6:42

    • 35.

      Adla de la compra perdida

      4:35

    • 36.

      Carga de perros. función contract

      9:57

    • 37.

      Deploy las CryptoDoggies en Ropsten Testnet

      9:43

    • 38.

      [Opcional]

      8:47

  • --
  • 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.

1355

Estudiantes

1

Proyectos

Acerca de esta clase

Estoy seguro de que has oído de CryptoKitties, el primer contrato de Ethereum inteligente y la aplicación en repartida (DApp) ¡el que tomó el mundo por la tormenta!.

No hay negaciones de que Ethereum y las increíbles oportunidades que vienen con la creación de contratos inteligentes solo se volverán más y más disruptivas en los próximos años mientras sigue crecer.

Aprende cómo usar lo siguiente:

  • Solillo: el lenguaje de programación utilizado para escribir contratos inteligentes

  • Trufa: la forma más popular de desarrollar contratos inteligentes

  • MetaMask - extensión del navegador para interactuar con tu contrato inteligente

  • Bootstrap / JavaScript

  • Los estándares de Token ERC721: You'll tu propia Token con complicidad ERC721 que se puede operar en la cadena de bloques de Ethereum.

Escriba este curso para las personas que quieren pasar por cada los pasos necesarios para implementar su propio Token de ERC721 llamado CryptoDoggies. Cada uno de los Doggies es completamente único y puede vender y coleccionar en la cadena de bloques de Ethereum.

Al final de este curso habrás desplegado tu propio contrato CryptoDoggy y ser completamente capaz de crear cualquier cosa que puedas volar con tu poder de la gran mayoría de los contactos inteligentes

Conoce a tu profesor(a)

Teacher Profile Image

Nathan Glover

I love technology, I'm a maker at heart!

Profesor(a)

Creator of ALL things AWESOME!

Bachelor of Technology with a Major in Computer Systems and Networking, I've always had a strong desire to make amazing things with the technical skill I learn.

I've recently taken up developing Ethereum Smart contracts using the Solidity programming language and have deployed a number of small successful distributed applications (DApps).

When I'm not writing distributed and immutable code, I'm usually soldering electronics and writing code for some of my IoT home automation projects, and also working on Unity3D game development.

Ver perfil completo

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. Bienvenido a el curso: ¿ Cómo va? Bienvenido al curso Smart Contract Development. Vamos a estar construyendo nuestros propios perritos criptográfico. Juego de tokens. No soy nada, Glover. Soy ingeniero en sistemas informáticos que lleva seis meses trabajando en aplicaciones de Blockchain específicamente en la red ETHEREUM. En este curso, vamos a cubrir los fundamentos de Ethereum. ¿ Qué es una teoría? Um, sobre qué contratos inteligentes. ¿ Cómo interactuamos con ellos? ¿ Y cómo se almacenan realmente los datos en un Blockchain? Vamos a repasar los fundamentos de la solidez, que es el lenguaje de programación que nos permite escribir contratos inteligentes. Vamos a aprender los conceptos básicos de las variables de operadores, matrices y funciones de struck y luego finalmente cubrir cosas y eventos de metanfetaminas lo que nos permitirá construir contratos inteligentes totalmente en toda regla que se integren bien con los sitios web. Y hablando de sitios web, vamos a estar construyendo nuestro propio sitio para perritos de personajes que te permite realizar compras de activos o tokens compatibles con TLC 7 21 en el Blockchain sirio. Para que ese residuo empecemos 2. ¿¿Qué es el Ethereum?: para empezar, deberíamos explicar qué es realmente Ethereum y cómo se compara con algo como Bitcoin, por ejemplo, porque la teoría es bastante similar en el respeto de que tenemos un equilibrio que se almacena dentro de una cartera y ese saldo se almacena en un libro mayor público con una serie de transacciones . Cuando se realiza una transacción, se propaga a todos los demás nodos de la red y se verifica. La diferencia con el miedo, sin embargo, es que tenemos estas cosas llamadas contratos inteligentes. Si abrimos con los contratos inteligentes, podemos ver que hay más en ello que solo dinero. En realidad estamos almacenando codificando este bloque. Aquí está el código de la teoría y el contrato de inicio. Ahí se está desplegando en el Blockchain. Alguien puede interactuar con este código. Si tienen esta dirección de contratos, este contrato tendrá una serie de funciones con las que podemos interactuar y que los aliados básicamente la mayor diferencia. Siendo Ethereum y muchas otras criptomonedas. Ahí está la funcionalidad fuera de construir aplicaciones distribuidas, que es lo que se va a construir en este tutorial 3. Introducción a los contratos inteligentes: siguiendo del reciente video explicando lo que Ethereum Waas En realidad vamos a entrar en más detalle Qué es un contrato inteligente, cómo se ve. Aquí hay un ejemplo de uno que se desplegó, llamado Napster. Puedes ver el código del contrato aquí y luego debajo de él. Podríamos ser el código negro condensado. Esto es lo que en realidad está escrito en la red y tienda de Ethereum. Esto no es cadera de contrato para interactuar con ese código a través de esta dirección de bala. Bueno, a través de este contrato, atiende lo que tú lo llamas. Tenemos una serie de funciones que esto podría realmente presentar, algunas de ellas públicas y algunas del profeta, pero también tiene un conjunto de variables codificadas duras que son completamente inmutables Una vez que sus contratos escritos a la teoría Blockchain. Está ahí para siempre, lo que significa que tenemos que tener mucho cuidado con lo que en realidad publicar 4. Configuración de desarrollo: Windows: Hola ahí. Bienvenido al curso de desarrollo de contratos inteligentes de celebridades. En este video, vamos a pasar por el proceso de instalación para que tu consiguiendo tu entorno de desarrollo . Todo configurado en el sistema operativo Windows. Hay un número de pasos, ese número de pasos para esto que hace un poco más difícil que cuando estás usando un Mac OS o Linux, pero va a funcionar a través de él y conseguir que todo funcione para que te detengas con lo que vamos a hacer dentro robó un gestor de paquetes de Windows llamado Chocolatey. Ahora, para hacer eso, vas a dibujar roble claro, adelanta barra instalar, desplázate hacia abajo click y todavía chocolatey. Ahora ya puedes usar powershell. Ah, línea de comando. Vamos a usar la línea de comando. Haga clic en este poco como en la copia. Entonces si abres un man prompt click derecho y ejecutas como administrador, te avisará contigo. Ya veo. Y dentro de esta ventana, simplemente pega en lo que estaba en esta caja aquí y golpea. Introduce las tarifas de fundir chocolate. ¿ Hay una serie de dependencias diferentes que vamos a necesitar con el fin de poner en marcha el entorno desarrollado y funcionando chocolatey nos hace mucho más fácil gestionar nuestros paquetes a través de él porque solo hace extraños procesos de aislamiento para nosotros. Fantástico. Eso no se debe hacer. Entonces, ya sabes, para instalar un primer paquete, vamos a instalar el camión que podría hacer. Yo Así vamos camionero, instalamos chocolatey geo. Esto solo hará que las cosas un poco más fáciles de desarrollar con ellas para usarlas para que nadie haya acostumbrado a antes. Cuando lleguemos a esto, vamos a golpear. Sí, y debe instalarse. Puedes cerrar esta terminal e ir a menú de inicio, y debes encontrar chocolate E g a y click. Sí. Y le daré un pequeño ministro de privilegios dentro de esta herramienta a la izquierda click chocolatey. Voy a buscar algunos paquetes que queremos instalar específicamente, queremos instalar, conseguir, conseguir, y vamos a ir con Get in, robó. Por lo que está instalado en sistema de prueba. La otra opción lo instala ya que no soy básicamente una instalación mínima. Por lo que sólo te dará el binario. Podríamos abrir la consola para ver el estado una vez que ese sol instale la siguiente dependencia. En este caso, vamos a instalar código de estudio visual. Ahora bien, si prefieres usar una idea diferente. Por todos los medios, adelante y usa eso. Pero para esta historia estará usando código BS. Algunos de ustedes podrían usar átomos, texto sublime o simplemente un editor de texto que no puedo pagar. Plus plus. Sí. Bien. Mi error. Enfriar. Encontraremos código de estudio visual, click derecho. Y aún así, una vez que esté encendido, vamos a cerrar el camión con el menú. Siguiente. Todavía vamos a nodo administrador de versiones para Windows. Esto nos va a permitir gestionar nuestras versiones aire de manera no más efectiva. Vamos a entrar en el borde de get help y nunca bajar y hacer clic en lanzamientos desde aquí. Vamos a descargar el NDM, configurar zip, configurar zip, y luego una vez que esté hecho, lo vamos a extraer y luego ejecutar el click del dedo del pie de configuración un par de veces siguiente, y eso es lo que se instaló a continuación. Vamos a tener que instalar la versión al off note. Ahora que hemos estado en Viena para hacer eso, vamos a abrir de nuevo cómo línea de comando. No es necesario que te ejecutes como administrador esta vez. Y entonces simplemente vamos a correr N v m y robó 9.7 punto uno, que es una versión de notó que nos gustaría instalar. Esto también instalará gestor de paquetes conocido, que es lo que vamos a estar usando con el fin de instalar una dependencias. Una vez hecho eso, necesitamos activar nuestra versión de no usar envidia M use y la versión que usamos antes de 9.7 punto uno. Fantástico. Eso excepto sistema Intérprete para usar el nodo Votar, versión 9.7 punto uno. A continuación, vamos a estar instalando las herramientas de construcción de windows, que es lo que vamos a necesitar para no instalarlo. Algunas de las dependencias del NPM en ventanas. Para ello, vas a npm instalar G, lo que significa global. Estamos instalando su cualquier alcance global en su sistema en lugar de local a un proyecto. Voy a ir ventanas construir herramientas. Ahora esta persona puede tomar un Perdón. Te he fastidiado azotarte para que pases esto a través del show del poder. Um, Entonces lo que haremos es cerrar esto del shell Taipower y luego vamos a correr. Es administrador ahora dentro de cómo? Mostrar ventana de comandos. Rápidamente. Ejecutar NPM, instalar ventanas G, construir herramientas. Este proceso tomará bastante tiempo. Tanto también. Ve a buscar una taza de café. Bueno, justo para que esto termine, esa persona probablemente ha tardado mucho tiempo. Pero lo que se hace es instalar estacionamiento para nosotros ha instalado herramientas de construcción de estudio visual y, como, secretos con fijaciones. Simplemente todo lo que necesitas para empezar básicamente se desarrolle en windows. Paquete realmente útil eso Siguiente. Lo que vamos a hacer es tirar hacia abajo un par de apéndices que vamos a dejar más adelante Específicamente, ganache, que nos permite tener tienda en Blockchain privado desarrollo Blockchain mientras estamos desarrollando. Entonces lo vamos a hacer es cerrar restaurante cuando a menudo saltas de nuevo a la línea de comando estándar ? Porque no necesitamos, um, administrar privilegios a estas cosas. Por lo que Kennedy npm instala ganache global. También puedes hacer npm Um en realidad, vamos a hacer es vamos a volver a salir de eso porque lo que me gustaría hacer en su lugar está instalado que veas una mentira que puedes instalar hace si quieres. Pero para este curso, puedes salirte con la tuya con solo usar el Saleh y en realidad lo recomendaría. Fantástico una vez dijo ya que dijeron que iban a cerrar eso, vamos a tirar hacia abajo el repositorio base de crypto doggies, que es lo que nosotros Que lo que vamos a estar trabajando a través del resto de este curso va a rehabilitación al siguiente hombre de voy a ti, Ya sabes, vamos a usar un mapa diferente. Vamos a usar git bash. Básicamente nos da, um, um, o línea de comandos estilo UNIX trabajo con puntera, lo que hará las cosas un poco más fáciles para ti. Apenas a ver lo que somos. Vamos a cambiar, directorio en alguna manera como patos. Entonces vamos a hacer frío a un director, vamos a cambiar, Director. Usando CD y para obtener ls solo ve las corrientes. ¿ Qué hay en el actual titular? Voy a ir a buscar pista. Entonces creo que sólo copiaré esto, hombre. Es conseguir clon. Y luego el descanso tu verdadero Hey sentado fantástico. A continuación, vamos a cambiar de director en Crypto Doggy Spice y voy a correr en PM en robó. Ahora estos precios tardarán un poco de tiempo. Lo que básicamente está haciendo no es robado todo lo que está en el archivo de punto del paquete Jason dentro de su directorio fuera del proyecto. Mientras esperamos eso, en realidad vamos a abrir código de calle oficial y cargar en la carpeta. Algún tipo B s bueno. Darle algo de tiempo en la primera vez para lanzarse a configurarse. Cerraremos la página de bienvenida. Obtendremos archivo, agregaremos espacio de trabajo plegado. Iban a la computadora, ¿ ves? Y luego uso un Y cuando esta chica también. La foto que creamos. Está en documentos. Obtener proyecto abierto. Ahora Si te han empacado, Jason, deberías ver a qué me refiero. Verás Dependencias de Dev, qué dependencias instaladas como parte del proceso de desarrollo. Él sólo está acostumbrarse mientras estamos desarrollando la aplicación. Y luego nos bajamos de las dependencias estándar, que en realidad se cargan en Renton y se empujan con el proyecto cuando su vida. Y tenemos una serie de guiones que podemos llamar usando NPM run. Y en nombre de este guión cuando salté de vuelta por aquí y vamos a esperar a que esto termine, tomará algún tiempo. Fantástico. Una vez hecho eso, podrías notar que tendrás algunas advertencias. Puedes ignorar estos por ahora, siempre y cuando no recibas los errores, que, si te caes poco nosotros que todos estos pasos no deberías Estás bien para ir ahora. Lo que haré es volver a traer estas notas y simplemente decir básicamente si tienes algún problema, sobre todo con la instalación de las botellas de ventanas. Ten un vistazo a esta página aquí. Bueno, sólo búscalo. Esta es una de las dependencias que causó muchos problemas para algunas personas que utilizaron la vieja guía para este curso. Si sigues básicamente, si tú si vendiste esto y yo tengo algún problema, no te preocupes demasiado. Pero si tienes que continuar, tienes algunos problemas. Basta con seguir estas instrucciones y ejecutar estos comandos aquí. Y espero que solucionemos cualquier problema que tú hagas. Tienes eso, pero sin más preámbulos, pasaremos a la siguiente parte. Por supuesto. Gracias Cayendo a lo largo. 5. Configuración de desarrollo - MacOS: en este video, pasaremos por instalar los requisitos para ejecutar el desarrollo de pequeños contratos en un Mac. Empecemos. Comience instalando el gestor de versión de nodo usando el coco y se encuentra aquí. Esta disponible casa desnuda la cual está disponible allí. Es salto por terminal de patrulla. No lo pegues el ciclón que NDM repo en tu directorio de inicio. También agregará este comando de exportación en directorio VM a su bashar Ver archivo. Tendrás que relanzar tu terminal después de haber hecho esto o simplemente puedes ejecutar Source que Marcy la prueba. Asegúrate de que esto haya funcionado. Ve mando. Ver India en tu salida debe ser India. Es así como sabemos que hemos cargado Nothing's contado la última versión de nota. Podríamos hacer esto yendo indio y aún anotar una vez que esté instalado, deberás seleccionar tu versión predeterminada de nota. Estamos haciendo este uso de Goa India y la nota Esto activará la visión y las arterias descargadas. También tienes acceso a NDM. Ahora, escucha, robó dependencias que vamos a necesitar un órgano robó ganache. En realidad, mucho en nuestro caso vamos a usar lata realmente viva, porque no necesitamos la experiencia plena tú. No obstante, el quinto asunto en no utilizar la línea de comando desde hace 30 años. ¿ Siento libertad? Todavía sólo ganache. Podemos hacer mbia NPM install g puede realmente vivir el G significa significado global. Estará disponible para todos los proyectos y no sólo el de un año que actualmente trabaja en esta persona puede tomar algún tiempo, dependiendo con retune medio asado. Es una vez que eso esté instalado, lo que vamos a hacer es tirar hacia abajo el repositorio descifrado basado en el extranjero. Podemos agarrar esto de mi gueto. Simplemente puedes realizar un clon get en la República. Asegúrate de hacer esto dentro de un directorio en el que estés dispuesto a trabajar. Te estoy haciendo proyectos a mí, sin cifrar la base de Toby. Una vez que eso ha bajado cambiar directorio en esa nueva carpeta y ejecutar la instalación de NPM. Esto pasará por él y aún más antiguas dependencias requeridas que vienen en el paquete Duck . Jason, Dentro de este proyecto, este proyecto este proceso puede tomar algún tiempo, así que estarías dispuesto a blanco Bueno, eso está funcionando. Lo que haremos es abrir el i d que buscamos usar. Mientras tanto, he decidido usar el código V s para estos proyectos. Sólo vamos a esperar a que esto termine. Simplemente vamos a estar preparados para agregar la falla con el espacio de trabajo una vez que no lo haga. Bueno, baja esto Ya estás listo para haber estado pasando a la siguiente sección. 6. Configuración de desarrollo - Linux: eso iba. Vamos a pasar por el proceso de instalación para fuera entorno de desarrollo yendo a límites, no para empezar. De lo que vamos a hacer instalar ningún gestor de desvío. Similar a lo que hacemos en Mac OS. Esta es una manera fácil para nosotros de gestionar nuestra instancia fuera. No, Jess. Y posteriormente en él. Entonces usa esta planta de Coca-Cola a quién? Abajo esta Segadora. Y entonces lo que notará hasta el fondo aquí es que esta tesis se sumarán líneas completas a nuestro nacional. A ver, podemos confirmar que están, de hecho, ahí yendo y buscándolo arriba y justo abajo aquí, eso debería estar ahí. Ahora es lo que debería pasar es que si cerramos Elterman violación en ella ahora debería tener acceso al entrenador y al empleo. Podrías probar esto yendo mando enzian. Fantástico. Ahora vamos a instalar la última versión Nota. Podemos hacer esto entrando vía y robando. No. Una vez hecho eso, necesitamos activar esta versión e ir en uso de VM. No, Si no iniciaste una versión específica, necesitas reemplazar esta. Tomaría nota con lo que decidieras usar. Ahora deberíamos tener un nodo en nuestro show. Entonces deberíamos ir a correr al campamento para empezar, vamos a estar instalando un cosquillas de paquete global. En nuestro caso, vamos a estar usando NFC, Ally, porque no necesitamos el completo. Estás sano si quieres. Hasta que veas o siéntete libre de usar eso en su lugar. NPM instalar g g para global. Básicamente, significa que está disponible para cualquier espectáculo en lugar de solo el que está dentro de tu proyecto. Ups. Estos pueden llevar algún tiempo a cualquiera que haya sido Internet y una computadora. Bueno, una vez que eso esté completo, pasaremos a la siguiente etapa, que es bajar la base. Perritos de guionista. Repositorio. No, no para hacer eso. Vamos a usar Get Klein para empezar con mucho cupón. Dos cajas definitivamente vienen con conseguir stock. Tampoco tienen construido Essentials Apartamento. Entonces, lo que hacer es en Seúl radica tres dependencias fest sudo apt y aún así conseguir bisontes construir esencial. No, en realidad me he pasado a tu ropa. Tres paquetes y todavía pero los tuyos podrían necesitar instalar a continuación. Bajemos esta respuesta. Bueno, simplemente consigue subir al repositorio y la posición de todo el sistema que quisiéramos usar una vez que eso esté hecho. Bueno, extraño directorio en esa nueva carpeta y luego ejecutar NPM install. Tendrás que haber corrido los comandos de instalación tapped anteriores para construir una central antes poder instalar todas las dependencias dentro del archivo Jason empaquetado que el MP en robó está tirando de esta tienda de propósito puede tomar algún tiempo. Una vez que eso esté completo, puedes abrir tu idea elegida En nuestro caso estará usando código V s viendo esto en segundo plano y con, um, solo vamos a agregar una carpeta casi como esa carpeta. Y ahora ya estás listo para irte. Ya veremos en el siguiente capítulo. 7. Contrato de CryptoDoggies: nos estamos escribiendo. Buena bienvenida. Haciéndolo a través de la introducción. Ahora vamos a dejar de crear puños, No contrato. Tiene que hacer esto. Vamos a crear una carpeta dentro de nuestro espacio de trabajo, contratos fríos. Y dentro de esto, vamos a crear algunos sobre diversos contratos. Estará usando la parada se detendrá por uno haciendo la diversión. Haremos eso es crypto doggy start cell. Ahora el alma de extensión profesaba solidez, que es la placa de Turing A y muy, muy similar a los scripts de Java. JavaScript como lenguaje de programación que se utiliza para escribir código para el ethereum Blockchain . Entonces ahora dentro de este solidifico, vamos a definir contrato Al. En este caso, lo vamos a hacer criptoperritos también. Ahora bien, debo mencionar que no hace falta este nombre aquí. Toe coincidir con el nombre del archivo. Sólo estoy haciendo eso porque tiene sentido en nuestro caso. Pero puedes tener muchos contratos dentro de este lippy fall crypto keys y como es porque realmente quieres ser perfectamente honesto. Lo que trato de decir es básicamente, no pienses eso porque tienes que encontrarlos aquí. Tiene que coincidir con el nombre del contrato aquí. Fantástico. En la próxima sesión, vamos a estar discutiendo versión de nuestros contratos 8. Versión Pragma: ahora te habrías dado cuenta si pasamos sobre este contrato vas a ver que no se ha especificado ninguna directiva embarazada . Ahora se acercan estos consejos de herramientas porque tengo una extensión especial. Está instalado código NVs llamado solidez. Esto básicamente sólo hace sintaxis. Destacar te da algunos consejos rápidos relacionando las mejores prácticas de Teoh en torno a los contratos de equitación . Yo recomendaría encarecidamente buscar para ver si tu yo d tiene una extensión es muy similar porque, sobre todo cuando estás escribiendo código, eso se va a volver inmutable y nunca podrás cambiarlo. Una vez que está en el Blockchain, es importante que sigas estándares de asistencia que lo hagan así. Si cometes un error, no va a ser un masivo para Así que ahora hablemos de versión de archivos contractuales y para esto voy a saltar a un ejemplo. Echemos un vistazo a un contrato que he desplegado en el pasado Cartas de juego frías en Comer la piel como ve en la parte superior aquí. Tengo embarazada solidez e inversiones. Europa fue por 18 definido. Ahora esa es la versión del compilador que se utilizó para compilar el contrato de este mes. En el momento de eso, lo desplegé al ethereum Blockchain. Ahora por qué eso es importante tener ahí arriba es básicamente porque necesitamos saber si hay una versión mayor del compilador que si la compilación salta a una versión mayor y cambia fundamentalmente cómo procesaron esta marca contratistas, nosotros necesitan una forma de poder trabajar hacia atrás compatible. E Entonces necesitamos saber que este contrato funcionó en esto. Compilar una visión. Y si necesitamos ejecutar esta versión de contrato inteligente en el futuro, deberíamos estar apuntando a esa versión del compilador. Significa que si rompemos cosas en el futuro, tenemos una forma de volver atrás. Entonces saltemos de verdad para preguntar mi contrato y usar el mismo compilar una visión. Entonces voy a hacer una copia y luego en la parte superior de nuestro archivo de contrato, vamos a definir que la versión es la que queremos usar. No, Si estás viendo este video en el futuro, hay muy buenas posibilidades de que puedan ser más versión al norte del estado del compilador disponible . Y básicamente, para comprobar eso, ver qué versión de solidez tienes instalada en tu sistema, será la que esté definiendo el paquete. Doc Chase en archivo de tu proyecto 9. Variables y los operadores de matemáticas y: ya. Ahora hablemos de variables de estado y básicamente variables en general y cómo se usan dentro de contratos puntuales. Entonces cuando yo cuando digo variable de estado, lo que básicamente quiero decir es cuando una variable, por ejemplo, edad, se le añadió a un contrato como este. Se va a almacenar con el código de contrato cuando su Blockchain desplegado. Ese valor es para ser inmutable. No tenemos forma de cambiar eso actualmente, y esa edad de 10 es accesible y visible Dentro de este contrato inteligente. Cuando se despliega, podemos manipular variables. Por ejemplo, podríamos tener a Max. La edad es igual a la edad por cinco, y terminaríamos con máxima Edad de 50. Podríamos haber sin firmar int min. SIDA es igual a la edad menos cinco años. Y entonces podríamos tener otro int cold ultra octavo sin firmar, que podría ser igual a la edad al paralelo a Así que ese es el operador exponente, Um, y finalmente podríamos haber hecho uso del operador inmóvil, y nosotros podría decir que la edad moder es igual a la edad, Ma. Celoso a eso es cuántas veces hay que entrar en 10. ¿ Y cuál es el resto? Um, tenemos acceso a otro tipo de variables también. Entonces tenemos una variable de cadena que eran ilegales de hacer haría un nombre, Doug. Y también podemos ser realmente específicos con lo grande que queremos nuestro debate de tapas de datos para que podamos tener incierto int uh derecho. Um y eso sería un int off sin firmar ocho beats. Por lo que muy, muy, muy específico en se puede ir todo el camino hasta 206. Con eso, normalmente verás que esto se usa con, como, una dirección porque queremos ser realmente, realmente específicos. Y sólo queremos robar el valor que sólo queremos almacenar a 1 56 bits. Eso es todo lo que queremos. No más ni menos. Um, también puedes usar luces encendidas, por ejemplo, estaremos usando ADN. Um, y eso son básicamente cinco bytes de datos que queremos taburear como el d n. A. Así que hay muchos tipos de datos diferentes que podemos usar. Basta con que si definieron así en esta forma, van a ser inmutables. Cuando se les empuja el lujo, se van a definir, y actualmente no tenemos forma de cambiarlos. Entonces solo vamos a tener un conjunto de variables que probablemente sean accesibles a través de cualquier función, y solo van a ser parte del código de contrato en la siguiente sección, vamos a hablar de Strat's y cómo podemos formatear mejor este diversos datos en paquetes de objetos pequeños que podemos usar y trabajar con más facilidad. 10. Structs definir nuestros perros.: De acuerdo, ahora tenemos una variedad de variables diferentes, pero no tenemos una manera realmente fácil de acceder a ellas. Por ejemplo, si tenemos dos perros diferentes, vamos a necesitar básicamente fuera tienda Teoh como Carl en una variable separada juntos manera. Necesidad de empaquetar esta información en un tipo de abstracto, diferente tipo de datos al que podamos acceder y utilizar a lo largo de cabo, codificar e instantáneamente nuevas versiones de la misma donde la necesitemos. Utilizamos camiones para esta estructura Realmente similares a los objetos. Si alguna vez usaste lenguajes orientados a objetos como Java on y vamos a encontrar cualquier estructura ahora como perrito y la estructura va a tener tres tipos de datos del mismo, va a tener un int sin firmar para su edad. Va a tener una cadena por su nombre. Se va a dar un bocado. Cinco variables para ADN. Fantástico. Entonces ahora tenemos un tuck de datos personalizado aquí que podemos usar para almacenar esta información. Está ahí arriba ahora. Yo quiero hacer esto. Nosotros vamos a ti. Vamos a estar en postura, a verlo. Una instancia de destruct están llamando perrito y luego se llamaba Dougie. Uno es igual a no hacerlo Y entonces vamos a poner tres variables diferentes dentro estos corchetes aquí. Entonces vamos a definir ahora. Ahora, Envejecido está arriba con, ya sabes, edad va a ser igual a la edad global. Apenas por ahora, vamos a tener nuestro nombre, que es igual a nombre. Esta variable aquí sólo es una prueba, obviamente. Y vamos a tener nuestro ADN, que por ahora sólo vamos a definir una en una pieza de datos. Va a ser Mm. 12345 cinco cuadras de largo Animal fue cerrado grupos de destrucciones y se supone que tenía tiempo. Pero no es mordida causa como cinco picaduras van ahora. Tenemos perrito uno y este perro es Doug. Con una edad de 10 años y un campo bloqueado que está completamente a cero. Podríamos hacer exactamente lo mismo con Dougie, también. Tendrá su edad igual para ver algo un poco diferente. Lo hará. Su edad es igual a la edad máxima. Tan solo para demostrar que con acceso, diferentes variables, su nombre será igual al nombre dos. Y son sólo cinco. Es como cinco lo es. Por eso es ADN es igual a Vamos a cambiarlo un poco. Bueno, dio General, Oficina de Texas 50 y cierre. Y luego nosotros qué? Hemos definido dos variables diferentes fuera a diferentes objetos perritos con diferentes variables que hemos tomado de aquí y colocado aquí. En el siguiente apartado se hablará de cómo debilita puerta esta información de una manera mucho más limpia y crear algunas funciones que nos permitirán generar perritos y almacenarlos automáticamente dentro de un aumento en la batería. Hablaremos de eso a continuación. 11. Arrays y funcionas: lugar para nuestros perros: ahora que tenemos obstrucción, que es una manera fácil de almacenar datos abstractos como un objeto que estamos familiarizados con un perrito . Vamos a querer una forma de almacenar una serie de esos objetos perritos dentro de un contrato inteligente. ¿ Sabes qué hacer eso vamos a hacer uso de la carrera? No, no. Basta con usar surgir y solidez. Es Es Es muy similar a cómo tú, matriz Dusan y prácticamente cualquier otro lenguaje de preparación. Entonces usted para encontrar el nombre de la estructura cuando es la hora del día, y luego los dos corchetes que indican que es una matriz entonces definirá el nombre de la matriz, que en este caso va a ser perritos. Enfriar. Ahora, con el fin de agregar elementos, esta matriz, vas a estar usando el método push, que es algo similar a esto. Pero te mostraré perritos puntar empuje y luego te posicionas en un perrito. En este caso, será Donkey One cómo esto no va a funcionar. Y tampoco es un método muy reutilizable para hacer esto. Lo que realmente queremos hacer es crear una función. Entonces hagámoslo ahora. Vamos a crear una función privada indicada por el subrayado la estrella. Esa es una especie de solo forma en que puedes recordar que esa es una función privada. La solidez también será un año si prefijas una función privada y luego no declaras privada . Pero nos meteremos en eso un poco más tarde también. Entonces crearemos, Create Burro y lo pasaremos en las variables que necesites para crear Dougie, que en nuestro caso, es una edad. También lo he prefijado con la otra puntuación aquí solo para indicar que es una edad diferente a la edad que estamos pasando a Destruct IE, convención de nombre diferente que solo está haciendo un poco más legible. Tenemos onside en edad. Tenemos nuestro arroyo. No, y tenemos fuera. Pero son cinco. ¿ Sabes, Y entonces también tendremos que hacer es declarar privadas las disfunciones, y ahora podemos empezar a escribir nuestra función. Entonces para empezar, crearemos A. Siempre que llamemos a esta función, queremos crear un objeto perrito, y voy a usar la memoria de los prefectos ahora memoria y almacenamiento un tubo que en realidad verás un poco cuando estamos escribiendo estos contratos. Ahora, memoria sólo significa que sólo queremos taburear el resultado de lo que sea que utilicemos este objeto perrito para dentro de la memoria de los sistemas que están ejecutando esta función, no necesitamos persistir. Se fue uno. Solo estamos usando esto temporalmente para sacarle algunos datos, y te mostraré lo que hice en un segundo. Entonces, burro, averiguaremos el nombre de Doggie en, y crearemos a partir del objeto usando las variables del envejecer a las personas a envejecer. Tu nombre es tu nombre y ADN es negar. Fantástico. Ahora que tenemos nuestro artículo perrito, necesitamos usarlo como simplemente, ya sabes, sabes, ser queridas ahí. Entonces úsalo. Vamos a básicamente simplemente empujado a la pila. Pero también vamos a almacenar el resultado de este token. Yo o tokens número en otra variable empezará un sin firmar en tu longitud de 256 bits llamado New Doggy I d Ahora la idea perrito permitirá al pasado el dueño un perrito recordar que tengo perrito número seis vivo. No seas número siete o 10 o 25 eventualmente vamos a mapear estas ideas a una dirección y la dirección de la persona que compra el burro, por ejemplo. Lo que obtenemos en lugar de ello más tarde también hacen referencia a perritos, ¿ verdad? Y empujaremos a tu perrito sobre él y luego restaremos uno, porque elevaremos nuestro próximo anuncio cero. Um, sin embargo, nos hemos arrepentido, estamos lidiando con los elementos de índice anteriores, porque cuando llamamos a la idea del perrito de que salgamos de ella, obtenemos el siguiente número de ítem. Por lo que necesitamos el número de ítem anterior para obtener el real, como, un número de este perrito. Fantástico. Entonces ahora tenemos a nuestro perrito i d, y lo hemos declarado, pero no lo hemos usado en DFO. Ahora, vamos a ignorar el error hasta el próximo capítulo, del que hablamos, um, nada. 12. Mapas: cómo trabar nuestros perros:: las mujeres la última que quedó. Acabábamos de sacar la idea de Al Doggie del empuje de matriz. Entonces en este caso, tendríamos perrito I d. Cero. No tenemos forma de mapear de vuelta al dueño de la persona que llamó a esta función . Para hacer frente a esto, podríamos tener una matriz fuera de direcciones de propietarios y luego tratar de igualarlas a cada I d. Pero es una especie de engorroso. Lo que queremos es una especie de relación de un solo sentido entre alguna variable y otra variable. Y para eso, podemos usar un mapeo. Entonces todo el Clarin veremos cómo vamos. Entonces creamos un nuevo mething, y este mapeo va a ser de una y especie de entero sin signo. Entonces este es el sin olor. ¿ Deberíamos salir de esto? Y queremos referirla dirección de vuelta del dedo del pie. Entonces vamos a usar un unsung en 2 56 y lo vamos a mapear a una dirección o la dirección de la persona que llama a esta función a continuación. Vamos a la Tercera es privada porque sólo queremos hacer con ello internamente, y lo vamos a llamar perrito. I D a dueño. Esto nos permitirá meternos en dueño fuera de los tokens. I d. Fantástico Millets referenció el mapeo en l función golpe. Ahora ya hemos creado a cabo perrito. Sólo necesitamos sentar esta variable dentro del mapeo. Vámonos. No seas yo d a, ya sabes, y vamos a sentar el nuevo i d que simplemente, como, declaramos antes de tener un igual al mensaje. Dr. Sender ahora, en realidad fue un poco en el futuro. Ese mensaje no lo manden básicamente toma la dirección de la persona que llama a esto todos estos la cuenta con la dirección, la billetera que llama a esta función y la establece como el dueño de este perrito al básicamente referenciar su i d In este mapeo, básicamente solo vas a conseguir un desenlace de esto porque vas a tener cada I d no va a tener un solo dueño. Entonces lo que quieras actualizar este mapeo, puedes hacerlo y solo cambias la dirección. Básicamente te asegurarás de que tu único dueño almacene por cada perrito y así es básicamente como funcionan las cosas. Vamos a usar unos cuantos más. No hay nada en el futuro. Hacer uno. Ahora, es ejemplo lo vamos a usar para almacenar. ¿ Cuántos perritos diferentes? Un dueño como así tendremos una dirección y, y vamos a tener un mapa para. Mm. Bueno, usando dirección tu dirección Web tendrá un mapa a un entero sin signo a 56 frío. No. Ah, perritos. Y esto va a tomar dirección de un dueño, y les dieron vuelta un número total de W's. ¿ Eso posee una casa? Ahora, eso fue por el número de burros que necesitamos para asegurarnos de que nos oponemos a que cuando hacemos un empujón hacia esto, es para un buen número. Perritos. Vamos a posicionar el enviar su dirección, que nos va a conseguir el número de burros en base a este mapeo, vamos a tener eso igual a esta misma dirección. Más uno. Básicamente, lo que esto va a hacer es que va a tomar el número actual de burros, agregarle uno y volver a almacenarlo en el método. Y esto nos permitirá hacer un seguimiento de cuántos perritos y dueño posee, al tiempo que también hacemos un seguimiento de qué dueño en Doggie está asignado a 13. Eventos - trazar nuestros perritos: Ahora que tenemos fuera Matt Things e instruimos y básicamente lejos para robar estos perritos cuando llamamos a esa función, queremos una forma de alertar a la persona que envió la solicitud de que esta acción acaba de realizarse. Y para eso, vamos a usar esta cosa llamada Evento. Vamos a crear uno ahora. Gran evento. De acuerdo, Doggy creado se llama el evento, y vamos a sacar el int 2 56 sin firmar del i d del perrito que acabamos crear. Vamos a tomar el nombre del Dougie y lo que va a fingir la edad. Mm. En realidad. Perdón. ¿ Qué pasa? A analistas regresaron de mordeduras. Cinco. El ADN. Esto sólo va a devolver la información relativa a Adobe cuando fue creado. Tu gatillo, un evento bajamos a nuestro método ahora crear perrito, y solo lo llamamos Podríamos crear perrito después de que creamos lo pasaremos el I D. Que en este caso es el nuevo Dougie I d Entonces nos posicionamos. Lo llamamos el asegurarnos de que lo estamos llamando en la orden. Sí. Entonces te llega la idea de que tenemos los nombres le pasarán el nombre, luego posicionar el hace la edad. Y fue positivo, y yo y esto se activa siempre que la gran función dokey es de lo que va a hacer algunos otros pequeños cambios. Esto para empezar, vamos a hacer pública esta función. Ahora, esto es básicamente para que podamos llamar a esta función dentro del remix, que es el siguiente tractor de este tutorial. Pero sólo nos vamos a preparar para eso haciendo pública primero esta función en particular. Y lo que eso significa es que esta función bien a frío por vehículo. Pero cualquiera en cualquiera, siempre cualquiera que quiera llamar a esto esta función de contratos crear perrito no es un paso seguro en estos argumentos. Y en la siguiente sección veremos cómo podemos crear adobe usando remix. 14. [Opcional] Prueba de contratos inteligentes con Remix: Está bien. Ahora, fin de mostrarte rápidamente que el código que trabajamos sí funciona voy a estar usando remixtos sobre la carretera en absoluto, que es un compilador de solidez en línea con el fin de desplegar todo contrato al, um, la red de pruebas Robson, que es otra prueba, teoría y bloque. Lástima que podamos utilizar para el desarrollo. Entonces solo voy a crear rápidamente este contrato. Y lo que esto hará es usar met a mezquita. Nos cobrará algo de dinero, que hemos tenido mundo sibilante desde entonces. No nos cuesta a nadie, um, desplegar este contrato en el tren de la mirada, en realidad seguimos el estado de esto. Por lo que es exitoso. Um, y podemos ver la función con la que tenemos éxito públicamente Gran perrito ahora se puede interactuar. Es literalmente crear. Vamos a crear un perrito. Entonces si vas a fijar la edad a 12 le pondremos su nombre a Doug. Emel dijo que es ADN a cero F cero F cero, Siria cero, y luego golpeamos. Crea Dougie. Esto nuevamente nos preguntará si estamos contentos con la transacción. Pasaremos por todas las cosas de la meta máscara en la editorial principal Así que por ahora, solo puedes señalar a ese grupo de piezas. Esa transacción está pendiente. Si queremos algunos detalles más, podemos abrir hacer una mezquita, clic a la transacción y me va a mostrar que esa transacción no es gasto de espalda. Podemos ver el estado de la misma. Podemos ser el motorista que se está poniendo enviado al contrato. Yo esta dirección aquí, este es el contrato. Este es un código de contrato que acabamos de crear y eventualmente eso terminará. Y sin embargo fresco. Ya hemos visto venir el evento por aquí. Si nos desplazamos hacia abajo, un vistazo, echamosun vistazo,veremos que la importación decodificada es de hecho, la entrada que ponemos. Y este dato es Primero, esta página fue escrita con éxito, convertida a preguntar Podemos especie de conformar el texto que fue escrito. Y si hacemos click en el contrato, podemos ver que esa transacción sí, de hecho, pasó. Podemos ver de dónde vino, que es mi dirección. El domicilio de contratos es el to, y el bloque en el que se almacenaron esos datos se puede ver aquí. Y sin embargo eso es básicamente una prueba de que el trabajo que hemos hecho sí funciona de hecho y en la siguiente sección empezará a pasar por reflexionar lo que ya hemos hecho y reemplazarlo por el código que necesitamos para crear nuestro token. Por lo que espero ver eso. 15. Cómo configurar la IDE para el desarrollo de la trufa: Ahora tenemos un contrato muy sencillo configurado. Vamos a empezar a aprender qué puede ofrecer la trufa. Trufa es una biblioteca JavaScript que nos ayuda a interactuar y hervir los contratos sobre el ethereum Blockchain. También nos puede ayudar a ejecutar cadenas de pruebas laterales para el desarrollo. Y también nos ayudará y ayudará con el despliegue a esos. Entonces quiero empezar. Nos vamos a genial una carpeta fría mis operaciones y también un plegado dentro del directorio de contratos llamado Ciclo de Vida. Nadie en el círculo izquierdo directorio directo. Vamos a crear un nuevo contrato. Enfriar las migraciones sintieron. Entonces en realidad vamos a copiar el código para esto directamente desde el sitio web de la trufa. Ahora bien, este código de arriba aquí es muy, muy estándar. Lo que realmente hace es que nos ayuda a migrar los contratos a un Blockchain y asignarles una bandera audible. Entonces básicamente, cuando se despliega el contrato, asignará a quien despliega eso como dueño de su contrato Ahora, ser dueño es muy importante porque significa que eres tienes acceso a ciertas pociones que general, público y el resto del mundo no tienen acceso a. Entonces solo vamos a usar este código aquí. Siéntase libre de pausar el video y copiarlo todo en. También estamos referidos a representar la biblioteca de solidez de Zeppelin, que importamos en nuestro paquete. Debe Jason. Perdón. Ahora los puntos O nobles deslizaron Lee o archivo vendido es muy, muy estándar. Verás que se usa en toda la pizarra cuando Si miras los contratos de otras personas, lo vas a ver. Se utilizaron muchos lugares diferentes solo para mantener las cosas limpias. En realidad sólo vamos a estar importándolo directamente desde esta importación de NPM de arriba aquí, Este, ¿Crees que a continuación vamos a saltar a nuestro directorio de migraciones, vamos a crear dos nuevos archivos. Ahora de nuevo, estas son trufas muy estándar, y vas a ver estas usadas por todo el lugar. Y la convención de nomenclatura es más o menos va a ser el Samos. Bueno, ya tendrás tu script de migración inicial. Esto correrá primero. Entonces este número, ese prefijo, es el orden en el que se ejecutarán estas migraciones. Entonces para empezar, vamos a migrar el contrato de migración a través de que son las primeras migraciones igual a rt fax no requieren, y luego nuestro contrato con ustedes desacreditan solo aquello que es la vida. Migraciones psicópatas. Pensó así y luego módulo dot exportaciones Esto es sólo ponerlo a disposición. Teoh Global Alcance off. Cómo implementar aplicación reckons somos nosotros. Estamos atracados, chico y migraciones. Y eso es todo lo que necesitas para las migraciones iniciales. Perdóname ahora vamos a cortar un 2do 1 y éste va a estar frío. Previéndolos también. Desplegar contratos? Sí, puedes llamarlo como quieras, siempre y cuando prefieras. Por lo que viene después del script de migración inicial. Dentro de esto, vamos a hacer casi exactamente lo mismo que antes, Pero en cambio vamos a declarar en el contrato. Queríamos un lugar que sea crypto doggies y luego artefactos. No se requiere de él y nota cómo aquí y yo hemos incluido el alma. Y aquí no lo he hecho, um en realidad no importa en ambos casos, solo para mantenerlo estándar probablemente incluirá el alma. Aquí está bien, lo harías Exportaciones Estamos plática desplegar y luego burros bichos. Y eso es todo lo que necesitamos. Para empezar con usted piensa trufa eso siguiente video realmente estará ejecutándose y confirmando que nuestros contratistas realmente despliegan 16. Diseño de un proyecto de trufa: excelente. Ahora deberíamos tener nuestra etapa proyectada donde podamos ejecutar un despliegue o migración con trufa y verlo exitosamente desplegado a una prueba Blockchain. Entonces, en realidad ejecutemos esta prueba hacia abajo para ver cómo funciona todo. No, para empezar, vas a tener que asegurarte de que has instalado todos los paquetes que vienen junto con este proyecto. Para hacer eso acaba de hablar en PM, Instalar en la raíz. Ambos descifrados directorio basado en sobreuso sabe que los monederos pueden tomar un tiempo. Um, el mío ya estaba hecho. Por eso se tomó tan rápido. Pero el dinero, todo un sector que una vez que eso es viejo solo debes ir a correr en prueba de carrera PN. Y lo que hará es ejecutar una prueba cae dentro del directorio de scripts. Ahora esta es mi final y te diré por qué. Tan solo un segundo, como se puede ver, no se puede leer correctamente. Siente el dedo del pie. Cuento largo corto. Necesitas un directorio de prueba con nuevo proyecto para que reconozca que no hay tarjeta de pruebas . Entonces hagámoslo. Crea otra carpeta prueba de frío, y luego sigamos adelante y viajando eso otra vez. Ahora aprovecha un paquete y Pam llamado Test RPC que gasta una instancia fuera de un entrenamiento de pelota utilizado para probar con sobre RPC y luego el código de Outlook está conectado a eso. Contratos compilados y posteriormente migrados. En este caso, no tenemos ninguna prueba, por lo que obtenemos cero pases. Pero tenemos que ponernos de acuerdo. Se oponen porque ninguna prueba pero ninguna prueba fallan. Tan genial de todos modos. Entonces echemos un vistazo a exactamente lo que pasó aquí. Ver otro Boehner aquí tenemos trufa config y trufa Js. En realidad, estos dos son exactamente dicen ahí en la razón por la que están divididos en 27 sigue porque a partir de balanceo, esta trufa en Windows actualmente necesita trufa configurada Jason y trufa en sistemas UNIX solo necesita problemas por el jazz al revés. Esto, actualmente para proyectos que desea apoyar por plataformas, debe tener el mismo archivo dos veces. Tiene que ver con no ser permitido. El espacio está, creo, en el sistema de archivos del ganador. Por eso quiero decir pero mejor, el de cada uno. También debes notar que tenemos el paquete dot M que está cargando una instancia a menudo demoníaca desde un archivo de extremo pie. En tu entorno, realidad no tenemos eso actualmente por lo que tal vez deberíamos agregar esto. Si echas un vistazo al ejemplo de final de punto, lo verás como un ejemplo de lo demoníaco que cargamos. Um, ahora, esta neumonía es lo que usar para generar las claves privadas para nuestro proyecto mientras estamos desarrollando todas las pruebas. Ahora, si usamos el mismo demoníaco cada vez, siempre vamos a tener el mismo conjunto de claves privadas en las cuentas sensibles, que lo hace realmente útil al tiempo que atestigua porque sabemos qué esperar. Y si necesitamos probar algo que se relacione específicamente con un propietario específico de un contrato, podemos estar seguros de que estamos usando el mismo demoníaco. Siempre vamos a conseguir que se genere esa dirección. Así que adelante y hacer una copia y luego cambiar el nombre de este archivo final a simplemente punto puede luego volver a ejecutar en él prueba, y es posible que no lo veas, pero ahora va a utilizar ese nuevo monarca con el fin de generar la dirección es que va uso eventualmente para nuestras pruebas. Um contenido misil trabajo quieto y perfecto que cuando nos topamos con él ejecutar prueba. Lo que estamos haciendo en realidad es ejecutar un script dentro de este paquete dot archivo Jason. Entonces si abres el empaquetado Jason Desplázate hacia abajo a los guiones, puedes ver una lista de guiones que son compatibles sin proyecto. Entonces si lo haces, MPM escribió la muerte. Vamos a hablar de una instancia de montones de. Llegaremos a esto un poco más tarde en los tutoriales, Pero cuando corremos en prueba PMO, lo que estamos haciendo es simplemente ejecutar este script de prueba, que es solo un script personalizado que mucha gente usa, ya sabes, para desplegar de nuevo un conjunto de cuentas. ¿ De esto de lo que estamos hablando? Cuatro. Estas son las cuentas que gastamos localmente que usamos para probar nuestras pruebas unitarias sin contrato. 17. Ganache y probadas: Ahora, digamos, por ejemplo, querías ejecutar ese tren de bloques de pruebas de desarrollo, pero querías ver visualmente exactamente lo que está pasando dentro del flujo de op PC fuera de tu cadena de pruebas. Ahora en realidad podemos usar ganache, que es una utilidad instalada desde el principio, en realidad puede una mentira con el fin de hacer girar una instancia local fuera de ese servidor RPC o Ethereum Blockchain y nuestro caso para desarrollar que realmente podemos ver físicamente y con, Ya sabes, voy a traer a Finish Seelye, y luego voy a correr especificando en demoníaco Ahora, aquí eventualmente especificó más, Nick, que discutimos en el video anterior que se podía encontrar en ese punto en archivo. Esto sólo significa que la serie de claves privadas que se asignaron cuando ejecutamos esta cadena será exactamente la misma. Vamos a correr eso. Lo que deberíamos ver es 10 cuentas y 10 claves privadas. Eso siempre será lo mismo porque su dinero les suministramos. Ahora, estas 10 cuentas están todas precargadas con 100 papel al que podemos usar mientras hacemos pruebas para asegurarnos de que ciertas partes del tracto vocal funcionen Espere. Esperamos que a ellos quiero ver el fondo que estamos escuchando bajo cerrado 85 completo cinco. Eso sólo significa que el puerto 85 45 es a lo que necesitamos conectarnos para poder acceder y manipular esta instancia fuera de la cadena. Volvamos a caer de nuevo en L funcionamientos por espacio de trabajo para todo contrato y abrimos una nueva terminal. Simplemente voy a usar la terminal con corte envidioso. Ahora necesitamos compilar los contratos, y vamos a usar que renueva la trufa para eso. Entonces si lo terminamos correr, compilar, usará trufa, ya sabes, tomó un montón de contratos y lo metió en una construcción política. Esta compilación tiene tres archivos Jason, ¿ cuál es el 80 i del contrato? Es sólo amor un paso más alto código de máquina fuera de lo que en realidad se pone en la cadena de bloques en la teoría En contrato, cuando lo hacemos migrar ahora necesitamos migrar estos contratos a nuestro comercio. Para ello, podemos ir mpm run, migrar. Ahora, cuando ejecutes esto y vuelvas rápidamente, es la agitación que tuve abierta y vamos a ver esos contratos realmente se sume a la cadena como un acontecimiento grave. Y ahí tienes. Vemos que en realidad los dos contratos se agregaron lujo, siendo el primero el contrato de migración bajo el directorio Lifestyle. En un segundo siendo el cripto comen fuera. Entonces contrato podemos ver las direcciones que ambos estos contratos fueron creados que Así que si en el futuro queríamos interactuar este contrato, sólo tenemos que apuntar a que vestido de contrato tendrá acceso a esa función que hicimos público en orden jarra perritos. En el siguiente tutorial, vamos a hablar de cómo podemos configurar algunas pruebas unitarias básicas con el fin de probar contrato. 18. Ensayos de unidad Web3: en esta sección, vamos a pasar rápidamente por el proceso de creación de algunas pruebas unitarias que aseguren que las funciones que tenemos dentro de nuestros contratos inteligentes funcionen cuando las implementemos al comercio de bloques . Entonces para empezar con solo revisar el paquete sobre Jason mientras que sí tenemos el penske web tres incluido, Esto debería darnos todos los ojos AP que necesitamos para acceder al Blockchain desde algún javascript que se ejecutará. Dijo que si saltamos a nuestra carpeta de pruebas, vamos a golpear una nueva carpeta fría, ustedes tills y luego en la carpeta de prueba base, vamos a crear nuestras primeras pruebas. Entonces vamos a ir burros pruebas dot Js Y dentro de la carpeta de detalles vamos a crear algo similar va a hacer crypto doggies. You tills esperanza dot Js Ahora me gusta formatear en esta estructura porque más adelante encontrarás que a medida que comienzas mucho más, notas que no puedes mucho más hinchado y empantanado. Y si puedes separar las utilidades específicas de la prueba unitaria diferente, tienes que correr. Te encontrarás siendo capaz de comprender exactamente lo que estás probando. Mucho mejor y eso lo verás muy pronto. Entonces ahora en la U le dice director, vamos a crear nuestro primer util, que va a ser el cheque de que podamos crear un perrito. Entonces empieza con declararemos que vamos a estar declarando todas estas funciones como globales. Entonces tenemos que exportar, y pasaremos en el artefacto e critters perritos. Bueno, contrágalo con lo que estamos trabajando, y luego crearemos una función aquí adentro Creación de burro de cheque frío, y lo vamos a pasar en la edad, el nombre y el ADN. ¿ Cuál de las tres variables que necesitaban pausar para crear? Yo no. A continuación, vamos a escribir alguna sintaxis para algún probador construido. Entonces para hacer esto con él y crearemos un escenario que queremos imprimir en la terminal cada vez que se ejecute esta función Así iremos a crear. Ah perrito debería crear un perrito llamado y luego, bueno, esto imprimir el nombre del Dougie también. Entonces sabemos con qué no estabas trabajando y dónde podríamos tener problemas. Dirán función hecha. Y vamos a ir a la siguiente línea. Ahora, en esta línea, vamos a sacar contrato a los perritos y no desplegamos. Este es el siguiente nivel. Sería No pueden simplemente confesar desplegar antes de ejecutar esto. Entonces le vamos a ejecutar una función de fregadero y luego pasamos la instancia del contrato que se ha desplegado. Entonces cuando los abusos lisiados desplegados en el pasado, la instancia de inserción fuera de ese despliegue a la siguiente línea. Ahora bien, esta línea va a ir a la espera de instancia. Step will, basicamente, cualquier llamada funcionalmente de esto esperará a que regrese el desenlace antes de seguir adelante , porque vamos a estar buscando un evento para despedir que diga que el doctor ha estado creado. Entonces vamos a ir al stock instantáneo y luego la función que queremos hacer frente sin contrato. Entonces crea Dougie, y en positivo, la edad, el nombre y el ADN. Y ahora esta es la función de contratos reales que declaramos de vuelta aquí. Es este crear perrito recordó que la función necesita ser pública. Para que hagamos esto, no hay nueva línea, harás otro colon solitario y abrirás apps brackets. Ahora, dentro de estos corchetes, podemos definir un conjunto de tipo de variables que también son extensiones a la función ahí al lado así que entre ejemplos de es uno de esos y que básicamente nos permite definir que vestido queremos que esta esta transaccional esta llamada de función provenga. Y en este caso, queríamos venir de los campamentos y las cuentas inyectaron cero. Ahora, la lista de cuentas, um, la lista de cuentas son las que generarían con esa neumonía. Y yo sólo voy a pegar esto en él FN más que sabemos. Entonces estas son las direcciones con las que tenemos que tratar. El ifit index zero siempre se crea como el propietario del contrato, y eso es por la forma en que se ejecutó ese script de migración. Entonces, si mantienes una lista de estas direcciones, hace mucho más fácil especie de recordar en qué estás tramando. Pero todo lo que básicamente necesitas saber es que queremos crear este perrito usando cuentas aquí, que es el dueño. Fantástico. Entonces sigamos adelante. Um, hay tan opciones aquí también. Se puede ir valor y realmente pasar en un valor que también se desea enviar a esta funciones a algunas funciones de requerir pago. Y si encuentras un valor dentro de este campo aquí. También enviará valor éter a la función. Pero hablaremos de eso un poco más tarde. Por ahora se cerraron cuentas felices poco y luego se apagaron. Esto se hace. Nosotros queremos ir. Entonces resultado de la función. Queremos probar esto. Asegúrate de que este resultado waas sea correcto, ¿verdad? Se recuperará el evento. Entonces vamos a ir sirve No incluyas, así que solo comprueba la salida para algún valor de cadena en afectos resultará Don't préstamos. Vamos a tomar el primer log en la matriz cuando estés y tomar el campo de evento si quieres . Echa un vistazo a lo que tienen estos resultados. Mira hacia fuera. Puedes asesorar amarlos y ver lo que realmente está disponible por ahora. Sólo tienes que saber que queremos conseguir el primer registro. Quieres agarrar el evento de esa persona que queremos comprobar para asegurarnos de que perrito creado sea el nombre del evento que fue devuelto y luego si no, queremos lanzar un mensaje. El terminal que dice que Dougie creó eventos no se activó. También cierra esto. También queremos asegurarnos de que alrededor de toda esta función aquí estamos captando cualquier excepción. Entonces atrapar hecho. Y eso es eso. Aguanta. También necesitamos asegurarnos de que regresemos el módulo, que sólo nos enteramos de esta función. Simplemente encontramos a alguien, ve retorno de crédito. Simplemente tomará el nombre de esta función y la devolverá con el mismo nombre. Señor Siguiente, si saltamos, hacemos el archivo de prueba de burros criptográficos. Esto es lo que vamos a usar para llamar a estos ustedes tills. Voy a conseguir cuentas listadas invertidas adentro afuera. No lo necesitas. ¿ Qué van a declarar esos el artefacto para nuestros contratistas hasta con los usuarios de drogas secretaria que tomaron artefactos no requieren. Y aquí tienes el alma. Si quieres ponerlo mejor para ser consistente, entonces iremos a contratar. Aquí es donde se pone interesante. Cripto perritos. Entonces esto es tomar el artefacto del ruido de Krypton, y luego vamos a tomar la lista de cuentas y usarlo para las siguientes funciones que llamamos ahora. Esta es una pieza de ayuda ocurrida que solía cargar en esas funciones util. Esto lo verás a través de muchos de los contratos inteligentes. Ese derecho y un montón de proyectos inteligentes mucha gente, derecho a solo me parece que es una buena práctica cargar básicamente en esta lista de ustedes tills, um, um, Problemáticamente perrito usado sexual. Esto es igual al nombre que fuera del Wallaby creó antes. Sí, y grifos. El contrato y las cuentas también, básicamente ciclo a través de cada una de las ayudas de funciones y sumarlas al ámbito global. Entonces estamos en esta función de ayudante darkies. Por lo que la comida saludable Lo siento, estoy recibiendo mi pecado funciones texturales, útiles. Y luego cuatro var equivale a ciclo cero a través de la lista fuera del número de función patos vinculados y luego global A al mapa fuera de ayuda de funciones en lunes tienen sentido completo. Y eso está bien. Um, básicamente, sólo porque pecan donde lo necesitemos y en el futuro, si necesitas Si necesitas un símbolo, Así que la destrucción es compañía. Escucha, vamos. Ahora, básicamente por debajo de esto, podemos llamar a cualquiera de esas funciones en este archivo que tills y que se ejecuten con este Markle, Dale así queremos llamar a nuestra función cheque creación Tony. No obstante, a lo mejor queremos ejecutarlo más de una sola vez, así que voy a dar un ejemplo cómo podríamos hacer esto para que pudiéramos ir por X es igual a cero. X es menos de 100 siguiente, más plus. Y entonces podemos correr. Consulta Toby Creation y nos posicionaremos en la edad te permite elegir xsl edad y podríamos darle un nombre así que iremos perrito y luego añadiremos XT. Y aquí. Entonces básicamente imprimimos el perrito y luego el número que estaba hasta y luego el hex o el valor de ADN. Um, sólo digamos que ambos duros codificados, pero también lo fue, ¿Irak de Irak Tu exterior es tu Si debo decirlo. En teoría, con lo que deberíamos terminar son 100 W's que incrementan en número de valor cuando se ejecutan estas funciones . Ahora, para poder ejecutar esto si traes una línea de comandos, bueno, bueno, tenemos que hacer es mpm ejecutar test y buscará a través de esa carpeta de prueba un archivo de prueba y luego se ejecutará. Y esperemos que sí hiciéramos un intento. Parece que tenemos muchos errores, lo cual es bueno. Entonces esto ha pasado y creado 100 perritos con los incriminantes expulsarte como la edad y el nombre del perrito y luego el ADN, se dirá. Esperemos que este sea un buen comienzo para cómo crear funciones de prueba. Si bien estás desarrollando contratos inteligentes, estaremos ampliando la escucha en futuros tutoriales. Pero por ahora, ojalá nos empiece por seguir adelante y confiar en el contrato que escribimos que no funciona de hecho. 19. Tokens de ERC721: genial Trabajando en hacer este otoño en la sección Fulton, vamos a empezar a implementar nuestro token U. S. C. S. C. 7 21 en perritos criptográficos al. E O. C. 7 21 significa teoría y solicitud de comentario. El número 7 21 fue básicamente una implementación que cuatro tokens que se adelantaron en números 7 21 Puedes ir a buscarlo en su borde get help, pero básicamente esboza las funciones que se deben incluir para hacer un activo fungible conocido . O tómalo si saltamos a un poste medio, cual, en realidad es mucho mejor sobre lo fungible que es. En realidad, es ser fungible, ser algo como dinero o mercancía, tal manera que la naturaleza de una parte o cantidad pueda ser reemplazada por otra parte igual cantidad en el pago de una deuda fue repentinamente cuenta. Lo que queremos hacer en realidad es crear algo que no sea vulnerable. Entonces cuando piensas en la nota de $5, si ves tener algo de supervivencia una nota puedes cambiarla por otras notas de $5 y será con exactamente lo mismo cuando lo comparas con algo así como una tarjeta de béisbol con una tarjeta béisbol no es igual a otra tarjeta de béisbol tipo con lo que queremos hacer es generar fichas únicas, ese dueño en valor en su singularidad. Entonces en el ejemplo, fuera perritos, por ejemplo, código Trump Makoto. Si recuerdas, teníamos este campo de ADN. Esta demanda que campo es lo que vamos a usar para hacer que los perritos sean únicos. Este campo va a crear contener un conjunto de valores que definen cómo se ve el perro y efectivamente los convierte en un coleccionable. A partir de este día en un campo, vamos a este poquito más tarde. Pero sólo hay que entender la premisa básica de lo que realmente es NIOC 7 21 total y el hecho de que sea único en la forma que se implementa. Estas son algunas de las funciones que se definen como lo que se requiere para hacer algo. En el token sectorial, obtuviste campos como nombre y simple, que volvieron a caer a un navegador. Y me voy a comer la piel y echarle un vistazo. Existe un token. Por ejemplo, gatitos criptográficos, gatitos perfectos tiene el nombre gatitos crípticos y con el símbolo token off ck t y hay viernes diferentes tipos, cada uno con diferentes símbolos en diferentes nombres. ¿ Qué? Solo necesitas saber que esos dos campos se relacionan con el nombre y luego con el símbolo de cada una de estas fichas saltando un código que puedes ver. Para poder cumplir con esta partícula TLC 7 21, necesitamos tener otra transferencia de propiedad aprobada en campo neuronal y una variedad de otras funciones. Sólo debe ser anulado cuando nosotros y Interface, con este contrato en el siguiente apartado, comenzaremos a implementar este contrato en nuestro contrato de solidez criptográfica existente. 20. Agrega la interfaz y la bibliotecas de ERC721: No. Tienes un entendimiento básico de lo que verás. Unas 21 fichas son vamos a empezar a implementar esta funcionalidad en perritos crípticos. Desafortunadamente, porque mucho de este código aquí se va a volver a implementar ligeramente solo para que las cosas sean mucho confusas, mejor moverse. Va y algunos paran frescos con nuestra interpretación. Ahí es donde no tardará demasiado en volver a implementarlo. Entonces vamos a volver a un contrato básico. Vamos a tener que implementar tres interfaces o bibliotecas diferentes que vamos a estar usando. Ahora, realidad los he vinculado en descripción fuera de este video. Espléndido. Salta a estos tres enlaces. Vamos a descargar el contenido en nuestra idea. Entonces este es el control de acceso. Iba a ponerlo en los contratos de raíz. Dicho Ahora, control de acceso trata con la dirección es que hemos llamado a un administrador privilegios del contrato Una vez que se despliega para escuchar Blockchain? Es una especie de estándar que la gente ha empezado a adoptar ya que hace que sea realmente fácil para ti establecer un CEO y una especie de direcciones co CEO que tienen diferentes tipos de permisos, dirán las cosas importantes que necesitamos buscar estas modificaciones ahora. Modificadores cuando se apliquen a funciones serán ejecutados y comprobados para ver que sus boletas antes crean que trato de llamar a una función como CEO, voy a poder, porque requiere que los centros se dirijan a las personas a las que dirigir CEO. Lo mismo se aplica a los vestidos de CEO también. Si alguien más confiaba en la frialdad que no es un CEO, por más funcional, fatal, tan increíble control de acceso para eso. Ahora podemos importarlo hasta. Arriba por ir control de acceso de importación Tan fantástico hasta la siguiente biblioteca que vamos a necesitar Se llama TLC dijo 21. Y es, como esperabas al tipo básico de interfaces que necesitamos anular en nuestro contrato . Entonces vamos a saltar atrás, Roberto Idea. Crearemos un contrato. Oops, lo siento, genial. ¿ Cómo? Contrato frío E. L C 7 21 por lo que colocará esta codificada. Estaremos en anular bastantes de estas funciones. Vamos a repasar esa respuesta en la biblioteca final que vamos a necesitar es matemáticas seguras Estos para un set off métodos para tratar con grandes números de coma flotante, asegurando que siempre obtenemos posición exacta que precisamos. Nosotros queremos. No perdemos ningún valor. Dos personas. Usas esto a cualquier cosa que use pagar una función de pago en valor de envío porque una disidencia seria en una especie de corriente, igual manera, terminas con, como 0000000001 siendo establecido. Por lo que tienes mucha precisión que necesitas para asegurarte de soltarte. Lo verás en acción en tan solo un segundo. Entonces es importar esta biblioteca segura punto soul on y lo que haremos es volver en nuestro contrato principal importará esos dos de nuevo. Entonces tenemos e R. C 7 21 así y tenemos importaciones seguras ahora. No tan fantástico. A continuación vamos a hacer es ampliar el contrato de adobes de El Grip para usar el acceso, controlar las estrellas porque queremos poder establecer contrato para tener un dueño. Y ahora aquí Podrías pensar que íbamos a implementar Verás algunos toyland. Pero de hecho vamos a influir detalladamente. Ya verás 7 21 y vamos a anular las funciones que estamos usando que él. Entonces justo encima, voy a crear una instancia o un contrato llamado detallado, verás 7 21 que es tu C 7 21 Voy a montar el nombre de la función, república las devoluciones y luego una cadena hoy, y hemos funcionado símbolo. La vista pública devuelve las pruebas de cadena. Ahora hay otras dos funciones que podemos incluir aquí, que son metadatos de token y token de propietarios por índice. Pero no vamos a hacerlo por este contrato en particular y probado. Entonces ahora estamos en el estado, donde hemos importado todas las bibliotecas que potencialmente vamos a necesitar para nuestro contrato. La única otra cosa que podemos hacer es en la parte superior de los perritos criptográficos. Podemos declarar que estamos usando matemáticas seguras para usted fue al 56. Eso sólo significa que cuando estamos usando a $56 siempre estará usando matemáticas seguras para manejarlas . Y eso es todo. En el siguiente video, vamos a pasar por el's empezando a crear de nuevo el esqueleto fuera de Al crypt. El contrato de Italia y declarar con un burro años de nuevo, fue asegurarse de que realmente entendiste las enseñanzas iniciales Fantástico 21. El DNA explicado en CryptoDoggies: todo avanzando. Pensé que te daría una buena comprensión exactamente a qué nos referimos cuando decimos ADN cuando nos referimos a los perritos criptográficos. Por esto, te voy a mostrar una biblioteca en la que he estado trabajando. Dahlia Fría. Tipaza. Gogi I deposito en realidad se basa en un proyecto diferente por un mi estanque consciente con gatos y dijo lo que efectivamente hace es que toma un valor exitoso de cinco mordeduras y genera un perro aleatorio con diferentes atributos y características en base a ese valor que se pasa en. Ahora aquí hay un ejemplo de Saltar por aquí y refrescar. Se puede ver. Mira todos estos diversos tipos de perros. Todos estos se basan en las 55 personas de atributos, Danny que pasamos a ellos. Golpeamos Refresh, Se puede ver bien, en lugar de ser generado. Acabo de tener una función dentro de aquí que al azar genera valores y tipo de escupe diferentes tipos de perros. Entonces lo que vamos a estar haciendo es que vamos a crear un token C 7 21 para cada uno de estos perritos únicos, y va a almacenar ese valor decimal Hexi que cinco hex blanco dentro de la teoría y contrata paso cuando tienes un perro, eres dueño de ese perro único. En base a ese identificador se encendieron los círculos cada vez que mencionaba los cinco. Pero identificador de ADN, Esto es a lo que me refiero. Y al final, lo que vamos a tener es un sitio que muestre la imagen de tus perros y su nombre en el navegador Web para la gente de parches. 22. Agrega variables y estructuras de datos necesarias: en este video, vamos a pasar por declarar todos los eventos mapeando, golpeados y multiplica que vamos a necesitar para salir. Verás 7 21 criptas adobes Contratar algo. Vamos a empezar con los eventos que necesitamos y vamos a necesitar eventos y, uh, toking creado, toking creado, que se refiere a la creación todos nuestros burros. Pero ahora los estamos llamando tokens para que acaten las normas de la U. S. C. S. C. 7 21. Se va a llevar un tú en 2 56 toking I d nombre de cadena. Eso son cinco ADN. Fuiste a 56 Price y la dirección del propietario. El segundo evento va a estar lleno cuando se venda un token. Esto es básicamente cuando alguien más compra el token, un evento será despedido. Eso serías tú en 2 56 pavo indexado 90. Esa es sólo una forma de optimizar que tenemos un mapa A para el tomó unos días el siguiente estado y nombre de cadena, pero sus cinco ADN, fuimos a 56 precio de venta. Entonces también queremos enviar de vuelta el nuevo precio explicar los precios de menú en este mundo enfermo. Simplemente voy a poner estos en tus líneas más fáciles de leer. Hay unos cuantos más por seguir. Entonces queremos que la dirección indexada viejo propietario y la dirección indexada. Ya sabes, segundo probado y esos. Se dan dos eventos. A continuación vamos a crear en muchas cosas. Tendremos un mapeo para U N a 56 para atender. Vamos a hacer un privado Vamos a estar llamándolo. Tomó un I. D al dueño es básicamente toma un token C 7 21 o un perrito criptográfico, y los mapea de nuevo al dueño. Tener otro mapeo completo. Fuiste 56 a una fuiste a 36 privada. Entonces vamos a llamar a esta idea token a Price. Esta va a ser manera rápida para que nos referamos el precio del token looker dokey que estamos haciendo a continuación. Tenemos un mapeo para dirección a ti en 2 56 y este va a ser el recuento de toking de propiedad . Es solo hacer un seguimiento de cuántos tokens y posee. Y finalmente vamos a la mitad de la nada. Estás en 56 para atender, y se va a llevar en i d a aprobado. Esto básicamente nos está permitiendo transferir tokens entre diferentes plataformas de tokens USC 7 21 . Ya podemos probarlo token, no hables por un niño. Tomó, por ejemplo, en otro poderoso. Necesitamos una forma de dejar de almacenar si se aprueba o no la transacción porque los contratos no pueden interactuar entre sí a menos que alguien salga volando del evento. Explícito. Declara el golpeado de Dokey similar a antes tendrá su nombre y tendremos un colillas 54 su ADN. Sólo déjalo en eso. Crearemos una matriz, los perritos, y a continuación vamos a crear una variable privada. Indica precio inicial de cada perrito que se suma a una plataforma. También podemos usar el término éter dentro del código. Es esto sólo nos está permitiendo definir que queremos hacer frente a esta incertidumbre. Esta perspicacia en 56 va a ser Va a convertirlo a cualquiera de los valores de camino para nosotros, especie de acné por solidez. Y también tendremos un lingote llamado C 7 21 Habilitado es un falso Ahora, básicamente, podemos. Esto nos permitirá sumar entre USC 20 y verás 7 21 Sí, es cuando él era un viejo stand que no vamos a estar usando. Pero para ser compatible con algunos de los intercambios y plataformas que visualizan el token, sí necesitamos incluir métodos para visualizarlo en un S. E. C. 20 lo dijo. Y también vamos a añadir el motivo de fuego por solo se ven grupos, verás 7 21 Esto básicamente significa que si un método es 21 queremos asegurarnos de que veas que se habilitó unos 20. Entonces solo vamos a requerir que veas 71 habilitado, y eso es un modificador. Y eso es más o menos por ahora, para eventos AL, metano Strat's y parte del almacenamiento que necesitamos, junto con algunas de las variables que estamos usando el siguiente video, vamos a empezar a hacer la mayoría de la cancha implementación de las funciones que vamos a necesitar o tomar. Ya veremos que 23. Creación y acceso de Token y de toen: Ahora que tenemos listo el esqueleto de un contrato, vamos a empezar a crear las funciones que vamos a estar usando para interactuar y crear tokens al . Hay un par de funciones que necesitamos van a tener crear, tomaron en función. Voy a tomar un nombre de cadena, dirección. Oh, no. Fuiste a 56 Price. Esta función nos permite especificar un precio a la hora de crear. Yo me lo llevaré. Entonces si queríamos un have, por ejemplo, o un concurso de faraón que queríamos poder especificar un token y dárselo inmediato a alguien más que simplemente ponerlo directamente arriba subasta. Esto nos permite hacer eso para que nos dé un poco de control. Va a donde va un token cuando se crea. Tenemos que requerir que el dueño no lo haga Lo sentimos, pero la dirección del propietario es en realidad boleta. Podemos hacer eso yendo dirección aquí. Simplemente queremos asegurarnos de que el dueño no se ponga a cero. También queremos requerir que el precio que le enviamos sea mayor o igual al precio de salida . Esto sólo nos permite asegurarnos de que no estamos creando un token tiene un valor que es menor que el estudio de mama. Ahora vamos a crear un nuevo día y me opongo, y vamos a usar una función llamada Genera ADN aleatorio Y aún no lo hemos escrito del todo , pero solo estoy llegando aquí para que cuando lo especifiquemos, es solo va adorno se llenaría. Y también vamos a llamar a un crear donde va a crear una nueva función que vamos a llamar aquí, podría crear, se lo llevó. Esto toma el nombre ADN. Oh, no. En el precio. Y vamos a aceptar un especificado pero estos ahora. Pero antes de hacer eso, vamos a crear la otra gran toma en función, y ésta sólo va a tomar una noche de cuerdas. Esta va a ser la que más usemos asevera la que nos permita discutir a nombre de Belle Doggy y tendrá el d A. Tendrá el dueño puesto a nadie y tendrá el precio fijado al precio de salida. Vamos a hacerlo para que solo CEO solo podamos llamarlo de manera efectiva. Eso es usar la biblioteca de control de acceso aquí. Ahora, dentro de esta función en particular, vamos a tener algo muy similar. Cinco. ¿ Eres dueño de un vehículo para generar aleatorio? ¿ Lo haces? Y llamaremos. Esa misma función está por encima. Es para que puedas Ellos son él encendido y posiblemente en el ADN que hacemos. Iremos y dijimos que la dirección es igual a nosotros porque por defecto estamos en los tokens todo el tipo de contratista en objetivos para referencia. Esto significa el contrato. Y luego estableceremos el precio base al precio de salida. Enfriar. A continuación se creará la función de creación de token. Esta función crear tomó en. ¿ Esto va a tomar un nombre de cadena? ¿ De qué talla conoces? Dirección? Sí, Fuiste a 56 Prensa. Será privado porque queremos ser manejados internamente. Y entonces podría haber visto esto antes, pero vamos a usar a Dougie, que creamos en la memoria. Perrito frío, teniendo igual a un perrito nuevo. Instruir a instancia lo que dijimos. El nombre es igual al nombre y el ADN es igual al ADN. Y nosotros fuiste a 56. Nuevo token. D físico dos perritos. El iraní, en otras palabras, no empuja. Y agregamos nuestro perrito a esa pila. Entonces restamos una vez que metamos el correcto en índice con el que estamos trabajando a continuación, vamos a crear instancia, vamos a aplicar el i d a la prensa. Entonces vamos a tomar Tomó en i d a mapeo de precios con la nueva toma en i. D. Es el índice y dicho igual al precio del especificado Vamos a disparar el evento creado token y posiblemente tomó un i d el nombre ADN, precio y el dueño. Y por último, queremos transferir la propiedad de los tokens. No hemos escrito esta función ni siquiera, pero no necesitamos enfriar ahora transfiriendo un barco toma una dirección que en este caso lo dijo cero y dueño Bueno, un nuevo dueño y la tomó y yo D y pruebas. Ahora lo único que aún necesitamos escribir es la función del generador, a que nos referimos. En realidad, probablemente podamos que ahora lo que vamos a hacer es escribir la función get token para que se tomen La función es lo que usamos con el fin de obtener los detalles de nuestro token y enviamos la u. Y. Ya que es la voluntad eventualmente ser un sitio web. Básicamente Bueno, ¿qué quieres pasarlo Fuiste a 56 darle un token i d Se va a conseguir Vista pública , que devuelve un retornos, un conjunto de variables que definimos, que será un fuerza tomó en ranuras de nombre, cinco ADN. Fuiste a 56 Royce, fuiste 56. A continuación presione, esto debería asegurarse y finalmente la dirección fuera del que se desplazan hacia abajo y luego en realidad especificaremos cómo queremos obtener estos datos. Entonces para el nombre del token, podemos obtener esto accediendo a la matriz de perritos por y alimentándose en la toma y I D, que obtendrá el stogie correcto. Y entonces simplemente queremos obtener el campo de nombre, que es el campo de nombre para encontrar con instrut, luego para obtener ADN. Queremos acceder a esos mismos burros de distancia, nos pondríamos un tomé y yo d de nuevo. Excepto que esta vez no conseguiremos la cruz de ADN. Podemos obtener eso del mapeo Para el token i d. a mapeo de precios pasa de nuevo el token i d. Y luego la siguiente prensa. Podemos conseguir eso usando una función que escribirá un poco más tarde llamada siguiente Precio todo lo hará posiblemente un token i d Esto básicamente solo se va a calcular el siguiente precio usando algunas matemáticas que especificaremos pronto. Y entonces pondremos al dueño usando el token yo d a oh, ya sabes, siesta y conseguirlo El tomó i d y probarlo. Y así es como vamos a conseguir una ficha ahora. Por ejemplo, si quisiéramos obtener múltiples tokens, también podemos hacer eso y, bueno, justo país para hacer eso también. Entonces vamos a soportar función, obtener todos los tokens será un público Tú que regresa? Encuentra algo un poco interesante. Va a devolver tres un aumento Va a volver en los rieles 2 56 Bit adentro, es sólo otra matriz de 256 bit de gerentes y una matriz de direcciones, así que vamos a sacar la oferta total. Para empezar. Esto va a ser un suministro total fuera de tokens en existencia. Podemos hacer eso yendo a gastar 2 56 total es igual a la oferta total. Vamos a tener que anular esta función en particular un poco más tarde también. Pero por ahora, acabaremos de testificar en el lugar en 2 56 de memoria de matriz. Vamos a conseguir una lista de todos los precios. Pero para hacer esto necesitamos encontrar una estructura de datos fuera del tamaño de la basura. Entonces esto será Y te fuiste 2 56 array de tamaño total. Esto es básicamente para conseguir en el total de la oferta total para especificar qué tan grande queremos que sea este tipo de matriz porque necesitamos tener mucho cuidado cuando especificamos tamaño de raza que siempre sabemos exactamente cómo se trataban los elementos. De esa manera podremos calcular efectivamente los precios del gas, lo que hablaremos más adelante también. No, sólo vamos a copiar y pegar esto tres veces porque lo necesitamos para tres cosas diferentes . No obstante, en el último sólo necesitamos abordar y esto va a representar el siguiente proceso. Y esto va del dedo dirección. El dueño entonces que tenemos que hacer es hacerlo bien. O cada uno como él este entonces el total yo plus plus donde cruza yo es igual al token i d para precio los próximos precios por es igual al siguiente precio de descuento. ¿ Por qué entonces, dueños? Yo musical para llevarme i d a dueño. Hola. Ups. Eso debería ser un corchete cuadrado. Perdón. Y luego tenemos Hemos poblado las tres matrices con cada valores enterrados que necesitamos Y entonces podemos regresar. Colocar tres elevan yendo prensas a continuación, precios Uy y aviso. Y eso nos permitirá obtener todos los detalles. Fichas antiguas con una función muy fácilmente en la siguiente sección. Lo que vamos a hacer es en unas cuantas funciones más. Realmente bien, fichas. Y también vamos a llenar los espacios en blanco y escribir algunas de las funciones como el generar ADN aleatorio. 24. Generar DNA al azar: en este video, vamos a pasar por la creación de dos nuevas funciones. Vamos a crear la función generar datos aleatorios o ADN y también los tokens todos funcionan, que va a devolver una lista de tokens que son propiedad de un propietario en particular. Entonces detente con vamos a crear el generar aleatorio d. N A. Función. En realidad vamos a hacer esto de nuevo aquí arriba, debajo de afuera, crear funciones de token. Función pequeñito genera d aleatorio y yo, y esta va a ser una vista privada que lo devuelve por cinco. Y con lo que estamos lidiando, los números aleatorios en Blockchain serán muy cuidadosos porque siempre están para explotar y predecir qué, realmente, vas a salir de ellos. No obstante, si su contrato particular, no es crítico que nos aseguremos de que la gente sea capaz de hacerlo así por dos razones. Uno, no estamos tratando con ningún dinero con este aleatorio con alrededor de la naturaleza de este otro que generar el i. D. S de los perritos. El segundo índice es que somos los únicos que podemos la disfunción del frío ya que es privada y bueno, técnicamente, técnicamente, nos berberberechos en absoluto. Sólo hace frío por las funciones orgullo a ella, que no sólo tienen nivel de sello. Por lo que somos los únicos que aportamos su función dice nunca lejos que alguien puede influir en la forma en que el resultado resulta cementado aplicando un número de bloque perdido. Esto va a sacar el número de look del bloque en nuestro Blockchain. Vamos a usar esto para ceder lo aleatorio que obtenemos que serían mordeduras cinco. Bueno, podría decir que en realidad, y vamos a conseguir un valor hash, que es igual a las peleas. Yo también. Y lo vamos a hacer es que tenemos que ir block dot Mira, sí, mira, mira, hash Y en posible lujuria Look number. Voy a conseguir el hash en este número de bloque medio siendo el hash largo 32 mordida fuera de ese número de libro Otro realmente lo explica muy bien. Pero, um, la función hashing es aquella que toma un algo que puedes entender y lo convierte en Una serie aleatoria de caracteres codificándolo eficazmente. No se puede revertir el ingeniero de ese hash de ninguna manera fácil Una vez que se conoce la relación entre número y el ataque. Sí, sí sabes que es una manera y no puedes volver, pero, um, pero sin embargo, básicamente, esta función hash de libro simplemente mapea un valor que le proponemos a un hash Ellie. Enfriar. Vamos a usar ese Teoh generar de las peleas de la era soviética. Cinco es igual a Dina. Tenemos que igual a parece cinco ADN es igual a Eso está bien. Ya sabes, vamos a costar el resultado de esto. Voy a pasar en Nashville y vamos a terminarlo con tamaño fuera de las picaduras. Nosotros queremos salir de ella. Entonces 12345 Pero sólo queremos guerra en este caso 12 tres completos. Porque el 1er 2 muerde en nuestro yo d Queremos poder ponernos y explicarlo un poco más tarde para 2 16 Básicamente, lo que esto significa es que terminamos con este valor aquí, y luego mordimos turno 216 lugares. Entonces vamos a sólo cinco mordeduras, um, para sobre el ADN y luego todo lo que necesitamos hacer con los retornos de ADN y eso va a regresar básicamente efectivamente crear un randomizador de ADN completo nuestro contrato. Enfriar. Volvamos a saltar hacia abajo y vamos a escribir la siguiente función, que va a ser la función tokens off que sólo devuelve una lista de los tokens que A o nueves tenemos ácido en una dirección sobre dueño Go va a devolver todavía una matriz de locura. Apenas 2 56 Vamos a sacar token, Kim, Kim, que de nuevo va a ser igual a él balanceó Botvinov que especificará dicho y vamos a revisar para asegurarnos de que el recuento de fichas sea igual a cero. Y si lo es, solo te lo devolvemos, ¿ verdad? Nos vamos a molestar en ir a la pluma. Fantástico. No más queremos entrar en hallazgo. Y el domingo en 2 56 Caray ordenar memoria. Buen resultado. Tenemos un igual a ti dentro en 56 y lo tenemos igual al tamaño off talking count. Después encontraremos un total que es igual al total de la oferta. Y estaba bien y fuera en 2 56 para el índice Resultado, como teníamos derecho a través de los diversos resultados, necesitamos una forma de almacenar eso. A continuación iremos a crear un bucle completo. Y si bien somos menos que el número total de la oferta, ve increment yo y luego revisaremos para ver si token me d al dueño con ojos. Un perímetro es igual a la dirección del propietario. Básicamente, vamos a extraer el token propietario. Cuando encontremos al dueño, vamos a establecer los resultados, índice. Entonces el siguiente espacio libre y luego incrementaremos el índice de resultados en uno. Y finalmente somos 10. Sus resultados. Esto sólo devolverá una matriz de los tokens que se invitan sólo no probados ahora, en la siguiente sesión comenzará a pasar por la implementación de la otra. Verás 7 21 métodos que necesitamos, incluidos los métodos de retiro y los métodos de compra para comprar y vender tokens y también sacar el rebote del contrato que se acumula con el tiempo. 25. Compra y retención de un balance de un: en este video, vamos a empezar en apuntar a funciones, una de ellas siendo la función de compra y la otra siendo Withrow Parent balance función se ve como para cada uno de ellos lo hacen en el camino para empezar, vamos a hacer la función de saldo de retiro. El retiro de la función de saldo toma una dirección que demasiado incierta en 56 pequeña cantidad. Básicamente, nuestro contrato va a dejar de acumular algún valor dentro de él, y necesitamos un método que nos permita extraer este valor en forma de ethereum a cualquier dirección que nos parezca conveniente. Ahora vamos a hacer esto público, y vamos a tener mucho cuidado de que dividamos. Esta es sólo la función de CEO porque esta es bastante crucial, ya que va a empezar a acumular bastante fondos a medida que la gente empieza a usarlo. Entonces vamos a requerir que la cantidad sea menor que una igual a este saldo stop i e. los cinturones que partió de contrato. Simplemente queremos asegurarnos de que la cantidad que estamos tratando de extraer sea menor que la siguiente. Vamos a revisar para asegurarnos de que la cantidad si la cantidad de cero i e. la cantidad que, um, especificamos, Si no especificamos una cantidad, entonces queremos extraerla todo. Entonces la cantidad es igual a esta cosa de Dios. Entonces, si la dirección para es igual a, soy básicamente ninguna dirección, lo va Así que si no hay direcciones especificadas, entonces queríamos, solo por defecto, transferir toda la transferencia solo de fondos a los CEOs. Dirección Hermanas, el fullback. Entonces si no especificamos dirección, tampoco, simplemente enviará todos los fondos del CEO de lo contrario. El to address transfer se llama con la cantidad, y es básicamente cubre todas las bases que posiblemente se encontrarían con esta función en particular . Enfriar. El segundo mes que vamos a escribir es función de compra, que va a tomar un token I D y también va a tomar un valor por pagar en. Hablaremos de eso un segundo, así que funciona justo ahora. Esto no es ni un segundo. 21 5 token Lo siento dinero, etc. 7 21 función. Pero es uno que va a impactar directamente cómo se valora al token. Por lo que la compra de funciones es de 2 56 con la idea de token, es público, es pagadero. Pagar es un modificador oficial que se construye en este compañero vivo inglés. Yo lo sé. Lo que significa es que la función Tomaremos un teatro en valor, por lo que consentiste valor distinto a los costos del gas. Y también solo queremos asegurarnos de que cuando no se pausa se aplique porque quiero asegurarme de que la gente no pueda pagar este contrato Bullet posó. Esta es una función bastante larga. Entonces, ten cuidado conmigo, vamos a pagarle a un viejo dueño. Estamos buscando al dueño fuera y luego hablar de mí y luego no es lce 7 21 función bajo juramento fueron vestido impreso. Sabes que eso va a ser igual al mensaje. No la mandes. Bueno, la persona que inicia esta transacción 2 56 proceso de venta sólo va a ser igual al precio del token. Yo d Sólo va a conseguir el valor actual de token que la gente debe pagar Ahora vamos a requerir, pero el viejo, ya sabes, y que su vestido es boleta. Vamos a requerir que el Sí, sí, es vestido. Sentías que vamos a requerir que la vieja China no conozca a la gente de lo que suenas tonto , pero solo queremos asegurarnos de que cubramos esa base y queremos preocuparnos de que esto se esté complicando un poco más, pero es uno que necesitamos incluir porque se define como una mejor práctica para este tipo de contratos. Tenemos que exigir que el dueño, bueno, que el dueño de los contratos no sea igual al nuevo propietario. Es el contrato tiene una dirección. Simplemente quieres asegurarte de que el contrato no es quien es el dueño porque queremos evitar que lleguen contratos en bahía. Un propietario de un token básicamente contrato no debe ganar tokens. Pueden conseguir acciones. Si lo hacen fantástico, entonces tendremos otro requieren. Uh, prensa de venta en frío es mayor que cero. Sólo quiero asegurarnos de que eso sea válido. Y queremos que también requiera que el valor de punto de mensaje sea mayor o igual para estar vendiendo para nosotros. Y eso cubre casi todas las bases principales. Que queremos que confirme que no vamos a tener problemas cuando volamos esto. A continuación, vamos a llamar a las tendencias la función que pasa al viejo dueño, al nuevo dueño y al token i d. Y vamos a enviar un evento llamado Take In Sold, dándolo y es bastante largo. ¿ Necesitas un token? Yo lo iba a conseguir. Tony está buscando me detienen nombre y dándole perritos. Tomó un i d tratando el precio de venta. El precio de la ficha me d lo viejo que conozco. Y entonces, ya sabes, estoy bastante seguro de que es genial. Entonces vamos a calcular el exceso. Entonces este es el extra ya sea que se debe devolver de vuelta. El comprador si sucede que transfieren más que el precio de venta, todo lo que habla Esto será usted en a 36 exceso, que es igual a mensaje. No valore. Restar ahora sub es realmente función dentro de thes matemáticas seguras, uh, contrato. Y vamos a restar el precio de venta. Debemos tener acceso también, y luego vamos a conseguir los recortes contractuales del conteo de contratos es la cantidad, sabes, porque yendo al 6% de descuento cuánto vamos a tomar transacción po y poner en el contrato , que en realidad podemos retirar, incluso retirar movimiento de saldo. Es un corte de contrato es igual al proceso de venta. Veces nos multiplican por seis divididos por 100 que es lo que va a poner su cuenta 6% Corte . Vete ya. No es necesario transferir si esta es la venta inicial. Entonces, básicamente, si esta la venta inicial del token, no lo transferimos tan viejo, ya sabes, no esperanzas no es igual para abordar esto. Acabas de contratar la dirección, y vamos a transferir el dolor. Es el pago menos t contratos llegó al viejo dueño i e. a la persona que ya poseía el token y ahora está sacando el valor del mismo porque alguien más lo compró. Desde que venta resta precio, llega contrato y luego finalmente, vamos a devolver el éter extra a Bueno, señor, devolvió el extra ya sea al nuevo dueño. Aguanta show apretado. Es genial. Es tu derecho. Eres dueño de un traslado de perro en exceso. Señorita básicamente te lleva el exceso. Um, si son de las entradas de transacción de vuelta al dueño o a la nueva era Aida Percipient Estancia odió esta transacción. Adelante. Eso es todo para esta particular Tora. La siguiente parte que vamos a tratar de calcular el precio de los tokens y cómo queremos que Teoh administre los pasos fuera del proceso de cada uno lo tomó. Y te hablaré de eso a continuación 26. Pasos de la venta de precios de Token: en esta sección, vamos a discutir dos funciones diferentes. Vamos a hacer la función de descuento de precio, que va a convertir el precio de un token. Um, y también vamos a detener a Tiu, definir los límites y cuánto queremos que los precios de tokens aumenten después de cada compra. Entonces vamos a dejar de escribir la función por precio de descuento, que hemos hecho referencia un poco arriba. Sería bueno definirlo finalmente. El precio de apenas toma un interesado sin firmar. Y es exitoso sobre una vista pública regresa y en el sitio y 2 56 y a cambio del precio. Por lo que tomé en i d a presionar usando el token i d para el hombre. Ningún sencillo tomó un de todos modos, a continuación, vamos a definir los pasos incrementados. Por ahora, el valor de todos lo tomó. Entonces básicamente lo que vamos a tener es que vamos a tener un precio de partida ayudar al perrito en, luego después de cada compra, queremos que el valor de los perritos aumente en cierta cantidad, lo que incentivará a la gente a comprarlo después de alguien más devolviéndole al dueño original una porción de ganancia en, luego también dando a alguien más la oportunidad de sacar provecho del perrito en el futuro. Por lo que vamos a los pasos finales Tiene cuatro diferentes dentro en iglesias. Aumentar límite uno que es igual a qué siguiente? Empieza con tu parte a o vamos a hacer algunos int. Iban a copiar esto porque tenemos que hacer un tiempo completo. Vamos a tener 23 y cuatro. Ahora, el segundo paso va a ser 0.5 un Tha El tercer paso va a ser para cualquiera de los dos, Y el cuarto paso va a ser cinco tan masivos. Pero cuando lleguemos a esa etapa, buenos grandes jugadores en. Sí, acabo de notar que teníamos alguna tienda aquí con las ideas del token. Bueno, sobre el precio que resultará ese problema. Perdón. Ella se viste adecuadamente. Algo a la función de compra. Ahí hay. Hubo un error con el cuerpo toga siendo referenciado en el precio del mismo debe ser token . D enfriar ahora abajo aquí, vamos a crear la siguiente función de proceso. Se va a quitar el entero sin signo a 56 de una idea de token. Y ha sido un cómplice que su precedente. Entonces sea una vista pública gira y le dará vuelta a ese expreso. Entonces para empezar, sacamos a la prensa. El pavo actualmente será alférez en 236 La prensa es igual a la prensa. Ups. Luces apagadas token, yo d. Y entonces solo vamos a revisar para ver si deberíamos, um si estamos por encima del límite, básicamente. Entonces vamos a ir y hacer. Y si el precio es menor que el límite de aumento uno, eran 10. El nuevo precio, que se va a multiplicar por 200%. Bueno, yo doblando y luego lo dividiremos por 95. Ve. Y luego lo demás Si el precio usa menos que aumentar límites al mismo tipo de trato, vamos a devolver el punto de precio Bien abastecido por 130 diversión. Son los pasos que van a llegar lentamente, um, va a ser menos. Se va a ocurrir a menos que Paulson, pero nosotros más, más drástico es 96. Bueno, precio seguro. Dardos, mo. Lo siento. Debe decir que el precio es menor que el límite de aumento. Tres. Después regresa christ dot multi. Um 1 25 Dividir por 97. Menos que aumento. Limitar cuatro. Precio de retorno punto Baja 17 Sí. ¿ Te haces sólo 7%. Um y entonces finalmente tendrá una declaración L perdida. Ups. Claramente he hablado esa sala Tener una declaración final. ¿ Qué otra cosa girará precio lunar oscuro multiplicado por uno o Dane dividido por 98 Ser el final. Por lo que seguirá gracia, pero no, no seguir ninguno de estos estándares. Entonces esos son los cálculos de precios y obtener el precio de los tokens. En la siguiente parte, vamos a empezar a la final que verás 7 21 conductas. Son alrededor de seis o siete con los que estamos tratando, pero son bastante cortos. Entonces deberíamos ir a especial en rápido. Te veré entonces. 27. Overrides de la función de Token ERC721: De acuerdo, ya casi estamos ahí. Ahora. Nos vamos a parar a definir los comportamientos sobresalientes para el S E 7 21 tomó y funciones, así que empieza con la función. Habilitar e R c 7 21 Va a ser un público al que sólo el CEO puede llamar, y va a básicamente extrañar el e r. C 7 21 habilitado para igualar. Es cierto que sí funcionarán el suministro total. Y esta va a ser una visión pública que retornos firmados en 2 56 oferta total. Y esto va a volver en total. Básicamente, sólo dijo que el valor de la oferta total a los perritos hoo no se enfría la longitud. A continuación, haremos para establecer la función. Por lo que se trata de variables sobrevaloradas que se almacenan dentro del contrato C 7 21. Entonces si le echan un vistazo al contrato, um, estamos estableciendo estos valores de balance y eventualmente los estábamos devolviendo en este país. Por lo que estos son sólo función que necesitamos declarar. Entonces esto es balance off dress, ya sabes, U pública se vuelve de lado en el saldo 56, y va a establecer el valor del equilibrio a la propiedad de la propiedad. Recuento de tokens. Creo que así lo llamábamos escuela. Ella se lo llevó. Puede estar bastante seguro de que así lo llamamos. Desplazarse por la parte superior. Tienes una mirada Propiedad hablando conteo obteniendo el total de los tokens. Enfriar. A continuación, vamos a tener apagado al dueño de funciones, que va a tomar un int 2 56 sin firmar y se llevó un I d va a ser una vista pública que devuelve una dirección. Bueno, dueño. Y así iba a haber Oh, no, es legal token i d para hacerme saber cuál es el token i d compuesto. Básicamente, solo mapeamos la estructura, tomando valores, señor, estamos tomando los valores del mapa cosas, y los estamos devolviendo ya que este valor aquí equilibra. A continuación, necesitamos declarar la moción de aprobación que lleva una dirección para desfirmarla a 56 token i d . Es público sólo se puede ejecutar cuando el contrato no está cerrado y sólo se ve 7 21 comuna de Kohl hecha a ella. Requiere que somos dueños de sus ojos, es un ilícito, justo en el segundo pozo mensaje dot remitente y tomé en i d solo cheques para ver que envío posee un token básicamente y luego pondremos el token i d a mapeo aprobado. En base al token, d igual a la dirección para. Y finalmente vas a llamar a la función o evento de aprobación. Ya sabes, este evento se especifica dentro del contrato de AOC 7 21. Dile al salir de aquí Preval pidiendo el traslado de menta. Yo soy así que sólo estamos llamando a este evento básicamente. Pero estamos usando su implementación fuera del evento a la aprobación toma un mensaje para enviar una dirección a y el token Heidi next ocean trance para From vamos a tomar dirección, que es la dirección de desde la que estás tomando dirección, que es el para abordar. Estamos pensando en Iniciar sesión en 56 que es el token 80. Esta es una función pública. Esto es de nuevo, cuando no pausas, teniendo mucho cuidado de que no salgamos. Ejecuta esto donde el contrato no es o la comisaría y solo tu temporada 21 vamos a requerir que el para atender sea un vestido desarrollado. ¿ Ibas a ir a los lobos? indentaciones hunky. Vamos a requerir que las urnas funcionen de nuevo que lo haga la cuenta de desde. De hecho, um, quiero platicar en que queremos y vamos a requerir que la aprobación de esta función ofrezca esto , señor, señor, que en realidad también se reconozca la aprobación de esta transferencia de tokens utilizando la dirección del remitente del mensaje y tomó en Ivy. Y luego realizaremos el traslado de la dirección de la dirección a la dirección en la tomó un I D. Posted. Enfriar. Siguiente función va a ser la función de transferencia. Va a ser una transferencia de funciones. Es la implementación pública de la misma. Va a tomar dirección a ella va a tomar en el sitio en 2 56 Así que puedo I. D y el público va a estar cuando esté lleno otra vez. Y también está a principios de lce 7 21 función. Se va a requerir que el para atender en realidad no es y no invalidación. Se va a requerir que los huesos bien, que el remitente, de hecho, yo quiero aceptar. Se va a reasignar la propiedad y también despejar, despejar las aprobaciones de impresión pendientes. Entonces eso es volver a usar el método de transferencia. Usando el mensaje enviar un a y el token I d. Fantástico. Es sólo un par de funciones, así que vamos a aplastar a los treinta también. Vamos a definir los implementos e o c. 7 21 que es un público el cuando no se plantea. Uh, va a devolver A pero nosotros en valor sólo haciéndonos saber si el contrato es, de hecho, tiene un 7 21 conforme. Se va a requerir que lo que lo siento requiere es que le devuelva el valor booleano los vecinos RC 7 21 que tres funciones más, tres funciones cortas van a funcionar. Toma la propiedad, lo que te va a llevar. Tomó un i. D. Es público. Es cuando No post y es obviamente sólo se ve 7 21 conforme. Se requiere que seamos aprobados y a la dignidad que ha demostrado. Sí. Y nos vamos a transferir Si ese es el caso. Llevé un I D a dueño y luego me llevé i d El mensaje. No mandes una y esa es una buena idea. Wilson. Las dos últimas funciones se relacionan con el nombre del token y un símbolo de tomado. Entonces conseguimos la función agradable, que es una vista pública se enciende Esta es una cadena y simplemente va a devolver básicamente el nombre de como token que en este tipo van a ser perritos criptográfico. Bueno, quieras llamarlo este es el valor que aparecerá en, como cualquiera de los escaneos y lo que no cuando alguien vea los datos de tu token, así que asegúrate de conseguirlo cabalga antes de desplegar. También declararemos el símbolo de esta cadena en. Haremos lo demás y lo haremos ilegal también. Critter, Dougie. Perritos criptográficos. No hables de muchos. Sí, CVT vamos. Y ese es básicamente el implante. Todas las implicaciones que necesitábamos para el cumplimiento de la U. S. C. S. C. 7 21. El resto fuera de la función del derecho son privados on. Eso haremos el próximo año. 28. Aniones de función privada: ya. Estamos en el tramo de casa para nuestro No es contrato. Estaban montando las funciones completas perdidas, que son la función propietaria, la función aprobada, esa función de transferencia y la es función de contrato. Entonces, empecemos. Haremos función. Es para empezar. Esto es simplemente tomar una dirección que llamará a un reclamante y a una idea de token y básicamente acaba de confirmar que el dueño del token o que un token no está de vuelta a firmar al dueño que estamos especificando, um, ya que va a tomarlo dirección, que vamos a llamar demandante sólo porque ese estándar Bigley's y eso va a tomar tomó un i d Ser una vista privada que devuelva un 1,000,000. El devolverá el valor del token i d al mapeo propietario, tomando token day, solo confirmando que es igual al reclamante. Fácil. De acuerdo, Dokey Next estará montando la función aprobada a la que va a tomar dirección y anunciando en seis para el pavo. Esa es una función privada. Eso va a la vista va a devolver un toro. Función privada significa que sólo vamos a estar manejando estos internamente nuestros contratos. ¿ Sabes cómo se va a llamar a estos? Por eso no estamos haciendo ninguna requiere en este caso particular, no estábamos ahí abajo requiere y funciones previas sobre tomaron i d al libre pensamiento. Dicho le puedes d igual igual a la dirección para Solo confirmando que un token es de hecho aprobado para la nueva asignación de token. Y tenemos una moción llamada transferencia. Esto es importante. Fue esta transferencia la propiedad de tomó en otra dirección de la que va a tomar dirección y dirección a sin firmar en 2 56 Ah, para la tomó 90 va a ser un privado, y vamos a hacer propietario ficha nave. No puedo cambiar el conteo para que el dirija sus listas o en el cricket cometiendo. Están hablando. Nos vamos al seguro. Uh, la propiedad de tokens. Por lo que le tomó un i D al dueño. Usar el Tokai D es igual a la para dirigirse a las mujeres, creando el token. Si es de la no dirección y entonces no podemos dar cuenta de esa dirección, básicamente, así que estamos mejor va a quitar la propiedad anterior. Dirección equivocada no sabe que no hay igual. Entonces, básicamente, si si si la dirección es correcta en Ben, lo haremos. token de propiedad cuenta desde la dirección y decorado con un nombre. Te borraremos token I d a aprobado. Entonces quítalo de la Nada sólo quitar la aprobación va. Ya no es necesario que se aborde. Y entonces finalmente vamos a Wilmot el traslado que es el evento que ha sido Air Sea 7 21 Contratar la pesca. Esto va a tomar un de dirección para abordar un token I d. Impresionante. Tenemos una función más alrededor. Este no se ha ensamblado en él. Diversión. Um, así que va a revisar para ver si una dirección es un contrato sobre Hay alguna corriente en línea que básicamente todo el mundo sigue para esta función en particular. Te mostraré que te enfermaste. Es un privado. Te devuelve un booleano. Básicamente, ¿qué definimos? ¿ Un tour? Tamaño de la mordida 56. Son malvados. Entonces ejecutamos alguna asamblea, que, um, forma una gran idea para esta función en particular. Es la única manera de hacerlo. Y entonces haremos esa función en la dirección y acaba de confirmar el tamaño y su tamaño es mayor que cero. Entonces es un contrato. Enfriar. No sé demasiado de eso. Eso es solo de pie que la gente usa, y eso es casi todo el código que necesitas para agarrarlo o en la siguiente sección que vamos a hacer es que nos leemos una especie de factor fuera. Nuestras pruebas unitarias confirman que todo esto aún funciona. Y si lo hace, vamos a empezar a probar en el remix, así que ya veo, ya sabes. 29. ¡Pruebas de la unidad y Crushing: de lo que metemos en pruebas unitarias. Yo sólo quería repasar un par de errores. Hemos estado en el video anterior para empezar con el 243 en línea. Deberíamos haber puesto devoluciones. Tenemos un par de instancias esta siguiendo en 260 y en adelante a 64. También tenemos un error con cómo hemos desafía la idea token aquí. Ponemos token si así tuvimos que cambiarlo de nuevo a Tokio. Enfriar. Cuándo ya para avanzar tablero en la siguiente sección. Cerraremos el agarre en Tokio, Seúl y empecemos de nuevo en la función util de Crypt Adobes, que reflejaría un demasiado amargo haciendo más equipado, contrato totalmente nuevo para empezar, no va a hacer tal quitar toda su función. Podría haber tenido mucho sentido, pero debido a que estamos haciendo un par de cambios fundamentales, bien podríamos escribir esta apenas segunda vez de esa manera realmente entender lo que pasa. De acuerdo, empecemos con la creación de una función. Se comprueba para asegurarse de que el suministro total es de hecho igual al valor esperado. Entonces cuando digo totales negros significan el número total de fichas que existe dentro del contrato por lo que crearemos una función llamada Chick Total supply fueron positivos y X valor electo, y el mayor fue de nuevo. Declararemos el it y diremos que total abasto cardos. El mensaje que aparece en un prompt debe ser igual a y luego esperado, ¿sí? Entonces declararemos una función indígena. Vamos a tomar como instancia de las claves criptográficas, el contrato. Vamos a revisar para asegurarnos de que esté desplegado. Entonces lo haremos. Estamos en un aviso de función esta vez. No estamos usando un enfermo porque no necesitamos hacerlo, porque el valor que estamos obteniendo a cambio es instantáneo. No necesitamos esperar al médico y actualizar. Simplemente estamos obteniendo el valor que se establece dentro del contrato inteligente cuando se crea. Entonces tenemos la función que pasamos sobre instancia y luego tomamos, por ejemplo, no total de suministro, que es el nombre de esa función. Entonces llamamos al carbón lo que es dice que te queremos, Cole y que te levantes. Entonces vamos a llamar a otra función, posiblemente suministro total. Y dentro de esto, sólo vamos a hacer valer eso Lo siento. Establezca el quién, señor, Los iguales. Básicamente sólo comprobando para asegurarse de que algo sea igual a otra cosa. Por lo que se necesitará un suministro total y le daremos el valor esperado. Esto en realidad se va a comprobar el total de fichas de suministro en circulación no fue contrato y comparación con el valor esperado si es incorrecto, entonces l método arrojará una excepción a cambio. El suministro del dedo enderezado no es igual a dos y luego valor esperado. Fantástico. Entonces sí necesitamos asegurarnos de que estamos manejando el caso Dunn y la captura de cualquier excepción solo fue la noticia completa y tomar el cheque total de suministro y exportado como función. Ahora vamos a Riyadh Esa función para crear todos los perritos podría ser botellas ligeramente diferentes un lado ligeramente. Tan buena comprobación de función. No seas creación. Vamos a ser positivos sólo por nombrar esta vez. Es el pródigo. Las variables realmente necesitan proporcionar un nombre ahora porque ahora me d se genera cuando se crea el perro, cómo se genera ADN aleatoriamente y tampoco necesitamos proporcionar un agente. Los libros ya no lo manejaban muy bien. Por lo que y luego debería crear tomó en gran ficha debería crear un aleatorio, no sabes, llamado y luego Plus hoy ese mismo tipo de trato Do function, doctor, doctor, tomaremos burros lisiados confirmará que es desplegado. Entonces si lo es, correremos y una función de fregadero porque queremos esperar a que el evento dispare mangle. Posiblemente instancia, y el uso de esta instancia utilizará la función A blanca o blanco en la instancia. No cree token. Esta es la naturaleza de nuestro país. Ahora, cuando me encanta usar, crear la razón crear tomó nombre y eso es lo que necesitamos proporcionar. Pero también queremos proporcionar el de aquí, y entonces no se puede ganar lo dijo por lo que en este caso se lo enviará desde cuentas ERA, que está fuera en su cuenta. Por último, entonces necesitamos manejar entonces declaración para que pudiéramos entonces y vendremos funcion con el resultado y usando los resultados que vamos a hacer sentarse enseñado, incluir vamos a revisar el resultado hablado tacos el primer look en el array. Vamos a tomar la cadena de eventos. Lo vamos a comparar con los partidos creados por token token, el evento que tenemos dentro de nuestro contrato de humo de perro crypto. Es el suceso que se dispara cuando creó la U. S C. S C. 7 21 Hércules, y luego el mensaje que queremos escupir. Si ese no es el caso se crea token. Evento no se activó dulce, y creo que vamos a ir a cerrar de nosotros. No obstante, sí necesitamos Teoh manejar evento hecho aquí en la captura de las excepciones cualquier y misma especie Do take the check, Toby creation and plant right Hay qué enfriar y volver a scripted on tests. Basta con ajustar las funciones. McCauley No. Entonces para empezar, bien crítico para la función de oferta total checa en valores positivos Europa. Entonces porque no hemos creado y no visitas, Así que entonces en esto contigo aquí por cuatro ignorancia, ex Eagle Syrah X es menos de 100 x plus. Además, vamos a ir a revisar Dougie Creation. Pero ahora sólo necesitamos pasar Indeed, nombre de Doggie, posiblemente otra cosa. Fantástico. Y ahora, en teoría, esto debería probar exitosamente. Vamos a darle una grieta. Entonces ve en PN correr. A prueba ya es que tenemos un problema. Um, parece que hemos cometido otro error de sintaxis. Eso está bien. Eso vuelve a la línea 1 94 del contrato. Entonces si vuelves a saltar al contrato uh, Dr 11 94. Sí, en efecto. Yo he hecho sordo en lugar de carne de res. Enfriar. Um, volvamos a ejecutarlo y a ver qué obtenemos. Parece otro error. Esto es eso en línea? 237. Um, tenemos dirección, pero necesitamos estar revisando para ver si el vestido usó notas. Deberíamos entre cero entre los paréntesis ahí Ve y corramos a descremada. bueno pasar por esto contigo porque significa que estamos escogiendo los errores que nochamos y los errores que probablemente tenga tu contrato. Se ve como si estuviera funcionando ahora. Ella es buena. Fantástico. Ahora es Rebecca. Asegúrate de que primero y despedido nos dijeran. Blush hablando. Cero. Y entonces tenemos todos los tokens de operar. Y luego lo que podemos hacer uso Ahora que tenemos 100 tokens creados, podríamos agregar otro. No, la prueba después de esto para comprobar la oferta total, y no he igual a 400 porque así es como muchos perritos deberíamos tener. Vamos a formar esta prueba otra vez, y vamos a haber creado 100 fichas. Confirma que nuestro contrato de hecho está funcionando y está generando empleos como se esperaba en los próximos dos Toro. Vamos a dejar de lidiar con antojos es simplemente por qué soplar para pasar por la forma en que podemos usar Meta mezquita para hacer transacciones y vamos a cargar este contrato en remix y paramos a jugar con él y ver qué tipo de datos era historia. 30. Introducción a Remix, MetaMask y Ropsten Testnet: Ahora que tenemos un contrato concluido, necesitamos una manera fácil de probarlo e implementarlo en el Blockchain. Entonces para eso va a usar lecturas teniendo que usar remix. También necesitas una extensión de navegador por cinco dólares un crimen llamado Many mask. Vamos a saltar a la tienda Adam y encontremos esto. Algunos usan la versión de Firefox. Básicamente salta a Adams. No motilidad ogg y busca desde en una mezquita y sus cinco personas. Y cuando termines, debería aparecer en la parte superior justo aquí arriba. Ahora, si haces clic, eso te dará un aviso sobre así cosas que probablemente deberías asaltar la casa de las decenas de uso, que nuevamente definitivamente deberías leer. Um, esto sigue siendo un mal software. No recomendaría ponerle mucho dinero. Entonces ahora estamos usando. Fue desarrollado para, um confiado en lo que quisieras. Confiarías en ti mismo. Debería decir, um, no hay garantía. Entonces cuando te atascas, tienes que definir una nueva contraseña. Esto es muy importante. No quieres olvidar esto posible. Esto básicamente es administrar tus claves privadas para ti. Entonces siempre que hagas una transacción en un Blockchain. Quiero interactuar con tu con tu dirección de billetera o tu contrato que ganes. Necesitas te zarigüeñarás a tu clave privada y a tu privada, Así que asegúrate de mantener esto positivo. Muy seguro. Por lo que he creado mi contraseña. No. Me va a dar un conjunto aleatorio de llaves para mi Ese es mi nombre en él. Básicamente, um, necesito hacer un seguimiento de esto y mantenerlo en algún lugar seguro. Entonces voy a Kobe a algún lugar seguro. Um, y una vez que eso esté completo en algún lugar seguro. Obviamente. Um, no voy a estar usando este poco si algo fuera de esto porque acabo de revelárselo a ustedes , pero manténganlo a salvo porque es muy importante que tenga acceso a ella. A pesar de que no tienen tu contraseña, aún pueden crear tu producto público. Sigan con esto. Entonces solo ten mucho cuidado. He copiado a alguien seguro y así, realidad me han creado una billetera. Entonces ahora, swole es visible en un escaneo. Entonces si saltamos a comer la piel, se puede ver que tiene sus fondos porque hay una nueva dirección. Esa es tu dirección. Esa es tu billetera. ¿ Qué? Puedes almacenar tus fondos Y en nuestro caso, es el único lugar donde vamos a ser historia ahora. Fondos de desarrollo arriba. Aquí, se puede ver un campo de red principal. Lo que vamos a hacer es bajar a Robson Robson es una red de pruebas. Podemos obtener tres Ethereum gratis que podemos usar para desarrollar en el Blockchain para obtener gratis a algunos de esto gratis. O puedes ir Teoh envuelve, avistamientos de grifos de hojalata ¿Sientes eso correcto? Grifo ruso. El euro oficial lo está más. Robson, no seas un Port 3001 y solo vamos a esperar esta carga. Ah, bueno, espera, mucho menos si haces clic en los tres puntos aquí, vamos a copiar la dirección a Klippel. Ahora, esta dirección de aquí es tu vestido de billetera. Es el mismo. Se puede ver cualquier cosa. Piel aquí. Entonces si vamos por encima copia a ese saltos, pasta de grifo. Ah, dirección en su y básicamente pidió que se dijera uno. O la dirección se agregaría a la linda. Puedes sentir el hash de transacción por esto. Te vio pensó que se decía encendido en unos segundos. Pero deberíamos decir es este valor aquí actualización que es muy grande Tiny. Estamos esperando eso. Si volvemos a saltar al remix, lo que tenemos que hacer ahora es realmente cargar en esos archivos contractuales que acabamos de hacer para ir a navegar. Y si luego saltamos a tu carpeta me conoces en la carpeta de contratos, queremos un control de acceso empleado. Queremos actuar subir crypto doggies. Queremos subir. Ya verás 7 21 Y cuando una matemática estatal hinchada, una vez que tengamos cargados estos contratos completos, daremos click. Tío Tobys, ¿Qué va a repasar el análisis de Anil y desactivar el símbolo de nombres cultivables? de verificación porque te encuentras con muchos problemas que surgen porque sobre todo dentro del control de acceso tenemos un par de arable por dentro, A muy similar y la compilarla confía para ser inteligente y a su crédito, en realidad es muy útil. Pero por lo que estamos haciendo, realmente no necesitamos hacer eso ahora mismo. Ver este contrato? Deberías verlo empezar a compilarlo Aquí, allí una vez alrededor de 15 cosas y básicamente estamos establecidos. Ahora si vuelves a saltar a una bala queríamos esto es sólo esperar a que ese valor pase . Podemos echar un vistazo a esa caída dicha dirección otra vez. Interesante. Puede llevar un poco de tiempo para el proceso. No esperes que suceda al instante. Uh, puede tomar usted puede tomar algún tiempo por ahora Seguiremos trabajando Lo que tenemos que hacer en la parte superior aquí. Lo que queremos hacer es cambiar el en muy entorno a inyectado Web tres ahora inyectado con tres se va Teoh significa que vamos a estar conectando. Teoh insistió. Animales, um se ha estrellado mi cepillo. Podría tener que recargar página porque desde entonces tengo instalado en una mezquita. Entonces hagámoslo y cerrémoslo. Reignite remix se inyectará. Nos pondremos cargada la palabra tres bibliotecas y parece que no se cargó a tiempo para agarrar esas vidas. Por suerte, lo que acabamos de hacer sigue cargado. Vuelva a ejecutar. Kabyle, detente esto a Krypton. Y como pueden ver, nos inyectan 13 en Robertson Network y también tenemos la cuenta que creamos listada ahí. Es como si todavía estuviéramos esperando a que pase algo. Desafortunadamente, no le gusta que lo vayamos a conseguir en una cantidad razonable de tiempo. Le daremos un par de segundos. Pero mientras estamos esperando eso, lo que podemos hacer es cambiarlo de nuevo al guión laboral PM en batería. Espeluznante y básicamente, uh, va a ejecutar una instancia de la muerte Blockchain en él conduce un guión así que no estamos confiando en, bueno, vamos a abordar aquí para nada. Estamos puramente confiando en la A M y la billetera decía, Es oprimida. Entonces estas son las cinco direcciones y nos ha puesto. Entonces nos vamos a resbalar para contar cero. Vamos a cambiar a estos críticos y si creamos, deberíamos ver una transacción aparecida en la parte inferior. Aquí obtenemos detalles. Podemos ver que toda esta importación pero podría eso es el pero bueno para todos contrato que acabamos escribir. También se nos suministrará una dirección de contrato. Entonces esa fue la dirección que este código podría ser exceso de Xs desde dentro de este trabajo Script bm También podemos ver todas las funciones que hemos escrito y las funciones fueron capaces de ejecutarse. Entonces, por ejemplo, una de las funciones que estaremos usando mucho uso El gran tomó en función. Vamos a crear un en este caso de un perrito llamado Steve, asegúrate de poner los corchetes o las canchas a su alrededor. Ya que esto es historia. Vamos a golpear grandes tokens y podemos ver que la transacción está efectivamente pendiente. Tenemos los detalles. Ya lo veremos. Una cadena llamada Steve porque eso se apagó y solo queremos buscar cuando regrese el evento , estoy bastante seguro de que tal vez necesitemos seleccionar Escuchar en red eso no ha surgido. Ese es en realidad un buen ejemplo de adónde podemos ir. Trata de encontrar los comités de juguetes creados. Entonces si vamos a una de nuestras otras funciones, qué función se podría usar, podríamos intentar tomar will total supply, y devuelve una Así que Al Token ha sido creado. Fichas de Reno. Por qué es uno y sabemos que indexamos desde cero. Entonces buscamos el primer token. Entonces si buscamos una función en la que obtenemos un token, por ejemplo, llegar a otra vez y hacer estallar cero, entonces se pondría a hablar. Te darás cuenta de que devuelve la información relacionada con ese objetivo en particular en este caso a Steve, tenemos la ronda de ADN generar para nosotros. Tenemos el precio y el siguiente precio en camino. Y tenemos al dueño del token, que en este caso debería ser la dirección desde la que enviamos una transacción. También podemos ver que la cantidad del acelerador bien, ha disminuido. Y sabemos de ese gato, Holzer. Ese. Dougie en caja local. Volvamos a lo inyectado. Pasó por foto y CFO comer ha llegado por todavía. También queríamos decir Escucha, está bien, Network. De lo contrario, vamos a ver viejo de diversa transacción en las cuerdas. Y luego qué? Sí parece que no hay blanco que pase, um puede tomar un rato, Pero como dije, eres más que bienvenido a usar el escorpión de trabajo mientras esperas en el próximo año, lo que vamos a hacer es empezar a construir la web. Tú Por qué eso vamos a usar para visualizar todos estos datos, y también vamos a desplegar nuestro contrato para riel en Robson net. Pero una vez que esté desplegado, podrá acceder desde navegador Web e interactuar eso a través del sitio web 31. Introducción a el desarrollo de la Frontend: Hey y bienvenidos a la siguiente sección que está en construir la U Y para nuestro pequeño contrato que permitirá a la gente ser el interactuar con el contrato que hemos escrito usando la extensión de navegador Meta Mosque tanto chrome como Firefox. Ahora, para empezar contigo y descargar los recursos de este video y dentro de los recursos del sitio web , vas a tener una foto llamada fuente. Importa esto al espacio de trabajo del proyecto actual. Una vez que hayas hecho eso expandir carpeta iniciativa fuerza de ítems usualmente imagen CSS Js Entonces en días, el CS contiene archivos CSS más antiguos que estarán usando para nuestro proyecto. Define el diseño y el campo general y la forma en que se ve con eficacia. Ahora bien, si tu empresa índice dedo del pie html, ya sabes, romper a la derecha. He despojado más del contenido fresco y acabo de dejar lo que necesitas como thes culpable de la página web. Como sé esto causa y un sitio web y fueron diseñados curso para que puedas echar un vistazo debajo la carpeta jazz. Tenemos al doctor pegado archivo jazz. Tenemos una estructura básica que estará usando incluyendo un documento no listo, que básicamente se llamará cuando se cargue el sitio web tenemos una función de imagen de perrito generador la cual básicamente se va a utilizar para cargar en esas imágenes dougie que vimos forma antes dada una idea de perro o un ADN OutKast, y tiene el absoluto Así que básicamente, todo el contrato relacionado en direcciones se agregará a este artículo de la APP. También tenemos un directorio Libs el cual contiene un par de bibliotecas que necesitamos para ejecutar el cliente de contrato de humo en el navegador Web y en imágenes. Tenemos un silicio y una imagen de fondo ahora, fin de ejecutar el sitio web y dos muertos para solo quiero en el directorio raíz ejecutar y puedo ejecutar. Dev, tu navegador Web debería abrirse automáticamente y se te presentará el diseño básico que esté trabajando con el resto de esta sección. Si haces clic derecho e inspeccionas, se abrirá el menú fuente, que es útil para poder depurar a medida que avanzamos. Ahora mismo, se puede ver que no tenemos ningún error que acaba de confirmar aquí en el mismo tipo de estado. En la siguiente sección, vamos a discutir cómo podemos empezar a sumar bacalao que exhiban los diversos atributos que tienen al perritos y eventualmente estarán trabajando para estar a la altura de comprar esos perritos a través de esta página web 32. Crear las tarjetas de Doggy: antes de empezar a escribir demasiado del JavaScript que interactúa con el frente, y primero queremos escribir algunos de los componentes front-end. Todo bien aquí se puede ver la tarjeta que estaban apuntando a hacer un look como este ejemplo de la imagen de perro cargada en base al ADN. Va a tener unos libros que tenga el valor actual y el siguiente proceso tú. Cuando la depresión hace clic en el botón de compra, queremos desencadenar un evento para comprar este auto. También hay una dirección del propietario. Si hacemos clic en eso, no nos gustará que vaya al comerciante de éter ni tampoco escanee la página web y busque la dirección del propietario para ver qué transacciones realizaron recientemente. Empecemos primero y solo montando el bacalao he puesto comer como dije, pero el ejemplo de derechos que podemos seguir a medida que vamos ahora, ya he colocado un poco fuera de la configuración base para la tarjeta aquí. Básicamente puedes ver lo que necesitas para el esbozo de esto, así que empecemos puede estar agregando el nombre del perrito, Entonces lo que haremos es con qué debo conseguir comentario para empezar así estamos hasta. Bueno, esto se llama noche de perrito. Va a ser avellana. Va a contener el título de la tarjeta de cristal porque el título de Dios se refiere a esta caja de aquí arriba. También va a tener nombre de perro ya que está funcionando cerca esto más adelante en el JavaScript, vamos a tener un estilo personalizado. Está en línea, va a ser exhibición, y lo vamos a tener en bloque de línea. Entonces cerraremos eso, y también tendremos aquí la palabra nombre. Es sólo un pre Phil que va a ser reemplazado por el nombre de un perro cuando llegue a ello. A continuación, vamos a tener la imagen del perrito justo abajo. Teodoro. Imágenes clave después de va a ser un lienzo y lienzos funciona imágenes ligeramente diferentes lo hicieron. Y cuando los estás haciendo problemáticas, así que vamos a necesitar una con un texto de Kloss necesidad de Solo usar este directo todo arriba realmente no importa demasiado lo que tienes aquí. Vamos a tener una inmersión de lona en el interior con la imagen de la tarjeta de clase, lienzo top y el perrito, y eso es a lo que vamos a referenciar más adelante para aplicar este objeto camp en la tarjeta. También vamos a tener una costumbre me d frío. Yo d. voy a tenerlo. Lienzo perrito I d. Y esto es para que nuestra función de lienzo pueda hacer referencia al lienzo correcto en la pantalla. Por fin voy a tener un estilo por artículo en uno con ingenio. 100% lo fue. Asegúrate de cerrar Cool. Saltemos a la siguiente línea. Y ahora vamos a detener nuestro bloque de bacalao. Por lo que aquí es donde almacenaba toda la información de abajo imágenes. Entonces, ¿qué tipo de agrupación? Cosas juntas. Y dentro de esto, vamos a tener un chapuzón para la clase activa, que va a ser Dios. Mira, abre el doof y crea otro código de comentario. DNA de perrito. Sólo para que sepamos que estamos tratando con este decano en particular un componente. Sí. No, vamos a almacenar como ADN perrito clase div. Oh, en realidad, no. Mi error. Vamos a tener un texto perrito porque debería envolver esto en un corchete para no enviar texto. Y dentro de esto, vamos a tener un pequeño elemento y sólo vamos a montar en ADN. Ahora, tenemos algunos CSS personalizados que maneja cambiar este pequeño elemento para que parezca audaz y firme. También vamos a tener una clase es igual a perrito. Siguiente esperanzas son perro comer ADN, y este es el valor real. Entonces este top es solo un texto, y luego el valor real almacenado dentro de él. Y podemos dejar eso en derrota. Asegúrate de que sea cosa cercana. Vamos a seguir adelante. Siguiente. Vamos a tener este campo de texto perrito, Um, otro, ¿ no? Campo de texto, debo decir que en realidad vamos a hacer una copia del anterior. Yo digo, hablemos dos veces. Dentro de esto, vamos a ir del pie para nosotros, WTI y tal vez w siguiente cruz y podemos pasar al siguiente campo. Ahora ponemos esta línea aquí, queremos un partido, así que vamos a sumar una línea horizontal. Oye, Joe, Siguiente agregaremos un no comentario y acabamos de mencionar dónde comprar Doggy. Esto es sólo definir que estamos en esta caja aquí va a tratar con Input Field y la Biblia dentro de la compra de perrito. Vamos a tener un completo Eso fue según poner un formulario aquí, porque en el pasado, porque en el pasado, todos los datos en el formulario al JavaScript ganan el botón se empuja Swiger perrito compra como se identifica el formulario, luego dentro de él tendrá una clase div. Haremos un grupo de formulario y tendremos una entrada. Genial. Haremos otro comentario. Mugar. Tookie por valor, esto sólo se va a definir. Este valor aquí, ese es el valor que íbamos a pagar por el perro, que es el Pero esto podría ser un texto Kloss form troll. Esto solo nos permite usar, um alimentación de bootstrap única fueron, como con respecto a alrededor mantener estos circulares y al lado del otro. Es sólo más para ti. Hago un llamamiento. Tenemos control de formulario, Dougie Price, y que ellos identifiquen vamos a buscar cuando queramos cambiar esta casilla, vamos a especificar tipo siendo número, y vamos a especificar un campo I d que vamos a buscar cuando estamos usando empleos. Lo cerraremos y cerraremos el texto siguiente línea, ¿sabes? No, no, el comentario. Perrito por botón. Siguiente línea. Vamos a especificar un objeto de botón bastante cerca, pero botón primario, pero en por. Y eso es de nuevo en su mayoría sólo para visuales en botón primario y botón por. Tenemos anulación en el CSS para cambiar el color marrón, y ¿qué tipo es igual para presentar tan simple? Porque cuando estamos buscando eventos que ocurran en guión laboral. Vamos a estar buscando un tipo submit event works in a story data I d feel, que es campo personalizado que vamos a reemplazar por el i d del dougie cuando agreguemos una tarjeta. De esa manera podemos buscar Dokey particular en lugar de cartas buscando este campo y finalmente tendremos otra idea Campo llamado perrito. Pero por pero que es lo que vamos a buscar cuando estamos especificando cuándo llega un evento , vamos a estar buscando el evento perrito por botón y lo cerraremos. Cierra el gancho, el campo de botones y sigue adelante. Ahora Davis cerró. Entonces lo único que queremos hacer a continuación es solo para asegurarnos de que no nos confundamos, agregará otro comentario aquí. Simplemente di que es un grupo de formulario va a volar esto. Basta con mencionar que era una forma y por debajo de ésta sólo se medicina que se trataba de un libro de corte . Oye, ¿ es qué? ¿ Cómo te perdiste? Y con fuera el bloque de autos delantero? Lo que queremos hacer es a un pie de tarjeta. Entonces para hacer eso vamos hicimos cerca es igual a bacalao Pie de página Ahora no puedo. Footing visualmente significará que obtenemos esta bonita área de cajita gris donde podemos poner el campo. Está dentro de la foto de la tarjeta. Vamos a crear otra venida. Especificas perrito en una dirección, y luego vamos a genial un pequeño campo. Yo voy a Y entonces la siguiente línea que vamos a tener un cierre es igual a y luego texto silenciado otra vez. No, lo visual y perrito Oh, no. Yo seré el campo que busquemos. Lo actualizaremos. También voy a añadir un odio que seremos por nuestro enlace a cualquiera de los dos asustar. Vayamos cuando queramos a Teoh chequear el historial de transacciones de un dueño y vamos a tener cansado es igual a su llamado negro. Y lo que eso va a hacer es significar que una nueva vajilla se abrió en lugar de redirigir la página cuando hacen clic en ella ahora fuera del rígido comentario final y sólo decir que estamos terminados nuestro pie de página de tarjeta ¡Fantástico! Y eso es prácticamente todos los elementos U Y. que debemos hacer. Podríamos volver aquí más tarde si tenemos problemas. Pero por ahora voy a ver el siguiente set 33. Escribe la función de loadDoggy para visualizar las cartas: No, está bien. La función que necesitamos para crear nuevas tarjetas y cargar nueva información del perro. Pero esto vamos a saltar a perritos que Js Y luego justo después de la generación de imagen para el perrito, vamos a crear única función. Bueno, un comentario bastante rápido solo por mencionar lo que estamos haciendo. Mi perro se basa en datos de entrada y luego bien definido función load dokey. Ahora, esto va a tomar una variedad de variables diferentes. Nos vamos a llevar los perritos, i d, que es la idea que hemos asignado dentro de este macho atraen antes de que ese perrito cuando se genere. Si recuerdas la matriz menos uno, ese es el I d. Tenemos el nombre Toki, que es el nombre que especificamos cuando creamos nuevo perrito buen perrito d y A. Y ese es el campo de ADN que se genera aleatoriamente para nosotros dentro de el contrato. Prensa demócrata Perrito. Ese es el precio actual. El perrito. Entonces si alguien iba a comprarlo, ese es el precio. Aún así levantarlo. Entonces nos dieron perrito siguiente precio. Y ese es el siguiente precio de la computadora, acuerdo con el sistema de escalera que tenemos para generar los nuevos precios para los perros. Entonces tenemos la dirección del propietario. Esa es la dirección del dueño fuera del carrito. El doc usted. Y luego ponemos bien a Luke Kelly All, lo que tendría más sentido después, pero básicamente solo especifica si somos dueños o no de este perro. Y si lo hacemos, lo usaremos para desactivar los soportes de botón de compra y escribir la función. Empieza con. Vamos a conseguir una referencia a las huevas de bacalao. Y llamaron ejemplo de plantilla es si saltas de nuevo al índice. Básicamente, lo que haríamos es querer agarrar una referencia a la tarjeta escrita donde vamos a colocar este nuevo artículo de la tarjeta de perrito. Dulce, bueno, el cuadro. Y vamos a conseguir una referencia a la plantilla también, que vamos a una pluma con la información que tenemos. Entonces vamos a ir tarjeta derecha es igual a signo dolla que el nombre del elemento, que es tarjeta, ¿ verdad? Y bueno, en lo mismo con la plantilla de auto. Fantástico. Ahora vamos a revisar para ver si esta tarjeta es localmente. Ángela tan bien, afortunadamente amable. Y luego si lo es, vamos a ir plantilla de tarjeta no encontrar, y vamos a encontrar el elemento Buy button dentro de la plantilla de bacalao sets button dash by Don't This is you. Y vamos a establecer el atributo a off Disabled igual. Es cierto, eso sólo va a desactivar el botón. Si somos dueños de esta tarjeta Els cart 10 punto No encuentras Button Dash by hace en realidad. Y luego vamos a Perdón. Me adelanté un poco. Queremos eliminar los atributos desactivados si existe. Técnicamente no necesitamos hacer esto porque vamos a estar bastante seguros de que los discapacitados realmente ordenan su. Siempre es bueno ser. Siempre es bueno ser específico, por si acaso no lo hace ahí arriba. Queremos quitarlo. ¿ Quién? ¿ Ahora? Tenemos un montón de referencias a plantillas de policía, y esto va a ser actualizando toda la información dentro de la tarjeta en base a la información de entrada que podríamos contemplar puntohallazgo. Y vamos a ser festivos. Asistió todo su nombre dicho punto nombre burro texto punto porque este es campo de texto con un pase lo nombre de perro. Voy a hacer una copia de esto porque cuando lo uses un par de veces ahora, continuación vamos a conseguir hacer el lienzo dougie, que es encontrar dot dougie canvas, y luego voy a conseguir los atributos I D y luego agregar y tu atributo para anular eso llamado Doggy puede esto y luego vamos a escribir un perrito i d Así que vamos a terminar con un campo I D llamado perro lona a lona cero dependiendo de las ideas, esto tendrá más sentido en un segundos. Tiene que ver con la forma en que generamos los artículos de lona. Esto tiene que ver con la diferencia. Ser lienzo e imágenes sobre esto que tenemos que hacer es porque es un lienzo. Enfriar. Siguiente línea, vamos a ir plantilla de tarjeta no encontrar y luego punto dougie ADN Siguiente trato. Esto simplemente es una actualización de texto sobre ADN de burro. Enfriar. Eso es en realidad. Lo mismo con el próximo Dios. Estamos reemplazando la dirección del propietario, y sólo vamos a estar buscando un perrito. Erna. Enfriar. ¿ Tienes algo parecido Con el siguiente campo, queremos actualizar el odio que hemos sido ethos puede abordar link. Entonces lo que vamos a estar haciendo es simplemente quitar los atributos de Mr Candy yendo. Vamos a buscar la h ref, en realidad lo y luego lo vamos a reemplazar por un odio del euro U P s. fueron últimos cuatro slash éter scan dot io forward slash dirección para ello. Slash Y luego la dirección del propietario. Las cosas básicamente solo devolverán un enlace a la dirección del propietario en la piel. Enfriar. Ahora vamos a tener otro auto, simplemente así que encuentra ahora vamos a Duthie Adiós. Entonces, está bien, pero botón ya lo hizo antes, pero et en efectivo por y vamos a los datos de atributos I d Ok, ideas de datos que construimos a medida nos agregamos nosotros mismos, y estamos va a almacenar los perritos que d dentro de esos atributos personalizados. Esto va a ser importante, porque cuando hagamos clic en el botón de compra, vamos a estar accediendo a estos datos. I d Campo con el fin de comprar el botón dentro de este campo por el burro dentro de este campo no se puede plantilla punto Encontrar casi allí. No lo hagas, Dougie. Además, esto es simplemente texto óptico. No obstante, debido a que estamos tratando con números de punto flotante, tenemos que tener cuidado. Vamos a adelantarnos a un problema que tenemos, pero vamos a pasar flotando mi soporte prime, perrito presiona close dot to fix and a rocket y luego cuatro decimales. Esto es básicamente solo para limitar cuántos lugares diferentes mostramos en el front end y luego el mismo trato con el siguiente precio para su siguiente guión precio Doc text house float, Dougie Next presiona para arreglar full cool. Y finalmente vamos a ir atrapados a punto derecho un pin y luego vamos a subir las plantillas, hicimos una plantilla de mazorca y luego conseguir el email de odio dentro de él y agregarlo a ese camino. Esto es básicamente solo tener una tarjeta a esa imagen Malraux por cada vez que llamó disfunción. Por último, ahora llamamos a la imagen generar burro positiva el ADN perrito, Pásalo en el tamaño que he trabajado para ser tres es el mejor para desde mi experiencia. Puedes cambiarlo si quieres, pero básicamente vas a escalar la forma en que las imágenes se renderizan en el lienzo. Y luego definimos el lienzo al que queremos aplicar imagen degenerada, y ese es este campo aquí. Entonces, ¿básicamente qué? Se va a tomar esto otra vez y vamos a colocar aquí. Y lo que eso debería hacer es ralentizar un perrito bajo el tú yo siempre que llamamos a esta función y en realidad podríamos probar esto, he creado una cadena para hacer esto, ponerlo en el documento J Coury. ¿ Listo? Esto básicamente va a cargar el perrito va a pasar índice cero Steve. Posible ADN de arbitraje se le ocurrió un precio base. Siguiente precio y dirección del propietario y propiedad local es igualmente falso. Entonces si corremos afuera en PM ejecutar muerte, deberíamos ver cómo no apareces tú, Steve, Steve,y obviamente hay algunos problemas con la forma en que luce la U I. Tendremos que escalar un poco las cartas, pero por ahora, eso está perfectamente bien. Y te veré en el próximo año donde veremos cobrar dedo un contrato. 34. Carga de los contratos de JSON ABI: Oye, en este video, vamos a encarnarse escribiendo algunas de las funciones base que ahora para la aplicación prevista necesita con el fin de conectarnos a un contrato. Este sencillo estaba creando un abrigo de pareja de Foshan, ¿no? Web tres, ¿no? Contratar y vaciar la cuenca se movió. Entonces nos quedamos atascados. Entonces ahora mismo tenemos esta función innit que no está haciendo nada. Si nos metemos en esto, lo que eventualmente vamos a querer hacer es regresar, ¿eh? Que está haciendo referencia a este punto de objeto exterior en él con tres. Sí, obviamente no lo hemos visto con tres funciones. Añadamos esa unidad del Día Civil, Web tres, y luego lo que vamos a querer hacer dentro de esto es solo para comprobar si la Web a través proveedor está disponible. El Web a través proporcionado será pasado por la biblioteca de guiones de trabajo de Jeff y conoció una mezquita se vincula a ella y proporciona información sobre la cuenta que actualmente está conectada a través de ella al navegador. Entonces lo vamos a hacer es comprobar si está en la multa. Empieza con si teclea fuera Web tres, no hay igual indefinido. Bueno, si aún no está definido y sólo vamos a desprender el nombre global. ¿ Qué? Tres dedos de águila? Una nueva instancia fuera del proveedor actual. Fantástico. No. En caso de que no podamos encontrar se proporcione a través de mínimo pregunte qué vamos a hacer es pondremos el proveedor igual al proveedor HDP y conectado al puerto 8545 Esto es sobre la Copa look like Went three es igual a nueva Web tres y luego me Web tres puntos proveedores no odian ella P proveedor. Y luego entre paréntesis vamos enganche p cuatro slash anfitrión local 85 45. Esto sólo lo hace por ejecutar una instancia, Um, desde la línea de comandos, el navegador Web buscará eso y conectado. Y luego finalmente, en esta función, vamos a devolver otra app dot inet con tract. Nosotros también vamos a escribir esta función antes de hacer eso. No obstante, si saltamos a la cima de esto, necesitamos escribir algunos campos estéticos globales que queremos poder utilizar dentro de este objeto. Una de ellas es una lista de contratos que este objeto en particular está gestionando. Probablemente alguna vez habremos querido aún, pero solo lo hago solo por el bien de la integridad y luego Vamos a crear también una dirección de perritos crypto muy vocal, que sigue siendo la dirección de los perritos crypto. Un contrato inteligente para el que en realidad no tenemos dirección hasta el momento. Entonces, por ahora, sólo lo vamos a dejar en blanco. Entonces, si saltamos por debajo de la red tres, ahora necesitamos escribir la función thean it contract. Aquí es donde vamos a cargar el Jason 80 i por un contrato en el navegador web, y vamos a explicar todo eso en un segundo. Entonces tenemos que irnos. Todas las señales no consiguen a Jason. Entonces usó a Jason, y vamos a cargar los datos y postes, también esta función Cool. Y luego después, también vamos a fingir ap dot find eventos los cuales implementaremos el segundo. Bueno, ahora no conseguimos a Jason. Básicamente, este dato aquí se refiere en esta carpeta de compilación de la izquierda. Esta cripta inicio Adobe, Jason. Contiene tipo de como un mapa de todas las funciones y tipos de datos y cosas con las que podemos interactuar para el contrato. Probable. Entonces cuando vayamos sí vamos a desplegar esto, tenemos que asegurarnos de que tenemos una copiadora que paraliza. Empezó, Jason en el directorio. Todo el directorio raíz fuera del sitio web Web. Ahora está dentro. Trae a Jason. Vamos a conseguir hacer const llamado crypto. No lo hagas. Es artefacto, que es igual a los datos que hemos cargado de Jason. Es decir, iban a tener en los contratos de punto, que está haciendo referencia a esto aquí mismo doggies criptográfica de puntos. Y vamos a poner eso igual al contrato de trufa. Y entonces el artefacto era básicamente trufa contrato se cargará en el día del artefacto y luego escupir una bonita estructura para que nos encarguemos por el contrato. Y vamos a almacenar en el mapa de los perritos criptográficos. A continuación, vamos a sentar al proveedor. Estamos en dot contracts dot critter doggies dot set de fighter. Lo vamos a establecer incluso para web de tres puntos corriente provista. Por último, vamos a regresar que no hacen perritos de humor, que es la siguiente función. Nos estaremos pudriendo. Lo final que también me gustaría agregar es un bind events. Entonces solo lo dejas aquí, Pero tenemos que ponerlo en alguna parte. Lo vamos a colocar justo en el siguiente campo. Y aquí es donde vamos a manejar los diversos eventos. Por ejemplo, las mujeres hacen clic en el botón Enviar. Vamos a estar pasando los datos del formulario. Por lo que necesitamos definir a dónde vamos. Vamos a hacer esos datos de formulario cuando lo tengamos. Por lo que tenemos que ir a declarar desde el documento punto en presentar. Vamos a revisar para ver si lo que presentó fue formado compra de perro dot. Sí, y si lo fue, vamos a pasar los datos a la compra de la app dot handle. Y eso es sobre dónde tenemos que salir ahora mismo. En el siguiente video, vamos a escribir la función de compra del mango y también empezaremos a escribir la carga la información del perrito en una bonita estructura para luego pasar al crear. Perdón por pasar a la función de carga perritos. Te veré en el video. 35. Adla de la compra perdida: antes de pasar a cargar los perritos del contrato. Terminemos el evento de compra de mango que acabamos de escribir anteriormente. Ahora, acabamos de captar el evento, pero aún no lo hemos tratado. No hagas eso. Vamos a crear una nueva función llamada manija perches. Vamos a posicionar un evento. Este es el evento que se pasa de este documento en presentar. Entonces me voy a ir en caso de duda, prevenir el incumplimiento. Y iban a conseguir el campo de entrada completo para el perrito I d Voy a ir lejos, perrito. I d es igual a Parr y que el punto punto punto punto punto punto punto elementos más cercanos. Esto es básicamente solo encontrar el botón más cercano dentro del botón de punto de evento discontinua por. Vamos a conseguir el campo de datos I D. y eso debería darnos el perrito con el que salgo ahí. A continuación, vamos a Web three dot dot get cuentas, que obtendrán una lista de cuentas. Vamos a pasar el error y la lista de cuentas, y luego dentro de esta función, vamos a revisar para ver si tenemos una era. Y si lo hacemos, vamos a hacer un lug constante con la tierra otra cosa vamos a establecer lejos cuenta es igual a cuentas cero, que es la cuenta principal predeterminada para la persona que está usando el sitio web. Ahora vamos a ir a dejar instancia de contrato, es igual a en dot contracts dot crypto doggies dot en eso solo significa que queríamos encontrar la dirección de contratos. Vamos a encontrar que como dirección hap dot crypto doggies, que es la que definimos en la parte superior aquí, que aún no hemos inundado del todo. Pero cuando nos desplegamos, eso es lo que ponemos en este campo. A continuación, vamos a ir a contratar instancia punto precio de descuento, y vamos a revisar el precio de un perro I D Entonces nos vamos. Después se pasó el precio a la siguiente función la cual devolverá contrato instancia compra de punto pasando en el perrito Heidi y luego la siguiente línea, vamos posiblemente desde dirección de conteo como la cuenta que acabamos de salvarte. Entonces esta es la cuenta de la que queremos enviar la compra, y vamos a enviar el valor como proceso. Y este es el precio que acabamos de obtener del precio de descuento. Dougie, yo d Y finalmente vamos a manejar Entonces el resultado en el pasado el resultado para actuar doggies de carga de puntos . Y luego vamos a atrapar cualquier error se pone y lo vamos a desmayar. Consola dot Log era mensaje. Ups. Sí, solo consumiendo. Tengo todos estos alineados fantásticos. Por lo que efectivamente, sólo vamos a hacer va a conseguir evento. Vamos a conseguir el perrito i d. del botón en el que hicimos clic. Voy a conseguir la primera cuenta en la persona conoció una máscara. Vamos a conseguir el contrato. Instancia Vamos al precio del perrito con click. No solo confirme que el precio y por qué no es correcto Porque no queremos confiar en guión laboral local. Queremos asegurarnos de que el del precio real la masa de los siete del contrato es el que estamos usando Its a minuto. Y entonces lo que estamos haciendo es que estamos pagando por comprar sin, lo que desencadenará la compra minimalista que necesitan para subir, y luego vamos a recargar los perritos cuando hayamos hecho esa compra. Eso justo ahora, en el siguiente video, lo que vamos a hacer es que vamos a escribir esta función perritos lascivos la cual básicamente recargará a los perros en la U. S. Así que te veré ahí 36. Carga de perros. función contract: Está bien, estamos en el homestretch. Tenemos dos funciones más que necesitamos ejecutar, que son la función Lord doggies y la función get dogggy detail. Entonces solo vamos a escribir cosas para esos ahora es que no lo olvidamos, tenemos perritos de carga. Y cuando funciones stub full, obtén detalles de perrito el cual se llevará un perrito i d Y una dirección local que te explicaré incluyen enfermo Hagamos la función de carga perritos primero cuando esto vamos a necesitar hacer la web tres brezo dot Obtener cuentas de nuevo. Tanto más uso antes de golpe. Déjame conseguir la función ella y las cuentas. Y como lo hicimos antes, vamos a tratar de ver si el error que tiene No no Entonces nos consolamos, no registemos. En realidad, poco error cómodo Un error kun de error que vamos a imprimir la era y luego vamos a revisar para ver más si kill stop length es igual a cero i e No tienen cuentas arriba en medio de una mezquita. Entonces haremos consola. No mirar usuario no está conectado ni una mezquita. Y por último, esto está manejando el caso de que efectivamente tenemos las cuentas. Entonces realmente retiraremos las tarjetas seguidas y explicaremos por qué hacemos esto más adelante. Es mejor que solo limpiemos. Si alguien pasa a tener un nuevo perrito por delante antes de que se actualicen las páginas, todas las cartas realmente se apilarán y obtendrás dobles. Entonces nos hicieron tallado habitación Niños, ¡ detente! Eliminar Ya. A continuación, vamos a apagar la emoción. Y después de esto conseguir cuentas Nos vamos a poner en marcha la siguiente lógica de pizza, que es sacar la dirección de la cuenta por defecto. Y entonces otra vez, vas a encontrar el contrato. Instancia a la que se va toe app enseñado contratos dot crypto doggies punto en y luego especificamos la dirección de contratos. Por lo que vamos a punto cripta dirección Adonis. Vamos a devolver el suministro total, que es igual a la instancia de contrato punto total de suministro. Después manejamos el suministro y lo haremos en la siguiente función. Vamos a conseguir cuatro, pero yo es igual a cero. Yo es menos que abasto, y perdí plus en derecho sobre el total de abasto con cada perrito. Yo iba a app dot conseguir detalles de perrito en una fiesta y yo que es el perrito que hice. Y se dirige fuera de la cuenta por defecto, luego mírala. Todavía tenemos que manejar cualquier excepción. Sí, vamos a coger era. Pensar va a pasar la era a un cónsul. No regir air dot Mensaje cerrar con estos corchetes cerrados con eso y esa función ya está hecha. Saltemos hacia abajo para conseguir detalles de perrito. Ahora, estos van a ser los detalles que estamos regresando Si cae por contratista de Grodas, mira debajo de los perritos crypto Cuando el evento de toma en creado decida vamos a empezar otro. Um, vamos a conseguir token. Entonces cuando consiguen la función de token es fría. Vamos a estar consiguiendo el tomó un nombre, precio de ADN siguiente dueño de proceso. Entonces es Trump por aquí. Y vamos a manejar conseguir esa información para que dejen instancia de contrato igual a los contratos de punto app dot doggies crypto enseñados Pat. Voy a encontrar la dirección. Devolverán punto instancia de contrato Obtener token llamando a esa función. Vamos a pasar el perrito que me debiera entonces, perrito, nos encargaremos. Vamos a seguir adelante y ponerle en ella. Entonces hicimos esto. Vamos a acreditar nuevas J's on object. Está bien, Dougie. Jason es igual a camino a seguir, perrito, i d la embarcación Espacio camino a seguir, perrito, yo d Porque eso es lo que queremos establecer este valor también. Y vamos a ir nombre de perro. Danos un ascensor al espacio. Tan buen nombre de perro. Y vamos a poner esto en el primer valor que recuperemos. Ve a buscar este pedido. Vamos a conseguir la toma a nombre como primer elemento de vuelta. Algunos índice muy perrito cero porque, técnicamente, se trata de una matriz de elementos. Entonces, ¿qué hacías a continuación? Vamos a conseguir el ADN. El ADN es un cinco negro. Se ve bien, perrito, ¿sabes? Y van a ir Dokey uno para el siguiente elemento la próxima semana. No deprimas a Toby Price. Y ahora no podemos simplemente cargar eso me conoce directamente porque en realidad estamos lidiando con la forma en que el valor ahora en co convertir de manera a cualquiera. Y para hacer eso, podemos ir con tres puntos de camino luego perrito positivo. Tú siguiente índice syrah a, yo debería decir, y luego lo convertiremos a número. Enfriar. Y haremos lo mismo con la próxima prensa perrito, que va a ser igual a Web tres puntos de White Dokey en días. Tres pato a número y ligeramente. Estamos consiguiendo la dirección del propietario para que puedas ir. Ah, sí, Dress perrito. Y el elemento X es cuatro. Y esa es nuestra estructura Jason Decca. Entonces ahora pasemos este Jason Kato a la función crear perrito a tarjeta de crédito. Entonces primero, vamos a revisar para ver si la dirección del dueño local es igual a vestido fuera. Porque queremos asegurarnos de que marcamos ese botón para desactivar. Si somos dueños del perro que nos vemos así, Ducky, Jason, no te pongas el vestido. Nos aseguraremos de que eso no sea igual a la dirección local. Y si no lo es, entonces obtenemos carga, perrito, y tenemos impresionantes las variables de variedad. Consigue tu perrito, Jason dot Tookie mi i d perrito Jason dot Tookie nombre hablando. ¿ Quién es Jason dots? ¿ No lo haces tú y yo, Toby? Seguro. Yo vi. Pensé que el precio de Doki en Dougie. Jason Dots, Cokie. Y siguiente. Ups. Express Ducky Jason adultos dirección del propietario. Y por último, vamos a fijar la dirección local. O en si se baja a una función, se han visto localmente propiedad, vamos a establecer en falso porque la dirección del propietario no es igual a una dirección local. Quién Ahora vamos a tener otra declaración para esto si y estable Ser un amor escribiendo. Sólo vamos a copiar esto. ¿ Qué? Dougie en la declaración else y básicamente ha cambiado esto a cierto. Sé que es un poco de Bobo, pero al menos sabes exactamente lo que está pasando. Es muy fácil de explicar. Enfriar. Entonces, finalmente, sí necesitamos manejar mm dinero para manejar un get. Siento que estamos a un par de corchetes fuera, así que cree que se supone que tenemos una trampa. Sí. Vamos a captar el error, y luego vamos a venir. Alma doctor Logue. Su mensaje adulto no lo era y eso debería ser prácticamente todos los trabajos que deberíamos necesitar para montar. Entonces el siguiente video, también limpiaremos estas viejas opciones que ya no necesitamos. También podríamos necesitar solo confirmar, pero estoy bastante seguro de que eso es todo lo que necesitamos. Por lo que solo siempre debes hacer ahora es desplegarte, contratar a Boston, probarlo y luego vamos a agregar la dirección de crypto doggies en este campo, y deberíamos estar bien para ir. Entonces el siguiente video lo haremos 37. Deploy las CryptoDoggies en Ropsten Testnet: ahora estamos listos para desplegar un contrato en el Ethereum Blockchain. Vamos a estar usando Ripston Test que Sin embargo, pude encontrar un pequeño en realidad un bug bastante grande en nuestro código de contrato que lo hizo para que cuando compraste un perrito, el precio no se actualizara. Uh, ahora, para solucionar este problema, si entras en el contrato de soul de punto kryptonianos, ve a la línea 1 59 Necesitas agregar lo siguiente con el fin de actualizar el precio de descuento token o el perrito después de poner una compra a través de. Por lo que necesito ir token I d a Precio y luego tomé en I t es igual al siguiente precio. Bueno, y van a positivo el token I d Eso es más o menos todo lo que necesitas hacer. Lo que eso hará es poco actualizar el precio del token después de que pase una compra. Entonces ahora que hemos concluido, el contrato que vamos a hacer es que lo vamos a compilar. Entonces vamos a hacer la recopilación de trufas. Lo que esto hará es generar el directorio de construcción dentro de este directorio de campo. Voy a tomar una copia de los perritos guionados. No Jason, y lo vamos a poner en la carpeta raíz fuera de nuestro sitio web, que en este chicos es el director de la fuente. Elimina cualquier perrito criptográfico existente que vendiera archivos que estén en ese basado en el nuevo. La próxima vez, con un pequeño cambio, quería hacerte yo para que se muestre mejor en pantallas pequeñas. Y para ello puedes abrir índice para odiar el correo electrónico y cambiar la línea 68 para ser Cole Excel tres cuatro. Y desde este año, ojalá hacer mejor la escala. Hay otro pequeño cambio nocturno en línea donde no tenemos ningún contexto en el botón de compra . Por lo que queremos agregar la palabra por hacer esto simplemente agregando la palabra comiendo el campo de botones. A continuación, ¿qué vamos a hacer, vas a desplegar este contrato en el Blockchain? Voy a usar el remix otra vez. Entonces si traes remix el ethereum, el Vogue ¿qué? Lo vamos a hacer con una pasta en ese código de contrato y actualizar la cripta entrevista a esa alma con el nuevo código de contrato actualizado Es una copia fueron arrestados en. Asegúrate de que esta información sobre asegúrate de los cuatro contratos diferentes cargados y disponibles dentro del navegador cerraron Algunos de estos siguiente paso se va a pagar para agarrar algo de ethereum del grifo de Broxton áspero. Puedes hacer esto si aún no lo has hecho. ¿ Esto es nosotros? Fuimos antes, pero lo haremos una vez más. Tienes que Robson o grifo Robson ser nosotros llamamos 3001. En realidad puedes tomar la dirección de tu cuenta. Pegado es campo y luego haga clic. Envíame una prueba. O Eso puede llevar algún tiempo. Claramente salida. Ahora que nos buscan con su cuenta, podemos ver qué tan bien está disponible. Vamos a cambiar su límite de gas a este valor aquí. Por lo que por defecto, debería tener frijol tres millones. Pero vamos a cambiar el 30.7 completo. Ella va a hacer la transacción genial Thrill Foster. Ups para Químico. A continuación, vamos a seleccionar los adobes cripta como el contrato que quisiéramos desplegar. Vamos a golpear, crear. Entonces dinos que nos costará unos 4 dólares en 92. Eso está bien. Lo conseguimos gratis y golpeamos Deploy. Tenemos que esperar a que esto pase. Podemos hacer click en él. Estado visto. Necesito esperar a que se complete esta transacción. Estamos esperando esto. En realidad podemos revisar nuestros servidores Web listos para funcionar. Así que vuelve a meterte en tu idea y eventualmente estarás poniendo tu dirección en eso. Ahora no tenemos uno. Encuentra NPM Dev incorrecto. Esto debió haber sucedido. Navegador. Arrastraremos el navegador y miraremos ahora el menú del inspector, ya que ya nos está advirtiendo. Vestido inválido. Eso está bien. No tenemos con el direccionamiento. Eso es perfecto. Estamos listos para irnos. Volvamos a saltar y a remezclar para ver cómo va. Parece que nuestra transacción tendrá éxito. Ahora, si hace clic, esta unidad nos llevará a donde nuestros contratistas podemos sacar Copiar la dirección de nuevo en código V s. Yo quiero la dirección en la cripta, a perritos vestir campo refrescar y traer un navegador Web se puede ver cuando solo llegar hay. Eso no está probado. A continuación, vamos a volver a saltar al remix y vamos a generar alfas. Dougie, ya sabes, solo para hacer eso, vamos a sacar la dirección del contrato y ponerlo en este contrato de carga de campo de dirección impacto misil de carga en realidad abogó todas las funciones relacionadas con nuestro contrato. Ahora podemos interactuar con él directamente fuera de restos. Entonces, ¿qué? Lo voy a hacer es que lo vamos a crear. Lo tomó en una ficha de crédito o un dhobi en este caso con un nombre. Kate. Espere. Gran Tucker. Traerá una confirmación sobre si queremos o no hacer esto. Nos va a costar algunos honorarios, ya sabes, para gas la transacción. Admitimos y esa transacción debe agregarse. puede ver que está pendiente por abajo. Aquí. También podemos no haber conocido una máscara. Podemos ver los estados aquí dando click en la transacción. tiempo para este completo puede variar un poco, pero eventualmente deberíamos verlo pasar. Se puede ver que el gran tomó y función fue llamado con el nombre. Después se pueden ver los diversos campos que se incluyeron. Por lo que obviamente este campo aquí habría frijol si ese hubiera sido el nombre campo goaded . Y esto para el presidente de en la prensa. Tómate un poquito. Ya lo tenemos. Parece que la transacción se ha completado. Podríamos tener en el campo de detalles en restos. Desplácese hacia abajo. Deberíamos verlo todavía. Por lo que Katie fue creada Un índice cero con ese ADN a ese costo base. Y con ese dueño para que podamos saltar y refrescar. Esta transacción probablemente saldrá genial. Por lo que la charla se transfiere de dirección de cero a l dirección. Volvamos a saltar a un sitio web. Espera fresco y cuando me vea bien, dudoso tiene frijol cargado. Ya sabes, es indirecto con esto un poco. Vamos a probar comprando fuera. Vamos a atropellar. No, realidad me encantó en un condado diferente. El dueño. Entonces, ¿qué compras eso y puedes ver para tu transacción debería revisar algunas estadísticas . Más importante aún, deberíamos estar fuera de ti que envié un valor de 0.1 e tha a esta transacción. He especificado bajo la función de compra que me gustaría comprar Token zero. Este campo representa la dignidad fresca esto para siete. Bueno, a la espera de pasar. No retrocedemos al remix. En realidad es comprobar algunas de las otras funciones que tenemos disponibles. Por ejemplo, vamos a conseguir blancos viejos. No, puedes ver aquí. En realidad hemos devuelto una lista de los tokens. En realidad vamos y regresamos solo un token ahí. Entonces si ponchamos en cero, podríamos obtener la información para el token cero. Obtienes a Katie esta noche el precio y la siguiente prensa junto con el dueño. Es saltar de nuevo sobre el front-end y refrescar la página. Y lo que deberíamos decir es que ahora tenemos el nuevo precio que se ha agregado. Tenemos la siguiente prensa, y todo por botón ha sido deshabilitado porque ya nos pertenecíamos a esto. Ahora bien, si realmente cambiamos a, por ejemplo, otra cuenta que tengo y que eran de primera página, deberías ver que la nueva prensa y gatito en el Doggie está disponible para su compra en el dueño también se ha llenado en este campo. Si hacemos clic en el campo, nos llevaremos a la página de propietarios, y eso es todo. Graduaciones y terminar primera muerte, Donde puedes tomar a partir de aquí, es si puedes conseguir este paso que subió a un servicio similar, entonces eres capaz de interactuar con él y enviarlo arriba, empujar al mundo. La otra opción es que despliegues el contrato en dos red principal, y voy a ir alguna vez haciendo eso en el siguiente video 38. [Opcional]: Bienvenido al video final. Ya sabes, claves criptográficas. Tutorial de contrato inteligente. En este video, vamos a desplegar un contrato inteligente en la red principal para el inicio de Ethereum Blockchain . Vamos a quitar todas las importaciones de nuestros perritos criptográfico iniciar contrato de alma. Vamos a reemplazarlos por el código real de los otros archivos contractuales. Entonces vamos a acceder a cosas de control con y copiar todo esto. Bien. Sí, excepto por la charla de embarazadas. Porque ya nos dieron eso para encontrar en hechizo. Entonces haremos lo mismo con e L c 7 21 Se lo llevó. Más lugares justo debajo del control de acceso. Bueno, por fin se llevará la biblioteca de tapetes seguros porque esta es una biblioteca no necesita ir antes que el otro código. Dulce, porque justo al final del archivo y las pruebas cierran esa diversión. No, lo haré traerá remix ya que estaremos usando esto para poner contrato o pegar en el código que tenemos. Nos aseguraremos de que solo tenemos un archivo dentro del navegador. Entonces nos aseguraremos de que voy a inyectar ambiente es 13 Asegúrate de que esté fuera. Cuenta que seleccionó Dejar el límite de gas en su defecto. Además, asegúrate de estar registrado dos hombres. Net. Ha sido una mezquita. También necesitarás un poco de ethereum y otra vez para adivinar esta transacción. El proceso puede muy, pero he notado que cuesta aproximadamente entre 10 a 20 dólares estadounidenses desplegar un contrato. Entonces este podría ser uno que sólo sigues conmigo en. Después hacemos clic, creamos y traemos una caja solo queriéndonos que estamos a punto de escribir estos datos. Es la teoría y el libro. Genial para hablar. Deberíamos obtener una estimación de precio del gas ahora mismo. Es todo. Nos está gaseando a unos 9.5 de distancia. Desplázate hacia abajo hasta el fondo para contentos con eso. ¿ Confirmará esto traerá ventana de transacción advirtiéndonos que estamos a punto pasar aproximadamente 22.6 años todavía esto en aviones contrato y se presentará? Si estamos contentos, podemos hacer clic en sus libros de transacciones para sacar los detalles. No te lleves un segundo primero, pop up. ¿ Qué? Estamos a la espera de que volvamos sobre el código V s. Estamos saltando temblores, esperando por Dobi dijo Js y prepárate para reemplazar su vestido contractual en el video anterior, cuando me demostré pinchando en el ethos Obtener dirección. El motivo por el que no iba a ser la cuenta correcta porque aquí abajo bien, definimos cualquiera de las pieles porque era una dirección de Rob Stone y no nos prefijamos con Roxton. Simplemente íbamos a una dirección aleatoria con No, no estés en ella porque va a ser una red. Ya no necesitamos esa referencia de Boston. Pero si estabas intentando que tu versión funcionara antes y teniendo problemas, fue por eso. Vamos a revisar de nuevo en esta jalea de transacción. Se estima que tardará unos cuatro minutos. Podemos ver los datos de entrada. Se trata de dos traídos fantásticos . Parece que se están desplegando nuestros contratos Cabeza de nuevo a la piel. Tan solo confirma que no podemos confirmar que nuestro contrato ha sido desplegado en esta dirección. Hagamos una copia de la dirección. Eres ese tipo con los perritos, Js y reemplazos se dirigen aquí también, lo que escuchamos saltar de nuevo al remix, vamos a tomar una copia de todo el código que estaba en este navegador. Scripted argumenta que alma y luego debajo de la piel en código de contrato vamos a hacer clic , verificar y publicar. Voy a poner en nombre de nuestro contrato. En este caso, es crypto doggies. Quedan minutos, piloto abierto. Ya sabes, Casey, era 14 punto cero punto completo 18. Ambos Usamos Don't 19 dentro del compilador Slippy cuatro remix y van a subir religion off. Pagaremos, contrato único podría desplazarse hacia abajo, Están bien publicados y ojalá esto funcione. Esta vez, sin embargo, he tenido problemas en el pasado. Fantástico. Eso fue exitoso. Todo esto significa es que podemos ver el archivo fuente de la regla y también leer contrato inteligente e interactuar con él a través de cualquiera de escanear que si volvemos a comer esto, metemos en remix, lo que haremos es generaremos Hey, se lo llevó sencillo. Acude a mí. Gran tomó y campo Poner el nombre fuera. Nuestro perrito en este caso hará que el nombre de nuestro perro simplemente genial. Está bien, nos está advirtiendo. El precio del gas alrededor de 20 que sí parece un poco alto, lo quiere al 15 y espero que pase por esperarlo advirtiéndonos poco cuesta alrededor de un dólar 88 Para subir este nuevo perrito hit evento será la transacción. Si eso no carga, solo salta de nuevo a tu contrato. Haga clic en transacciones. Refresca la página. No cree que la red sea un poco más lenta de saber. Esperaremos la transacción en calificaciones. Ness fantástico parecía que parece que esa transacción ha pasado. Sí tomó un poco de tiempo para que pasara por ahí. Podemos ampliar la vista de detalles que esta transacción sí de hecho codificó los datos justo y en los registros. Podemos ver esa era del Índice. Simplemente decide este ADN, este costo base y esa es la dirección fuera del propietario. Entonces si nunca llegas al perrito criptográfico aún robó tu viejo, verás el pequeño contrato de trabajo sobre los hombres. Sólo piensa en ellos. Estamos Hecho sobre red hecha y este es el vestido dicho que acabas de crear, así podría el ethos abordar y debería llevarnos a este contrato modelo. Se puede ver que el verás 20 porque actualmente el poco deportivo UFC 20 pero aún podemos reconocer el nombre Oh, out token está siendo crypto doggies, CDT. Como especificamos, podemos ver boletas de fichas también son una CDT rota, que es golpes al contrato. Básicamente, si compramos ese perrito voluntad en ese contrato, Gracias de nuevo por unirse a mí en este curso. Ha sido muy divertido. Encuentro algunas cosas de salida en el camino. Sólo enseñarlo. Si tienes alguna pregunta, no dudes en leerte. Si tienes algún problema. El curso avísame. Me encanta escuchar sobre los proyectos que están trabajando para sentirme libre de pegarme en Twitter en Nathan Glover, un EU, un EU, y también echar un vistazo a los perritos criptográficos del repositorio. Por lo que el proyecto terminado está arriba cuando obtengo ayuda. Um, llévame básicamente algunos ejemplos con el código terminado, si tienes algún problema y, como dije, contratando cualquier problema en efectivo alrededor.