Crea un clon de Twitter de Web3 con Solidez y Polígono | Rahul Agarwal | Skillshare

Velocidad de reproducción


1.0x


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

Crea un clon de Twitter de Web3 con Solidez y Polígono

teacher avatar Rahul Agarwal, Flutter Developer & Trainer

Ve esta clase y miles más

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

Ve esta clase y miles más

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

Lecciones en esta clase

    • 1.

      INTRODUCCIÓN AL CURSO

      1:01

    • 2.

      Crea un proyecto de hardhat

      7:33

    • 3.

      Teclas de alquimia y metamask

      6:08

    • 4.

      Creación de un contrato de Twitter

      7:37

    • 5.

      Funcionalidad para agregar un tweet

      5:49

    • 6.

      Funcionalidad para obtener todos los Tweets

      9:26

    • 7.

      Funcionalidad para eliminar un tweet

      5:33

    • 8.

      Funcionalidad para actualizar al usuario

      3:43

    • 9.

      Pruebas con Remix IDE

      9:25

    • 10.

      Implementación en la red de pruebas de Mumbai

      4:59

    • 11.

      Configuración del proyecto de reacción

      15:10

    • 12.

      Trabajar en el componente de la aplicación

      8:31

    • 13.

      Creación de un componente Sidebar

      11:41

    • 14.

      Creación de un componente de barra de direcciones

      18:08

    • 15.

      Trabajemos en la página de inicio

      19:41

    • 16.

      Creación del componente de alimentación

      14:39

    • 17.

      Trabajemos en la página de perfil

      14:23

    • 18.

      Trabajaremos en la página de ajustes

      13:13

    • 19.

      Autenticar al usuario con Metamask

      22:45

    • 20.

      Verifica si el usuario ya existe

      18:24

    • 21.

      Configuración de Web3 Storage IPFS

      11:52

    • 22.

      Función para agregar un Tweet

      11:23

    • 23.

      Función para mostrar los Tweets

      19:50

    • 24.

      Mostrar datos de los usuarios en la página de perfil

      6:37

    • 25.

      Función para eliminar un Tweet

      4:22

    • 26.

      Función para actualizar los detalles de tu perfil

      15:45

    • 27.

      Prueba la aplicación completa

      5:45

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

66

Estudiantes

--

Proyectos

Acerca de esta clase

Twitter ha sido una de las plataformas de redes sociales más populares para los usuarios de todo el mundo. Sin embargo, los usuarios de criptomonedas se dan cuenta de que una versión descentralizada de Twitter sería muy beneficiosa, ya que eliminaría los aspectos negativos de la plataforma centralizada de Twitter. Por lo tanto, en este curso construiremos un clon de Twitter de Web3 desde cero. Comenzaremos por escribir y probar el contrato inteligente con Solidity y Remix. Luego, implementaremos el contrato a la red de pruebas de Mumbai usando hardhat. Después de eso, usaremos React js para construir nuestro frontend y finalmente usaremos ethers js para interactuar con el contrato desplegado. Para subir las imágenes, usaremos el proveedor de servicios de almacenamiento IPFS de Web3.

Para tener éxito en esta guía, debes tener lo siguiente:

1. Debes instalarse Node.js y VS Code.

2. La extensión de la billetera de Metamask debe instalarse en tu navegador con algunos tokens de prueba matic en él.

3. Conocimientos básicos de Solidez, hardhat y React js requeridos.

La pila

En este curso, vamos a construir una aplicación de pila completa utilizando:

Blockchain - Polygon
Writing Smart Contract - Solidity
UI - React js & Web3UIkitEntorno de desarrollo de
solidez - Hardhat
File StorageWeb3 Storage
Client Library - Ethers js

Al final del curso, aprenderás todos los conceptos necesarios para solicitar un trabajo de desarrollador de web3 o incluso construirás tu propia startup en la industria de blockchain. Así que sin perder más tiempo, inscríbete ahora y entra en la próxima era de Internet lo antes posible.

Conoce a tu profesor(a)

Teacher Profile Image

Rahul Agarwal

Flutter Developer & Trainer

Profesor(a)

Hello, I'm Rahul. I am skilled in building cross platform application using Flutter. I am freelance developer as well as conduct workshops to share my knowledge with the community.

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. INTRODUCCIÓN AL CURSO: Pero esa ha sido una de las plataformas de redes sociales más populares a nivel mundial. Sin embargo, los usos criptográficos se dan cuenta de que una versión descentralizada de Twitter sería altamente beneficiosa ya que eliminaría los aspectos negativos de una plataforma centralizada. En este curso, aprenderás a construir un clon descentralizado de Twitter usando solubilidad y blockchain poligonal, los usuarios podrán autenticarse usando billetera MetaMask y luego podrán compartir sus pensamientos con todos en esa plataforma. Cada usuario tendrá una etiqueta aleatoria generada cuando se inscriba por primera vez. Incluso pueden cambiar su imagen de visualización y banner en su sección de perfil. Posteriormente, comenzaremos escribiendo y probando ese smart contract usando solidaridad y remix. Entonces desplegaremos el contrato, la red de pruebas de Mumbai usando hearted. Después de eso usaremos React js para construir nuestro front-end y finalmente usaremos JS de Ito para interactuar con el contrato diploide. Para subir imágenes, utilizaremos un proveedor de servicios IPFS de almacenamiento web de dos puntos. Al final del curso, aprenderás todo lo necesario para convertirte en un desarrollador web full-stack sin perder más tiempo. Inscríbete ahora y comencemos. 2. Crea un proyecto de hardhat: Hola, bienvenidos al primer video donde configuraremos el entorno de desarrollo. Antes de seguir adelante, discutamos la hoja de ruta del curso. Lo primero que haremos es montar ese proyecto de cabeza dura. Después crearemos un contrato inteligente que rastrea y almacene los datos de los tuits. Después de ella. Pondremos a prueba nuestro contrato inteligente. Puede que no escribamos prueba unitaria, pero la probaremos usando remix. Entonces después de que todos los métodos estén funcionando correctamente, desplegaremos contrato inteligente al destino del polígono. Después de eso, crearemos un front-end de React js y usaremos una ptosis y MetaMask para interactuar con el contrato diploide. En la sesión final, probaremos toda la aplicación y nos aseguraremos de que no haya bugs en ella. También me aseguro de que haya instalado MetaMask y tenga alguna métrica de prueba en su cuenta. Solo puedes buscarlo en Google si quieres. No me voy a montar otra vez. Puedes ver cualquier tutorial. Son sólo unos clics de los botones de apagado y continuar con ese curso. Una vez más, se puede ver toda la pila de tecnología de nuestra aplicación descentralizada. Esa blockchain será solidez poligonal, hardhat. Usaremos mi damasco. El proveedor del nodo será Alchemy. Tiene justo el frente. Después usaremos HTML, CSS, y JS. Entonces empecemos a crear ese proyecto. Ahora empecemos por crear una carpeta. Yo lo nombraré. Tweeter dab. Aquí crearemos un proyecto de hardhat. Por cierto, espero que sepan lo que es duro, duro. Hard hat es un entorno los desarrolladores utilizan para probar, compilar, implementar y depurar aplicaciones descentralizadas basadas en blockchain titanium ayuda a los codificadores a administrar muchas de esas tareas que adquirí, desarrollar y escribir contrato inteligente y facilitar este proceso. Entonces en esta carpeta, saca ese terminal. Y antes de crear o instalar hardhead, tenemos que crear un proyecto vacío y PM usando este comando npm en él. ¿Por qué? Y después de eso, simplemente con estilo. Hardhead usando este comando npm install, save dev. Yo había tenido. Así que lee más sobre hardhat. Simplemente puedes ir a hardhead, digamos aquí. Y se puede leer la documentación también. Porque sea cual sea el código que estamos usando, Todo está escrito aquí paso a paso, así, npm init y, y pagos Teilhard tenía Dev así. Ahora para crear una lógica, tenemos que usar el casco n px. A continuación, seleccionar el primero que hizo es crear un proyecto JavaScript. Presiona y presiona Enter. Ahora, nos está diciendo que instalemos también esta dependencia. Se trata de una caja de herramientas simplemente desperdiciada y presiona Enter. Los paquetes de esta caja de herramientas son paquetes menos utilizados y cómo se recomiendan los inicios de sesión para comenzar a desarrollarse, como los éteres. Ma Cao Dai, había tenido matchers chai, hardhat, va a escanear, etc. Ahora las dependencias están instaladas, solo anexa nuestro proyecto en VS Code. Simplemente escribiré código. Lo abrirá en Código VS. Y también en código VS, asegúrate de tener extensiones como solidez, tailwind, hardhead, este tipo de extensiones que ya tienes instaladas. Pero eso es todo por este video. En el siguiente video, obtendremos las claves de alquimia y MetaMask en nuestro proyecto. Gracias. 3. Teclas de alquimia y metamask: Hola, hardhead nos da pocas carpetas y archivos. Discutiremos todos esos paso a paso. Pero primero, vayamos a hardhead config dot chaires y asegurémonos de que estamos apuntando nuestra red a la red de prueba de polígonos. Y para que eso funcione, necesitamos la URL del nodo poligonal, cualquier dirección válida. Como ya tengo cuentas, no estaría creando una nueva cuenta en alquimia. Simplemente puedes ir aquí, luego puedes iniciar sesión e inscribirte para una nueva cuenta. Si aún no tienes uno. Después de apuntarse a la alquimia. Después de iniciar sesión en alquimia, simplemente crea una nueva aplicación. Yo lo nombraré. Tercero, la cadena de tabulaciones será polígono. Y será polígono medio por eso es esa serpiente de prueba. A continuación, haz clic en Crear app. Aquí, necesitaremos esa llave. Pero antes de eso, asegúrate de haber instalado MetaMask también. Puedes instalar mi Tomas yendo a mi página web Thomas.io e instala la extensión para tu navegador. Asegúrate de pausar el video y ver esa configuración de un nuevo monedero. Cualquier persona en YouTube o Google. Y también saber adivinar, obtener polígono de prueba. Eso es automático en tu cartera. Se puede obtener a través de polígono para el conjunto. De una forma como esta. Sí, sólo tienes que ir a pegar la dirección y obtener tokens de prueba. Digamos esto. Mi máscara. Vamos a requerir esa clave privada. Y almacenaremos esas llaves, esa es la clave de la alquimia y luego mi Dmowski en nuestro proyecto. Y para ello utilizaremos una dependencia llamada punto ENV. Debido a que no se recomienda pegar esa información sensible directamente en nuestros archivos. Eso es como aquí directamente. No quiero que se pegue. Simplemente saca tu terminal y a la derecha. Y PM y estilo punto ENV. Ahora, asegúrate de que esté instalado Sí. En la carpeta raíz. Simplemente crea un archivo llamado punto ENV y crea variables como polígono. Mumbai es igual a como esto. Y que E sea igual a así. Pero el modo polígono simplemente vaya aquí, haga clic en la tecla Ver, esta clave, y pegarla aquí. Para la dirección privada del monedero. Simplemente abre tu máscara Meta. Haga clic aquí. O en este puntitos. Detalles de la cuenta. Exportar clave privada. Simplemente ingrese su clave privada. Eso solo es ingresar tu contraseña. Después te mostrará una clave privada y te asegurarás no exponer tus claves a nadie más. Copia esa llave. Ir al archivo ENV punto y pegarlo. Eso es todo. Guárdalo. Después de eso. Ir a Hardware dot config file e importar esas claves. Con este comando activado nuestro brillante requieren punto ENV. va a enloquecer. Después de eso en el módulo.exportaciones, simplemente escriba redes de red. Entonces lo llamaré Mamá Bye. Entonces en la URL, hay que escribir el nombre de la variable ENV punto de proceso, que es el polígono Mumbai. Y en un const, que es una matriz, simplemente hay que escribir punto de proceso ENV, wallet, vibrar, así. Entonces eso es todo. Su configuración de casco está hecha. En el siguiente video, escribiremos el contrato inteligente. Gracias. 4. Creación de un contrato de Twitter: Hola, bienvenidos de nuevo. Ahora empecemos a trabajar en la redacción de nuestro contrato inteligente. Retire todos los archivos de casco, scripts de contrato y carpeta de prueba. Lo es, simplemente lo eliminaré en los scripts también. Lo quitaré en el contrato. Sólo copia o no, no tienes que copiar. Simplemente puedes renombrar estos puntos alma. Y simplemente mueve todo lo demás. Sólo bandera debe código de solidez. Ahora empecemos a conseguir con un nuevo contrato y ponle un nombre. En primer lugar. Tendremos algunas variables de estado. El primero será dueño. El segundo será contador. Esto es, presentará id, un juguete como este. Luego en el constructor. Inicialicemos que es el ancho variable propietario , remitente del mensaje. Eso es quien despliega el contrato y contrate con 0. Esa es la primera idea. Empezaremos desde 0, así. Ahora ya que estamos escribiendo un contrato el cual consistirá en retozado. Entonces vamos a tener una struct de un nombre it tweet nombre, lo hacemos así. De acuerdo, soy destructor que golpeó. De acuerdo. Ahora consistirá en una dirección de retorno, esa dirección y nombrarla Twitter. Entonces tendrá AD, luego tendrá el peso x. entonces la persona puede o no subir imagen. Será opcional. Entonces si esa persona quiere borrar, es tweet o no. Y por último, tendremos esa marca de tiempo para que podamos mostrar esa fecha de ese juguete. Esta es la estructura de un tuit. A continuación tendremos una estructura de un usuario. Consiste en nombre siendo ese perfilado, es decir, el usuario escribirá un perfil bio India. Tarde. Ese usuario puede tener una imagen de perfil. Después de eso, el usuario puede tener un banner de perfil. Así. Porque si has visto un factible muy pocos incluso lo has visto. Twitter. La persona puede subir una biografía es nombre de usuario, es imagen de perfil, y el perfil Banner también. Después de eso, voy a tener, tener algún mapeo, que vamos primero, se mapeará ahora ID a una estructura de tuit que es id a esperar. Y lo voy a nombrar. Los pesos. Y el segundo mapeo será de dirección. Y apuntará a un usuario. Es decir, usuarios. Simplemente diríjase a un usuario. Por lo que nos acaba su dirección. Podemos conocer la imagen de perfil bio de rodilla de ese usuario en particular. Digamos. También. Tendremos algunos eventos. El primer evento será debido, se creó. Tendrá domicilio. Lo mismo. Contará con identificación. Tendrá texto de peso, cadena. Tendrá la imagen de peso. Ese booleano se retrasa muerto y esa marca de tiempo. Entonces esto será, este es un evento que sí, que se emitirá en la función ad tweet, que crearemos en el siguiente video. El segundo evento vamos a borrar, entonces? Simplemente tendrá esa ID de tuit. elimina ID de Tweet y Boolean. Así. Eso es todo. Eso es todo por este video. En el siguiente video, trabajaremos en la funcionalidad para agregarlo. Gracias. 5. Funcionalidad para agregar un tweet: Sigamos escribiendo el contrato inteligente. Ahora escribiremos la funcionalidad para agregar un tweet de churn. Aceptará el peso y la imagen de peso. Será una función pública así como una función pagadera. ¿Por qué? Bueno, debido a que requeriríamos que esa persona nosenvíe nos 0.01 con el fin de asegurarse de que son con el fin de subir histórico, por favor envíe 0.01 magia. Aquí tenemos que escribir éter, pero estaremos enviando en valor métrico. Si esto está bien, es decir, se cumple este requisito, entonces tendremos un puntero hacia ellos. Es mapeo. El derecho sabía es que vas a hacer los pesos a 0. Es aquí la idea de que 0 ID, comenzaremos añadiendo los datos nuevos a la misma. Texto oscuro es igual al texto aquí, luego Nuevo. Y esto debería ser Tweet. Tweet. Genial. La imagen es igual a esto. Entonces lo haces tú. El punto es igual al mensaje. Remitente. Id es igual a contador. Entonces nuevo tweet se elimina, es igual a falso, obviamente. Entonces, finalmente, la marca de tiempo de punto es igual a block dot timestamp. Después de eso, simplemente emitiremos nuestro tuit. Evento creado. Enviará estos valores así. Twitter es remitente de mensajes, luego contador AD, luego tuitea texto. La forma de administrar que se elimina false, y la marca de tiempo. Marca de tiempo. Así. Por la tarde, solo incrementaré el contador porque el próximo tweet ID debe ser uno. Y por último, le pagaré al dueño. Es decir, simplemente me trasladarán. Ahora valor o nodo, así. Con el dueño, transferiré este valor. Espero que hayan entendido esta línea de código. Era muy básico. Lo primero vamos a requerir 0.01 éter que sea demótico. Entonces solo señalé aquí nuestra variable de estado, que son los tweets. Ese tipo de datos es struct. Por eso no escuché tuit y simplemente agregué todos los datos dentro de él. E hicimos que no estás incrementando el contador y simplemente transportas el valor que es 0.01 Ito. Eso es todo. Eso es todo por este video. Gracias. 6. Funcionalidad para obtener todos los Tweets: Hola, bienvenidos de nuevo. Ahora trabajemos en la funcionalidad para buscar todos los tweets. Es decir, al igual que los tweets se mostrarán en la línea de tiempo del usuario. Simplemente escribir importaba, que son los pesos y Chen, en el que será una función pública. Simplemente verá retornos en una estructura como esta. Ahora. Ahora lo primero que haremos es crear una variable vacía temporal. Es decir, sólo me gustará temporal es igual a nu. Tweet. Estará vacío y la tierra estará en contra. Ese es nuestro número lateral de tuits. Entonces tendré el peso abajo a su es igual a 0. Esto solo contará el número total de tweets que podrías estar pensando en lo que estoy haciendo. Solo estoy teniendo un for-loop para asegurarme de que solo mostramos esos tweets que no se están borrando. Usted int I es igual a 0, yo menos que contador I más, más. Y entonces tendré una declaración if como esta. Si punto se borra es igual a falso, entonces sólo añadirle eso. En este temporal. Eddie, en esa posición, contar hasta ocho es igual a los pesos. Esto me gusta. Y simplemente incremente los tuits de conteo. Después de eso. Tendré placas Alda que no se están borrando. Después de eso simplemente tendré una variable vacía, que será resultado es igual a mu 28. Ahora esa tierra será propia, es decir, contar a su. Si enviamos directamente este, entonces la longitud de la edición E será mucho más grande. Es por eso que acabo de crear, y acabo de crear otra variable de una matriz vacía. Y de nuevo, haces el bucle for. Y esta vez voy a ser menos de contar tuits. Y aquí, simplemente copie todo desde la variable temporal a esta variable de resultado. Y por último, devolveré ese resultado así. N aquí. ¿Qué hice ese error, qué? Deberían ser nuevos tuits pequeños. Eso es todo. Espero que lo hayan entendido. En primer lugar, tendremos una matriz vacía de longitud de contador, que podría ser 50. Entonces tendríamos para loop y Alda tweets que no han sido borrados, que suponen que es tardío. Entonces ya que la longitud es de 50 y en su interior sólo los artículos serán 30. Así que creé otra área con solo una tierra diminuta para que la longitud de la matriz sea igual a los elementos dentro de ella. Eso es todo. Esta es la función. Trae todos los tweets. Lo siguiente voy a escribir. El método para obtener tweets. Pero, pero el usuario más fresco. Porque si el usuario va a su página de perfil, entonces sólo se deben ver los tweets que ha subido. Ahí. Sólo escribiremos función, obtendremos mis tweets. Será una cosa externa, misma, externa o pública, lo que tú quieras. Unosretornos. Devolverá una matriz de estructura de tweets. Nuevamente, aquí haré lo mismo. Dijeron que yo lo hago. Mamaria. Tallo listo es igual a una nueva forma de tierra. Entonces tendré conteo, mis pesos variables. En el bucle for, haré lo mismo que tú fuiste. Int I es igual a 0. Yo menos que contar yo más más. Entonces voy a hacer que if statement, si pesos I partición es igual al remitente del mensaje y me aseguraré de que no se está borrando. Yo punto es el igual, igual falso, entonces sólo vamos a añadir eso en esa variable temporal. En esa partición, cuente mis tweets que posiciono. Y luego incrementaré el recuento de mi valor de tweets. Después del for-loop, cada inicio de sesión. A continuación, haga clic en crear una nueva matriz vacía. Nómbrelo resultado. Lo haces tú. Mi nuevo int, yo igual a 0. Yo menos que contar mis tweets. Yo más, más. Sí, solo intercambiaremos eso es todo, desde variable temporal a la variable resultado, eso es todo, nada más. Y por último, devolveré el resultado donde todos, eso es todo. Esta fue la funcionalidad para obtener tweets de todos los usuarios y obtener tweets de un usuario en particular. Gracias. 7. Funcionalidad para eliminar un tweet: Sigamos trabajando con las funciones. La siguiente función que escribiremos es conseguir un tweet en particular. Por lo que sólo diré mi tercer color. Simplemente me gustará el churn divertido. Llegar a ella. Tenemos que enviar una ID de tuit. Bueno, vuelve la vista sombría. Devolverá cadena mamaria, mamaria, y luego dirección. Lo primero es, que se requiere es asegurarse de que id sea menor que ese contador. Ese es el número máximo de tweets. No, tal a ocho. Entonces sólo tendremos el cómo están muy bien apuntan hacia ese tweet, es decir tweet ID aquí así, luego asegúrate de que no se elimine el peso. El día en caso de que sea falso, se suprime. Y después de eso, si todo está bien, sólo diré devolver el punto, texto, punto, imagen, punto como este. Estos tres valor los enviaré. Este es sólo un método si, si lo que sea, por la razón que sea se te requiere obtener ese tweet. Después de eso, Vamos a crear med tech para eliminarlo, hazlo. Al churn. Peso retrasado. Tenemos los que envían el ID y se elimina el booleano. Externo. Simplemente, requeriremos que la persona sea la propietaria de ese tuit ID. Si no, puedes eliminar honestamente tu propio tweet así. Después de eso simplemente a su id. Se elimina, es igual a, se elimina así. Y voy a admitir que evento eliminado aquí. Como le emitimos creó de la misma manera. En vivo, vamos a enviar, simplemente enviar ese tweet ID, ID y se elimina. Así. Dicho esto, esto fue puñetazos para borrarlo, hacerlo, Fue muy básico. Simplemente cambiamos el valor de E se evalúa a verdadero para que siempre que el usuario quiera obtenerlo, si no puede buscar a los que, que se denotan ya que no podemos eliminar directamente el valor de una blockchain. Simplemente cambiaremos ese valor en particular. Eso es todo. Sepan que si queremos, podemos alterar ese blockchain. Podemos tener una nueva matriz y luego poner esa área dentro de esa área así. Si quieres, puedes hacerlo. Perosimplemente tendré los datos almacenados para siempre en cola. 8. Funcionalidad para actualizar al usuario: Hola, bienvenidos de nuevo. Este es el último video del módulo de contrato. Simplemente anotaremos mi turno para actualizar los datos de los usuarios. Simplemente lo nombraré funtion. El usuario haciendo excepto recordar nuevo nombre. Cadena mamaria, nueva bio, compartiendo memoria, nueva imagen de archivo. Y finalmente cadena de memoria, nuevo archivo, banner. Pierna esto. Será una función pública. Ahora, simplemente tienes que conseguir ese usuario o puedes decir inserta ese usuario en sus usuarios mapeando el remitente del mensaje así. Entonces simplemente escribiré datos de usuario. El nombre del punto es igual al nombre nuevo. Datos del usuario. Bio es igual a nueva bio. Imagen de archivo punto de datos de usuario. Chica dos nueva imagen de perfil. Datos del usuario. Ese banner de perfil es igual a piano de archivo nuevo como este. Dicho esto, así es como actualizas un detalle de usuario. Esa última funcionalidad será importada para obtener detalles del usuario. Es para un usuario en particular. Simplemente divertido Chen, consigue usuario. Enviaremos al usuario un vestido. Será una función de vista pública la cual devolverá a un usuario como este. Y simplemente devolveré la dirección del usuario ya que este mapeo de usuario exceptúa la dirección y le enviará al usuario struct que, digamos, esta es esa función para obtener un usuario. Son todos los detalles del usuario. Y esta es la función a actualizar. El usuario retiene. Eso es todo. Eso es todo por este módulo. En el siguiente módulo, completaremos contrato inteligente. Gracias. 9. Pruebas con Remix IDE: Por lo que nuestro contrato de Twitter está listo. Es hora de probar todos los métodos y asegurarse de que no haya ningún error en él. Estaré usando un remix online ID para este propósito. Si lo desea, también puede escribir prueba unitaria usando mocha y biblioteca infantil. Dependede ti. Pero solo para ahorrar tiempo y hacerlo más rápido, estaré usando remix. Entonces solo ve a remix dot m dot o, r g. luego aquí en esa carpeta Contracts, simplemente crea un nuevo archivo y nombra twitter dot soul. Después de eso, sólo voy a copiar esta licencia. Y pragma solidez. Después de eso, sólo copiaré el contrato y lo pegaré aquí. ver, ya está hecho. De acuerdo. Entonces cuando lo probaremos en el IDE remix, no podemos probar hasta 0.01 eterno porque cuando estamos haciendo la transacción, tenemos que enviar en números sin decimales. Entonces solo escribiré aquí un comedor solo para fines de prueba, pero en el código principal será 0.01 en 30. El día de ayer. ¿Recuerdas eso? De acuerdo, así que aquí voy a ir compilando a inter dot soul. Tenemos esta marca de verificación verde aquí. Eso significa que todo está bien. No hay adulto. Ahora. De acuerdo. Diríjase a esta sección de transacciones de despliegue y ejecución. Simplemente haga clic en el botón Aplicar. De acuerdo. Tenemos esta respuesta. Es decir, nuestra dirección ha sido desplegada. Ver Alda métodos y funciones están ahí. Si hacemos clic en propietario, podemos ver que tenemos la dirección del propietario, es decir esta dirección C4. C4. Se puede ver que esta es la dirección correcta. Ahora bien, lo que haré es simplemente cambiar la cuenta. Y ahora trataremos de agregar un nuevo tuit. Yo sólo voy a dar el valor uno ya que está pidiendo uno. Y ahora tenemos que enviar un tuit de texto. Primero lo hará y lo hará imagen algo así como www dot, URL ficticio, algo así. ¿De acuerdo? Y me limitaré a hacer clic en añadir a ella. Creo que de nuevo fue a 0. Si vuelvo a dar clic, agréguelo. De acuerdo, aquí no debe ser manera, debe ser más devorador. Ahora bien, si intenté dar clic, ver, aquí tenemos esta señal verde. Es decir que se nos ha agregado. Y si revisas esa primera cuenta, ahora es un 100. Debido a que esta función por pagar transfiere esa cantidad de ésta al titular de esa cuenta. Como por eso eso se incrementó. Ahora, si hago clic en, Obtener todos los tweets. Ver tenemos esta dirección, este texto primer tweet, y URL ficticio o listados que tenemos. Y si escribo, si actualizo a un usuario, ese es este usuario, si escribo Arapaho, entonces lo que esta pidiendo. Como puedes ver aquí, tenemos bio web dev. Entonces tenemos imagen de perfil, otra vez, www dot imagen ficticia. Y luego tenemos el perfil. Por ahora sólo escribiré www.banner.com y actualizado. Y ahora si tengo razón, obtener usuarios, esa es la dirección del usuario. Si tengo que enviar una dirección de usuario, y solo haremos clic derecho en Copiar, GetUser, y GetUser ver mapeado a desarrollador, imagen fictita y banner.com para que ese usuario haya sido actualizado. Al igual que esto solo más lejos conseguiría mi tweet en necesitar la dosis a su idea, que son mías. Ahora, si cambio la cuenta a la cuenta número tres, y ahora si escribo, obtengo mi tweet, entonces ve que está vacío porque este usuario no le ha agregado ninguno. Pero si conseguimos todos los tweets, entonces obviamente todos los tweets están ahí, que se están publicando ahí dentro en esta aplicación como esta. Ahora bien, si esta persona quiere eliminar ese tuit, si hace clic, ve revertido, solo puedes eliminar el tuyo propio a él. Pero si voy al segundo y ahora si intento borrar eso, se va a borrar porque él es el dueño de esto. Y ahora si hago clic derecho, Obtener todos los tweets. Sólo espera, vamos a ver qué está pasando. Creo que hay algunas añadidas a ella. Si tiene una identificación, tenemos esta dirección. Primero, hazlo. De acuerdo. Cuando estamos borrando el tweet, tenemos que enviar más valores que está aquí, id así como el valor booleano también. Fue el editor. Si lo deseas, puedes comprobarlo y desviarlo también. Simplemente lo leeré y lo borraré. Si escribo cetonas que ven se ha eliminado. Esto llegar a ello. A ver qué pasa. Transacción revertida diciendo que se elimina porque ese tweet ya fue eliminado. Entonces espero que hayan entendido este ID de remix porque esta fue una forma mejor y más rápida de probar ese contrato inteligente. Si lo desea, puede ingresar múltiples rasgos y contrato STR para cualquier otra casilla que pueda haber faltado. Pero en este momento, todo está funcionando a la perfección. En el siguiente video, desplegaremos este contrato en ellos. Polígono Mumbai prueba red. Gracias. 10. Implementación en la red de pruebas de Mumbai: Hola, bienvenidos de nuevo. En este video, desplegaremos nuestro contrato inteligente a la red de prueba de polígonos. Entonces para eso, vamos como script de despliegue. Primero en la carpeta scripts, crea un nuevo archivo y nombrelo desplegado dot js. Ahora aquí está escribiendo código. Lo primero que se requiere es el laboratorio de casco. Entonces tendremos una función sinc llamada main. Entonces conseguiremos, conseguimos contrato, fábrica conseguirá contrato. Por ejemplo. Este es el nombre de nuestro contrato. Es aquí en decir Twitter. Entonces tenemos que escribir este comando. Es pequeño d y luego desplegar. Se puntean, puntean, despliegan así. Entonces tenemos que ponderar. Se está desplegando tal como es. Se necesita un poco minúsculo. Y son muy fin. Consolaremos la dirección del contrato de registro de puntos, contrato desplegado para luego abordar así. Y ahora tenemos que llamar a esta función principal y simplemente coger cualquier error que se esté lanzando. Console.log dice Código de salida igual a uno como este. Por lo que este es el único código requerido para el despliegue. Ahora, tenemos que traer nuestro terminal en el directorio principal que está en ese directorio de carpetas. Y escribe este comando y px. Había corrido guiones. Entonces el ly dot js. Y hay que mencionar que red, que se mueve por y presiona Enter. Podría tardar unos minutos. Ahora tenemos carpeta de efectos directos creada y vemos su contrato desplegado a esta dirección. asegura de haber copiado esta dirección porque será necesaria en el siguiente video. Entonces solo para asegurarnos de que todo está bien, solo podemos revisar polígonos de Mumbai podemos ir a este sitio web, copiar esa dirección del contrato, estado base aquí, y solo buscar. ver, hace cinco segundos se creó este bloque y esta creación de contrato y tiene 0 podría tomar valor. Esto simboliza que nuestro contrato se despliega con éxito. Eso es todo por este video. En la próxima sesión, trabajaremos en el front end, que es React JS. Gracias. 11. Configuración del proyecto de reacción: Nuestro contrato se implementa con éxito. Ahora es el momento de que trabajemos en el front end de React JS. Por eso. Vamos a crear nuestro proyecto ADF JS de configuración para eso, simplemente escribe np x al ocho cliente de la aplicación React así y presiona Enter. Espero que tengas React js instalado en tu sistema. Si lo tienes, me siento recibiendo alguno y simplemente instalo el edadismo a nivel mundial. Por lo que el proyecto React ya está configurado. Ahora para interactuar con nuestro contrato inteligente implementado, necesitaremos dos cosas, dirección del contrato y el ABA. Para obtener el ABA simplemente copie ese archivo twitter.json de los contratos de artefactos. Aquí. Este archivo simplemente cópielo y vaya a la carpeta del cliente. Entonces fuente aquí, crea una nueva carpeta y asígnele el nombre ABI, y simplemente pega ese archivo JSON de Twitter aquí que está en esa carpeta fuente de línea. Sí. De acuerdo. Entonces tenemos que crear un nuevo archivo llamado config dot js dentro de la carpeta fuente, como ab.js libre de armas. Y aquí pegaremos nuestra dirección de contrato. La dirección del contrato es igual a como esta. Simplemente vaya y copie su dirección. Pégalo aquí, así. Ahora, para seguir adelante, tenemos que instalar pocas dependencias. Simplemente cambie ese directorio a la carpeta del cliente. Aquí, escribe npm con estilo. Éteres, entonces reacciona. Y cúpula exterior. Entonces ese kit de interfaz de usuario web, core. A continuación, agregue que ocho repeticiones, tres kit de interfaz de usuario. Entonces puedo agarrar modelo de árbol y finalmente, guión de dibujos animados. Entonces si ven aquí. Tenemos 123456 dependencias y presiona enter este ocho test.js. Es decir, se requiere ethos para interactuar con el contrato inteligente desplegado. React router dom permite la navegación entre varios componentes en la aplicación React. Web tres, UIKit nos proporciona componentes de interfaz de usuario hermosos y livianos lejos por dos desarrolladores. Esta biblioteca acelerará nuestro desarrollo de dab. Entonces. Entonces tenemos tres modelo que nos permite conectar nuestra app demasiados proveedores válidos como Coinbase wallet, MetaMask, wallet connect. Y por último, esta caricatura Avatar genera avatar aleatorio para nosotros. Utilizaremos esto como una imagen de perfil ficticia más adelante. Ahora si vas a package.json aquí, y sólo vamos a comprobar Web three model is there are out there now. Dibujos animados de éteres, Avatar. Todo está muerto. Ahora. Realmente simplemente voy y escribo npm. Empieza a iniciar nuestro celular React JS. ¿ De acuerdo? Por lo que la aplicación React se está ejecutando con éxito. Ahora es el momento de trabajar en el archivo index.js. Vamos aquí. Estamos importando React, luego la app de CSS de índice de masa. Entonces importaré navegador y externo reaccionaré externo. Y cúpula exterior. E importaré defecación. Proveedor de defecación. Web tres, se escribe código, notificación, proporciona que sólo un impulso. Esa app. Está en el archivo raíz. Permitirá que todos los archivos muestren notificaciones. Por lo que simplemente tenemos que ir a eliminar este modo estricto de tres actos aquí para usar proveedor de defecación, una aplicación que aplicación dentro y proveedor de defecación. Y luego use el router del navegador y envuelva la aplicación dentro del router del navegador. Así. Eso es todo lo que diremos. De acuerdo, está corriendo. Ahora. Crearé nuevos archivos y directorios. Dentro de la carpeta fuente. Voy a crear carpetas y ponerle un nombre. Vamos Nance, componentes, imágenes y páginas. Estas tres carpetas y páginas de insight. Crearé múltiples archivos. Inicio punto js, forma punto CSS. Nuevamente. Un archivo dot js, archivo dot CSS, luego settings.js, configuración punto CSS. ¿ De acuerdo? Estos, estos muchos archivos crearon $9 home dot js. Escribiré el código. Lo primero importaré React. Después importaré enlace desde el domo del router React. Entonces voy a importar aquí en este home dot js, voy a importar home dot archivo CSS forma dot CSS de esta manera, ¿de acuerdo? Entonces simplemente voy a tener un componente de casa y exportar por defecto el final. Después dentro del componente home, regresaré, devolveré algunas etiquetas de enlace como esta. Y lo copiaré. Voy a buscar pagado dos veces. El primero una sola slash. Y en ese día será casa. Entonces el siguiente será perfil. Será de perfil. El siguiente serán escenarios y pesados como lágrimas, escenarios como este. Ahora solo copia todo el código aquí. Ir al perfil dot js. Pégalo aquí. Correcto. Ahora archivo dot archivo CSS y exportar el perfil al final. De igual forma, ve a settings.js, pégalo aquí. Lo es. El mismo código aquí. Voy a importar la configuración. Entonces el nombre del componente será la configuración. Exportaré configuraciones al final. Entonces eso es todo por este video. Aquí hemos hecho mucho. Ahora se inicia nuestro proyecto React JS. Y luego los próximos videos, solo trabajaremos en esa IU básica de nuestra aplicación. Gracias. 12. Trabajar en el componente de la aplicación: Hola, En este video trabajaremos en ese componente de app. Entonces ve al archivo app.js. Aquí. Eliminaré este logo y empezaré a importar dependencias. El primero reaccionará desde React. El segundo estará fuera así como outs. Después importaré componente home de dark pages home. Entonces voy a importar componente de archivo. Después importaré el componente de configuración. Y luego voy a importar ese archivo CSS de punto de aplicación. Ahora en esa función, eliminaré todo y empezaré. Vaciamos los corchetes. Entonces Dave, nombre de la clase, le pondré el nombre pagina. Haré el CSS más adelante. Entonces tendremos el nombre de la clase en vivo, barra lateral, digamos bar. Entonces tendré Dave, ventana principal de ClassName. Entonces tendré algunas rutas. Las rutas que habré señalado, que serán las que serán slash sobre Lee, y el elemento que lo hará mostrará el componente home. De igual manera, tendré refinar. Mostrará el componente Phi, y luego tendré ajustes. Y mostrará el componente de configuración. Después de esta ventana principal tendrá el apellido, ¿verdad? Bar. Y si hubiera leído barra de escritura así. Y al final, está exportando la app. Ahora, tengo estos días, pero definitivamente va a necesitar algunos estilos. Simplemente vaya al archivo CSS de punto de aplicación. Sí. Voy a quitar todo. Y empezar con la página. Escribiré este CSS rápido. Espero que tengas conocimiento de CSS porque este tutorial es sobre Web tres y no sobre HTML y CSS. Semana de píxel pegajoso. Y lee el azul menos 800 Excel en 0.45. Después frontera, a la derecha. Seré un pixel, sólido, RGB. Sesenta y tres. Sesenta y tres, sesenta y tres. Y los coloreó blanco y rojo VH. Entonces tendré la clase de barra de luz. Sólo lo copiaré y pegaré aquí. Volition pegajoso, top 0, peso. Sí, será simplemente frontera, izquierda, no derecha. Días sólidos de un píxel. Y justo por. Entonces, tendremos ventana principal, píxel previsto. Entonces ancla, rep, consigue cualquier enlace. Cualquier cursor de enlace será un puntero. Entonces la decoración del texto para ser ninguno. Y será importante. Entonces la altura será de 0 pixel. Es importante. Entonces tendré la página de inicio de sesión, cual haré más adelante. Pero deberíamos escribir el CSS aquí. Porque como siempre digo, el foco no está en la porción CSS. El enfoque está en la construcción de una aplicación descentralizada completa. Flex de pantalla, centro de contenido justificativo. Dirección de flexión, columna, tapa, el píxel. Y esto se hace para el índice de punto CSS. Pero el único cambio que tenemos que hacer, lo siento, esto fueron secuestros, este es el siguiente cambio. Tenemos que hacerlo en index dot CSS aquí. Después de lo anterior el margen, solo agregaré color de fondo al hash, uno para uno a seis. Eso es todo. Ahora guarde el archivo. Y vamos a echar un vistazo a la salida. C. Tenemos la barra lateral, luego la configuración del perfil de inicio aquí. Y lo hemos hecho y divido aquí, así que tenemos diferentes secciones en nuestra app. En los videos posteriores, trabajaremos en sección particular por separado. Gracias. 13. Creación de un componente Sidebar: Hola, bienvenidos de nuevo. En este video trabajaremos en el componente de la barra lateral. Simplemente vaya a la carpeta de 02 componentes. Aquí, crea dos nuevos archivos. Nombre nos sidebar dot js y otro sidebar dot CSS. En la barra lateral JS, simplemente cerraré todo. Y sólo perspicacia pero punto js. Sí, lo primero, importa, Reacciona, reacciona. Y luego lo siguiente que tenemos que importar el archivo CSS, que es sidebar dot CSS. ¿ De acuerdo? Entonces la barra lateral simplemente gire anti-impuestos por ahora. Y exportar Sidebar por defecto. De acuerdo, en goto app.js, aquí, en la barra lateral desde la barra lateral de componentes. Aquí en esto, Dave hizo este div de la barra lateral, simplemente formas hace componente de la barra lateral como este. Ahora, trabajaremos en estos componentes de la barra lateral. Primero pocas importaciones, que lo harán, que se requerirán. En primer lugar serán algunos pocos íconos. Me gusta mucho Twitter, cubo, usuario y COG, cog de web kids icon aquí. Y lo segundo que se requerirá es el banco de enlaces desde un router Create React. No, sí, no lo hicimos. Declaración de retorno devolverá un div y le dará un nombre de clase de datos, contenido del sitio. Entonces tendré otro div y le pondré el nombre de menú. Ahora, entonces voy a tener otro div y nombrarlo detalles. En esos detalles, simplemente tendré ese logotipo de Twitter o el ícono de Twitter, que tendrá un tamaño de fuente de 50 píxeles. Después de los detalles, simplemente tendré una etiqueta de enlace, que simulará también. La página principal y el nombre de la clase serán un enlace. Entonces debajo de esto, voy a tener otro nombre it elementos del menú. Dentro de los elementos del menú. Ahora. Y este div no está terminado aquí. Voy a tener esta etiqueta de enlace. Y dentro de la etiqueta de enlace estará terminada. Fuera de los elementos del menú. Y en su interior tendrá un logo o icono de cubo con tamaño de fuente de 50 píxeles. Y aquí me relaciono a casa. Así, dicho, sección Detalles. Entonces menú. Ahora, como de la misma manera, voy a copiar este enlace, pegarlo dos veces. Ese segundo será el nombre de la clase de perfil dentro de los elementos del menú. Y aquí sólo voy a escribir phi. Ese tercero será ajustes, LastName, link. Y aquí escribiré configuraciones como esta. De acuerdo, Eso es componente de la barra lateral está hecho. Ahora tenemos que trabajar en sidebar dot CSS porque obviamente habrá algún estilo o de lo contrario se verá muy mal. El primer estilismo será de contenido cida. Acolchado. La parte superior será de 20 píxeles. ciernes, ¿verdad? 90 píxeles. Justificar el contenido. Espacio entre pantalla, flex, flex dirección, columna, altura. Cinco, grabamos elementos alineados. Y luego la clase de detalles tendrá display, flex. Lectura que pixel, gap. Pixel. Justificar contenidos, iniciar. Alinear elementos, centrar. Texto, decoración, ninguno, y será importante. Entonces los elementos del menú, vidrio, pantalla, flex, justifican contenidos que brecha. Pero en pixel, margen, arriba, entre punta Excel. Entonces Elaine. Los artículos serán centrales. Entonces fuente. El peso será de 600. Tamaño de fuente. Entre celda típica, relleno, diez pixeles. radio de la frontera será de mil píxeles. El color será blanco. Y será importante. declaración de cubiertas no será ninguna. Y otra vez es importante. Entonces. Voy a tener elementos de menú. Y lo que pasará si se pasa el cursor sobre él, sobre él, entonces el cursor será puntero. El color de fondo será de 2828 a ocho. Entonces tenemos la clase de perfil. Tendrá pantalla, flex, dirección flex, columna, y la brecha será de cinco píxeles. Ahora guarda todo. Y veamos cómo se ve la IU con esta barra lateral. ver, y ahora qué error hice fue aquí ese cubo. Este será usuario y el último será Kg. Ahora, mira, aquí tenemos iconos diferentes, diferentes. Ajustes de perfil. Ahora esta barra lateral ya está hecha. En el siguiente video trabajaremos en esa barra derecha. Gracias. 14. Creación de un componente de barra de direcciones: Por lo que en el último video, nos hemos formado en la barra lateral izquierda. Es la hora. Aquí trabajamos en la barra derecha, esa es esta sección. Entonces vamos a los componentes. Aquí. Crea dos archivos. Nombrelo, barra derecha dot js. Y el segundo archivo será barra derecha punto CSS, derecha Pod dot js. Simplemente importa lo que es React de la biblioteca. Y segundo, segundo, importaremos el CSS. Eso es correcto, barra de punto CSS como este. Entonces una función. En este momento, solo devolveremos corchetes vacíos. Y finalmente escribiré export default. Barra derecha. Váyase. ¿El archivo CSS está vacío por ahora? Ir a la aplicación dot JS. Sí, importación, componente de barra derecha. Y en esta sección de la barra lateral, simplemente llame. Y compré este así antes aquí tenemos lo que se llama el componente de la barra lateral. En esta sección lo llamaremos correcto, pero guárdelo. Lo siguiente que queremos es en la carpeta fuente ahí tenemos carpeta de imágenes. Pon aquí cualquier imagen ficticia. Puedes descargar la imagen que quieras de Internet y simplemente pegarla aquí. Este será un anuncio fictito o noticias o lo que sea que veas en la de la derecha. He utilizado estas imágenes. Puedes pausar el video si quieres. Después de eso, después de que tengamos imágenes simplemente en la parte superior, importa esas imágenes. Eso es importante. Sólo pondré nombre al primero, casco. A partir de imágenes, r hat dot JPEG. Cópialo tres veces. Segundo, escribiré solidez. El nombre de la imagen es únicamente la D, y la siguiente es Meta mask. Y aquí escribiré mi Dallas. En este momento sólo importaremos tres mayores. De acuerdo, yo también tengo este CD act. Vamos a importar la imagen reactiva que reaccionan es un archivo PNG y un archivo GIF como este. Ahora, como voy a tener datos fictitos aquí, crearé una variable que será una matriz. Constará de objetos. La imagen que había tenido. Aprende a usar hardware dev. Y si lo deseas, puedes usar enlace también. Si quieres que el usuario realmente redirija a alguna parte. Pero en este momento, esto es sólo un enlace vacío y pegarlo tres veces más. En segundo lugar, seremos solidez. Simplemente escribiré contrato maestro inteligente. Desarrollo 30s reaccionan acto de maestría apenas en 2022 o 20, máscara. Sin embargo, me gusta mucho convertirme en desarrollador web. Ahora, estos son solo datos ficticios. Sólo recuerda, después de eso, tendré un casillero de búsqueda ficticio. Tan importante. Entrada de código de interfaz de usuario, web tres código de interfaz de usuario y voy a importar búsqueda y esa entrada voy a ser N mayúscula aquí. Icono de búsqueda de Web tres iconos de interfaz de usuario como este. Ahora, vamos a tener un contenido div . Yo lo nombraré. Entonces tendré una entrada. Así. El nivel será de búsqueda. Nombre, búsqueda. Terminamos por prefijo. Tendré este ícono, ese es el ícono de búsqueda. Así. Y el color de fondo será hashtag. Uno por uno, d pequeño a seis. Así. Entonces tendré otro div. Ese apellido serán tendencias que sólo me voy a dar un rubro préstamos. Y ahora simplemente pasaré por el remolino así. Y regresaré aquí. Dave. Nombre de la clase, tendencia. Al hacer clic. Simplemente escribiré window dot open, E dot link como este. Y dentro de este div habrá imagen E dot simplemente. Será imagen e dot. Nombre de la clase, imagen de tendencia. Lo peinaremos justo después de algún tiempo. Y luego otro div con ese texto que es tendencia. Siguiente. Aquí saldrá texto e dot como este. Eso es todo. Ahora, se verá horrible si no hacemos esa porción de estilismo. Así que vamos a escribir estilo de barra que se lee por punto css. En primer lugar, me quedaré en el contenido de ocho barras agregando unify Fix cell con 80 por ciento. Entonces tendencias oscuras. Color de fondo, azteca para ser 34. Luego border-radio de cinco pixeles. Entonces altura mínima, supongo, ¿tenemos h menos 200 píxeles? Máximo, nominal de 90 píxeles. Margen, punta superior, axila. Al agregar los pixeles. Peso de fuente, negrita, tamaño de fuente, 18 píxeles, desbordamiento. Y entonces voy a estilo tendencia. Esta tendencia. Simplemente exhiba flex. Justificar contenidos. Empezar. Alinear elementos. Centro. Brecha entre el margen de píxel, 15 píxeles superiores. Acolchado, diez pixeles. Después de eso, voy a tener algún efecto hover. Puntero y color de fondo. Cuando rondaba, ¿deberíamos los aztecas? Ver 353 e. entonces imagen de marca. Tú lo hiciste rojo. Y píxel rojo, borde, radio, celda grande. Y por último, a continuación, un tamaño de 15 pixeles. Peso de la fuente, normal. Ahora, guarda todo el código. Deja que se compila. Y ver que solo ves que se ve bien. Creo que el bonsái no se ve bien. A ver. Tenemos un error ortográfico aquí. Tendencia. Ver. Ahora el tamaño de la fuente también es descendiente. Tenemos aquí, estos y todo. Por lo que voy a comprobar y acolchado. Entonces aquí tenemos el contenido adecuado. A ver. Está bien. ¿ Y si hago 90 por ciento? ¿ De acuerdo? Al agregar d, tenemos esto más profundo enviado. ¿ De acuerdo? Luego tendencias, color de fondo, radio de borde, altura mínima, tasa máxima. Si aumento el ancho máximo, nada cambia. Margen, en la parte superior de la talla. Esto, entonces tenemos tendencia, justificar contenido, margen central, top 15% sumando 10%, Veamos cómo se ve. Sólo algunos problemas con este lado. Simplemente siento que si no lo logramos debería estar en una línea como esta y todas. La imagen en la app dot css. ¿ Por qué aquí? De acuerdo, ahora mismo se ve bien. Si quiero cambiar algo, lo haré en el siguiente video. Gracias. 15. Trabajemos en la página de inicio: Hola, bienvenidos de nuevo. En este video trabajaremos en la página principal. Pero antes de seguir adelante, solo quiero hacer un pequeño cambio aquí en la app dot CSS ahí, sección de bus derecha, solo voy a cambiar el ancho de 45 aquí, el 55, eso es todo. Por lo que ahora nuestra aplicación se ve decente competitivamente a antes de que tenga la distancia adecuada y todo. Y además, necesitamos algunas imágenes ficticias. Tengo estas imágenes aquí. Si lo deseas, puedes simplemente Google avatar o cualquier imagen de fondo. Si quieres. Utilízalo solo con el propósito de crear la interfaz de usuario. En fin, se cambiará más adelante. Así que crea un nuevo archivo dentro del directorio fuente y asígele un nombre. Imágenes por defecto dot js. Entonces simplemente escribe export. Const. Por defecto. Las imágenes es igual a n aquí. Simplemente pega esas dos imágenes. Este solo cualquier imagen de avatar al azar. Y este se utiliza para ser utilizado como banner para la sección de perfil. Así. Y guárdalo. De acuerdo. Ahora ve a páginas y en el archivo home dot js. Ahora empecemos a escribir algún código. Entrada desde web. Tres iconos del kit de interfaz de usuario son el núcleo, no, no el código de paso diagonal. Si lo desea, puede ir a revisar el kit de interfaz de usuario Web three y ¿cuáles son los elementos de interfaz de usuario que proporcionan? Y en segundo lugar, voy a importar imagen con tres iconos de interfaz de usuario. Y por último, importaré imágenes por defecto. Imágenes predeterminadas aquí. Ahora como no voy a estar requiriendo ninguno de estos, estos son solo datos ficticios. También eliminaré ese huevo de enlace también. Y empezar, creo desde cero, voy a tener un desarrollo. Y le daremos un nombre de clase, contenido principal. Entonces tendré otro Dave. Nunca creceré de cinco a ocho. Entonces tendré otra sección como esta. Y aquí usaré el elemento avatar del kit Web three UI. Y simplemente voy a estar por ahí muerta, entonces la imagen será, este momento será por defecto. Esta que es por defecto, imágenes en posición 0 en tamaño de imagen 60, así. Entonces tendré un área de texto. Etiqueta. Eso ahorita no estoy planeando nada. Sí. Placa de nombre. A continuación, área, titular del arrendamiento, igual a lo que está pasando. Y el nombre de cristal será texto, área como esta. Entonces tendré a este Dave. Y después de este div tendrá una dirección. Dave. Y le daré el mismo nombre de clase que es sección de tuits. En su interior. Tendré Dave, Este tiene ClassName image div. Entonces usaré el elemento Imagen de imagen obteniendo de los íconos en tamaño será 25. Así. Después de eso hiciste Steve, voy a tener simplemente otro div. Escribiré el peso y el nombre de la clase será para comer. Después del estilismo, lo sabrás, entenderás todas menos secciones justo el momento justo de conseguir el aborto SDM. Después de este div. Aquí. Voy a tener voy a tener simplemente sección neta, la sección de alimentación. Y aquí tendremos la sección de frutas. Tendré la sección de frutas que decía, ok, ahora vamos al home dot CSS. Hagamos un poco de estilismo. Comience con el área de texto. El cinco por ciento coloreó el capital, luego de fondo, transparente. Borde, dos pixeles. Entonces border-radio. Conservar Excel. Entonces altura mínima. Y píxel rojo al agregar 15 celdas grandes. Desbordarlo. Y entonces tendré peso. Un píxel inferior, RGB sólido, 63363. Y acolchado. Estamos en el pixel. Entonces tengo esa sección de tuits. Pantalla. Flex. Justificar el espacio de contenido entre espera, 95 por ciento. Alinear elementos, centro, margen, top ten pixel. Entonces me quedaré llevado a ello. Clase. Color de fondo. Para siete, E5. Después escoge celda y 20 pixel, border-radius, mil pixeles blanco. Entonces martillamos. Entonces imagen, tienen radio de frontera 50 por ciento. Agregando entonces pixel. Margen a la izquierda, representa al vendedor. Y luego agregaré imagen div hover, Curtis, aglutinante, fondo, color. Hazlo, hazlo así. Simplemente lo guardaré todo. Y vamos a ver. En el app.js, tenemos la sección Home. De acuerdo. No está en la configuración. Por eso. Vayamos a casa a ver. Se ve bonito. Ahora lo único es el área de texto. A ver. qué pasa con el área de texto. Simplemente comprobarán CSS. Tenemos borde lateral, muerto ADS, lectura de altura mínima es el desbordamiento oculto. Entonces realmente voy y reviso esto. Ahora está funcionando. Yo no he hecho nada. Simplemente elimino ese código y simplemente escribo lo mismo. Nuevamente. Es como el nombre de la clase textarea, apellido, éste, y hasta marcador de posición, ¿qué está pasando? Eso es todo. Ahora estamos en condiciones de escribir aquí, está funcionando. Lo siguiente en lo que me gustaría trabajar es en esta sección de imagen. Es así como seleccionar una imagen del directorio del usuario. Simplemente importaré de React. Usted indica, usa, ref. Estos dos. Entonces después de algunas variables aquí es decir, archivo de entrada es igual a usar RAF noche. A continuación, const imagen seleccionada, conjunto, imagen seleccionada. Utilizan datos. Entonces requeriría otro texto const. Ese texto va a usar fecha y cadena vacía. Después crearé una función, nombra en imagen, click, archivo de entrada, punto, actual, punto, clic. Y entonces tendré cambio. Manipulador. Evento. Const. El archivo de imagen es igual a los archivos de punto punto de evento 0. Entonces voy a establecer imagen seleccionada objeto URL deimagen seleccionada, archivo de imagen URL como este. Después de eso, simplemente. Pasaremos al área de texto. Sí. Y escribiré su propio método OnChange, que simplemente establecerá texto a lo que sea que se esté escribiendo aquí. E punto, punto, valor de punto, así. ¿De acuerdo? Y luego tengo esta imagen, que voy a dar el onclick y simplemente escribir en imagen, click. Desmarque. Después de eso. En el interior de aquí, tendré una etiqueta de entrada, que eran el archivo. El tipo será cinco. Amigos, será archivo de entrada. Y el cambio, será cambio. Y aprender y estilo. Esto es algo que hay que ver. Simplemente voy a mostrar ninguno. No quiero que se muestre esta etiqueta de entrada, elemento de entrada para mostrar. Solo quiero que los usuarios puedan dar click en esa imagen. Y sólo voy a tener una declaración if-else. Si la imagen seleccionada es verdadera, entonces simplemente mostraré huevo de imagen, qué fuente. ancho de imagen seleccionado será de 150. Y si no lo es, entonces mostraré esta etiqueta. Ese es el icono de la imagen. Eso es todo. Guarde toda la carne. Seleccione el archivo y consulte. Ahora soy capaz de seleccionar una imagen. Y si el usuario quiere, puede cambiarlo de nuevo haciendo clic aquí. Eso es todo. completa esa sección de imagen. En el siguiente video trabajaremos en la sección de pies aquí. Gracias. 16. Creación del componente de alimentación: Hola, bienvenidos de nuevo. En este video, trabajaremos en esta sección de feed. Para eso, tenemos que crear un nuevo componente, ir a la carpeta Componentes y crear un nuevo archivo en feed dot js. Y también tener un archivo CSS para ello. El peso en id dot CSS. En intuir sillas de alimentación Archivo. Importar el acto, y también importar el peso en el punto CSS. Vamos esta noche. Podemos explorar los días de cuello recién descubiertos. Ir a home dot js. Y aquí más el archivo de importación de trigo en componente de alimentación. Y simplemente llame al componente aquí así. Y aquí estoy enviando un prop rho phi es igual a falso. Eso significa que no queremos todo lo que se alimenta aquí, no para un perfil en particular. Entonces. Buen archivo IGS. Tengamos algunas importaciones. Tablero, por defecto, imágenes, entonces. Núcleo de importación. Y en negrita, mensaje, círculo, estrella, y iconos mágicos como este. En la declaración de retorno, Vamos a escribir el nombre de la clase Dave para alimentarlo. Tengamos aquí nuestros datos. Es redondeado. La imagen es igual a las imágenes predeterminadas. Estas son sólo algunas imágenes en estos momentos. Imagen de equipo, dicen 60. Entonces vamos a tener otro Dave. Apellido, gouache completo. En primer lugar, Dave es sostener que esto era lo que tendieron a comer y simplemente escribir una máscara de tierra uno ahora. Y luego. Simplemente un conteo como este. Y aquí tengo una cuenta ficticia como esta. Entonces Dave, ClassName, contenido. Bonito. Están aprendiendo de cero. Y mostraré esa imagen. Había alguna fuente de luz. Se caen imágenes por defecto. Y una imagen de LastName. Entonces. Después de días, Dave, tendré el nombre de la clase. El nombre de la clase es el. Generalmente en sus interacciones. Las interacciones tendrán un div. Con LastName. La interacción adormece. Numbs tendrá aquí mensaje círculo, icono, tamaño de fuente 20. Pierna esta copia pesa dos veces. Entonces aquí estará, simplemente escribiré muerto. Y voy a poner magia. Ahora. Tengo estos dos componentes listos ahora es hora de que hagamos esa porción de estilo. Vayamos a leer tuit. Tasa máxima y porcentaje rojo. Borde inferior. RGB de un píxel. Sesenta y tres. Sesenta y tres. Sesenta árbol. Así. Al agregar verde, pixel, color blanco. Justificar contenido, espacio entre pantalla, flex, cursor, puntero. Entonces tuiteamos nuestro color de fondo. Simplemente lo cambiaré a este código hexadecimal uno. C, hazlo. Antes. Entonces aguantaré eso completo. Tweet. Estas banderas. JUSTIFY-CONTENIDO, INICIO. Relajar la acción de red. Columna, brecha. Después escoge celda D9 por ciento. De acuerdo. Entonces realmente tengo en las elecciones, las elecciones mitogen. Entonces píxel. Esta obra de teatro. Lax. Sí, contenido D5, centro, brecha, 150 píxeles. Entonces voy a cambiar esta interacción nums ash, T F T, F, T F. Display, flex. Justificar contenidos, oscuro, brecha, luego píxel. Al agregar píxel, borde, radio. Mil pixeles. Después de eso. Sé que hay mucho estilismo. Si quería, solo puedo darte el archivo, pero solo estoy escribiendo en todas las cosas en el código CSS también. Porque como ustedes también están construyendo esas cosas, es mejor. Lo hacemos desde cero en el 28600. Y alinear elementos. central Pixelcentral. Entonces estaríamos contentos es flex. Contenido justificativo. Empezar. Dirección flexible, columna, hueco, cilindro delgado. Altura máxima a píxeles. Entonces espera. Imagen, espera, 98 por ciento, radio y altura de píxel 90%. Entonces tendré otra clase aquí, cargando la cual utilizaremos más adelante. Me gusta estática, columna, gap, haciendo el pixel lead, ¿verdad? Sé que había mucho código ahora, ahórrate. Iremos a revisar nuestra página de inicio. Aquí hay algún error. A ver qué es un error tonto. Este nombre de clase. Yo lo escribí mal. Yo sólo le daré una pequeña f aquí. Guardar y ver. No todo es perfecto. Tenemos la cuenta aquí, imagen aquí, ese texto. Si el usuario sube alguna imagen, se mostrará aquí correctamente. Se ve muy bonito. Estos son solo íconos ficticios. Esto demuestra que está en la red de polígonos. Tan bonito. Nuestra página de inicio está hecha. Es decir, se completa la IU. En el siguiente video trabajaremos en esta página de perfil. Gracias. 17. Trabajemos en la página de perfil: Hola. En este video trabajaremos en esa página de perfil. Ir al perfil dot js. Y aquí, el mismo de arriba. Vamos a importar algo. En primer lugar, vamos a importar imágenes por defecto, por defecto de imágenes por defecto como esta. Entonces importaré el peso en componente así. De acuerdo, Vamos a eliminar estos enlaces y empezar con activo, no Dave, voy a empezar con una imagen, archivo de apellido por otra fuente. Imágenes uno. Entonces tendremos otro div, F, B Nombre del contenedor. Nos gustaría este perfil. Y así es como una imagen otra vez. Y ahora esta imagen se muestra imagen. Simplemente escribe imágenes de archivo y z, ya sabes, aquí. Después de esto en HD, no acaban de hacer esta imagen rígida de cierre automático. Tener otro div, que será nombre del perfil, hola. Y cartera Raphael. Sólo tienes una entrada aleatoria aquí. Después tendré un enlace el cual enviará al usuario a la página de configuración. El nombre de la clase. Rafael. Bien. Después de este enlace, Vamos a tener otro día de bio más tres, que soy yo. Entonces vamos a tener y voy a tener un perfil, aplicaciones web. Y dentro de ella solo tendré una lengüeta de mis pesos. Entonces al final, tendré que esperar en fade. Componente. Ancho. El perfil es igual a verdadero. Así. Ahora, obviamente se verá, no se verá bien. Tengo que hacer el estilo para ir al perfil punto CSS aquí, y vamos a hacer ese estilo. Todo. Aquí es sobre el estilismo. Por lo que el porcentaje de peso, el peso máximo por ciento. Altura a estar haciendo celular típico, cheque, cubierta. Y b, f, b, contenedor. Tasa máxima y porcentaje de plomo. Pantalla. Flex. Contenido D5, inicio. Dirección flexible. Columna. Parte inferior. Un píxel. Sólido, RGB, 63. Así. Archivo, VFB. Con Excel. Radio. Más profundo, envió una táctica píxel por píxel, sólido. Uno por un día a seis. Relativo menos 65 píxeles. Izquierda. Representa. Después haz el estilo del archivo. Nombre. Blanco. Lesión relativa menos 55 píxeles. Izquierda. El pixel, tamaño. Punta Excel. Encuentra el peso. Después de eso. Sé que hay mucho estilismo por hacer. Cartera de archivo áspera. No sé que tengamos lo rentable, ¿verdad? Sí. Esta. Color RGB. ¿ Cuándo, cuándo? ¿Cuándo, cuándo es para cuándo, cuándo? Cuando, cuando para ti Shen pariente. Entonces menos 50 píxeles. Pixel izquierdo. Tamaño de fuente 14 pixeles. Entonces cosas de Jane, algo así como bio. Aprende la luz. Bueno no deberías menos relativo para el píxel. Izquierda, lo que el tamaño de píxel, 16 pixeles. Peso de la fuente, 500 dólares, o sólo se aplican cuando las luces correctas. Entonces he fallado. Y su sección, como para la eliminación, relativa menos 1 16º píxel, izquierda, 50 píxeles. Tamaño, 16 píxeles. Peso de la fuente 0.5 pixel. Blanco sólido. Espera. Y pixel rojo, centro de contenido justificado. Esto deja banderas. Entonces archivo crudo en él. Ir al cern. Puntero. Refinar. Aplicaciones. Mostrar flex, justificar contenido centrado, blanco, negrita. Y por último, Perfil. Tab. Parte inferior. Entonces píxel, borde. Abajo, dos pixeles. Sólido. Uno, mayúscula a, mayúscula F. Do. Sé que había mucho CSS en este archivo. Ahora, guárdalo. Y veamos cómo se ve nuestra pantalla de perfil. Ahora. Creo que he cometido algún error aquí porque aprendo así que no estaba ahí. A ver. Refinar. Este fue el error. Guárdalo. Mira que la página de perfil se ve tan bonita. Sé aquí que imagen binaria y esta imagen es la misma porque sólo estamos usando a los mediadores. Posteriormente. Las imágenes serán diferentes, pero supongo que se ve muy hermosa. Nuestra página de inicio y página de perfil está hecha. Lo único que queda es la página de ajustes, que haremos en el siguiente video. Gracias. 18. Trabajaremos en la página de ajustes: Hola. En este video trabajaremos en nuestra página de configuración. Ir a settings.js. Comencemos nuestro trabajo aquí. En primer lugar, eliminaré todas estas longitudes. Entonces voy a importar entrada así como subir. Lo que estoy ahí fueron tres códigos UI. Y usaré estado de uso de React. Ya que esto implicará expedientes y todo. Por lo que voy a crear algunas variables son estados. Primero seremos file, file set, file file llamado para usar fecha como esta. Luego rebotó archivo, set, archivo banner. Utilizan estado. Entonces const nombre. Setname es algo bueno. Fecha de uso. Entonces const bio. Set bio. Para usar estado como este. Entonces tendré dos funciones. Equilibrado. Banner es el evento. Si evento no es igual a nulo. Mismo lugar establecido por ahora archivo. Ese evento. Y el segundo será const file handler. ¿ Se va a hacer evento? Lo mismo. Si evento no es igual a nulo? Entonces ese archivo en bruto. ¿ Deberíamos evento como este? Entonces trabajemos aquí. Esa es la devolución, una declaración de retorno donde Dave, LastName, página de configuración. En primer lugar será la entrada, etiqueta, nombre, nombre, cambio de nombre, tasa y porcentaje de lectura etiquetado por color del suelo. Hashtag uno. Para uno. El 26. Un onchange se establecerá simplemente nombre, valor objetivo. Así. El segundo campo de entrada se llamará bio. Nombre, bio cambio. Y liderar se establecerá bio. Entonces tendré el apellido, PFP, que cambio mi imagen. Voy a usar ese componente brillante o se puede decir, esto nos lo dan ellos en tres UI kit. Y utilizaré Profile handler aquí. Y de igual manera, habré tenido cambio. Imagen binaria. Y aquí se le prohibirá ese manejador. Y por último, tendré el botón Guardar el cual editaré en el CSS. Ir a Settings dot archivo CSS. Digamos página Configuración. Al agregar 1880 píxeles. Flex de pantalla. La dirección de flexión será la brecha de columna. El píxel. Entonces me quedaré con éste. Velar y apilar 6878. El acolchado a la izquierda. Y usaré el CSS para guardar el color de fondo. Una D, A1, F hacer que la lectura será entonces píxel y punta del ala, axila, radio de borde. Después blanco. En peso seis y rojo. Rojo y rojo por ciento. Flex de pantalla. Justificar el centro de contenidos. Entonces a eso sin embargo, sólo voy a decir Kolkata es carceral debe señalarse. Vamos a ahorrar y vamos a ver. Mira nuestra página. Se ve decente. También se realiza la página de configuración del perfil. Tenemos todas nuestras páginas listas. Así que antes de terminar este video, último me gustaría crear una pantalla de inicio de sesión básica para el usuario, porque obviamente el usuario tiene que autenticarse antes de que vaya a esta pantalla de inicio. Hasta ahora que van al archivo app.js. Aquí. En lo más alto. Voy a importar botón. Tres código de interfaz de usuario, así es importante semana y se reunió el icono de la máscara de tres iconos de interfaz de usuario. Ahora aquí me gustaría tener algún estado y espero que lo hayamos usado. No, no tenemos que te quedaste aquí. Entonces solo hay que usar un const. Es nuestra decaimiento diez muertos es diez cerrada. Utilizan los archivos en el primer valor me gustaría tener es falso. Retorno. Sólo voy a tener una declaración if else. Iv, la autenticación es verdadera. Entonces mostraré este div nuestro. Si la autenticación es verdadera, cada show es el flujo de horas aquí. Y si no, entonces mostraré esta pantalla, que será Dave LastName. Ahora página de inicio de sesión. Así. Entonces tendré que decir logo encendido diga D. Y voy a tener un botón. Tendré un botón aquí ahora, que desbloqueará. Simplemente no hará nada. Tamaño X L, X dos. Cuando iniciemos sesión con MetaMask, equipo, icono principal será esta máscara. me puede gustar. N en la app dot CSS, tenemos esta página de inicio de sesión. Css, como se puede ver. Como sólo diré, bueno, si voy a mi página web y si refresco, está compilando, vamos a ver si está ahí en el editor. De acuerdo, mira, nuestra pantalla de inicio de sesión también se ve muy bonita. Es muy básico, pero hace nuestro trabajo. Eso es todo por este video. Espero que hayas aprendido mucho. En el siguiente video, trabajaremos en esas funcionalidades como iniciar sesión con mi máscara. Entonces eventualmente obtendremos datos de nuestra blockchain usando un test.js. Así que solo manténganse atentos y sigan aprendiendo. Gracias. 19. Autenticar al usuario con Metamask: Hola, bienvenidos de nuevo. En este video, autenticaremos la semana del usuario MetaMask. Antes teníamos esta pantalla de inicio de sesión. Ahora es el momento de escribir la funcionalidad. Así que vamos a la aplicación dot JS file. Aquí, me aseguraré lo importantes que son todas las dependencias. Lo primero que necesitaría es efecto usado. Entonces lo he hecho desde un núcleo requerirá notificación usada así como carga rígida. Entonces tengo esto, simplemente puedo rotar. Y después de eso, importaré éteres y Utils de comedores. Esto lo requerimos. Entonces requeriré modelo de árbol web. A partir del modelo de árbol web. Después de eso, requeriremos fuente, Drag, dirección. Rom. Puede enloquentar a phi prime aquí. Después de eso vamos a requerir ABA, carpeta ABA, luego haga clic en ese punto Jason. Y por último, exigir nuestra dependencia. Simplemente me sentaré Como requieres y luego sintonizaré nuestro Todd. Estas son las dependencias. Y creo que tenemos la caricatura. Está nuestro dy instalado ya. A ver, todo está bien ahora algún error está ahí, está compilando. Supongo que todo está bien, está bien. Ahora, necesitamos algunas variables de estado. Al igual que lo haremos, requeriremos este conjunto de datos. El proveedor es un estado fresco de usar y tendremos ventana dot it tedio como la primera fecha. Después de eso, requeriremos la biblioteca de notificaciones del kit Web three UI. Y luego tenemos un estado sólo para mostrar si eso está consiguiendo está cargando no están establecidos. Estado de carga está dispuesto a usarlo. Y lo primero que leemos archivos. Ahora, para leer sobre las notificaciones, puedes ir al sitio web de tres UI Kit, sitio web oficial y ver cómo usar estas notificaciones y todo. Sólo tendré una función de notificación de advertencia. Vacaciones es igual a como esto. Simplemente dirá que no haya defecación. Esa es ésta. Simplemente tendrá esto. Y dentro de ella, tenemos que enviar algunos parámetros como tipo, advertencia, mensaje, cambio, red. ¿ Quién polígono para visitar este sitio? Después de eso, voy a tener que simplemente cambiar a red de polígonos. Y después de eso tendré simplemente la posición de la notificación en la parte superior derecha. Así. Eso es todo. Es así como mostramos una notificación. De acuerdo. Lo mismo, requeriremos otra tendremos otra notificación la cual se conocerá como notificación de información. Tipo estará en su totalidad. Se aceptará y número de cuenta. En ese mensaje simplemente se mostrará el número de cuenta. Y aquí escribiremos que cuento conectado a cuenta de polígono. Es decir, si el usuario cambia Es cuenta de polígono, entonces también mostraremos una notificación porque ese usuario no puede usar otra red como trimestral o Rob Stone y todo. Pero definitivamente puede cambiar cuentas en el polígono Wallach. Eso es todo. Ahora, empecemos a escribir esa función. Voy a ponerle un nombre, conectar, cartera, hundirse, así. Ahora vamos a requerir el modelo Web tres para ello. Simplemente escribiré Web tres en 70, escaparé de ella. El modelo de árbol pequeño es igual al nuevo modelo. Entonces necesitamos conexión igual a esperar model.fit connect. Después de eso, tendremos el proveedor de Cloud es igual a nuevos comedores, que proveedores, Dodd Web tres proveedor. Y vamos a mandar esa conexión aquí así. Después de eso, obtendré la red que es qué red está conectada. Debido a que sólo en la red de polígonos hace sitio se abrirá. Espera proveedor punto obtener red como esta. Y sabemos que para una cadena de polígonos iGA1, id es igual a 80001. Esta es una idea de cadena de una red de polígonos. Ahora tendré una cláusula if else. Si obtener red dot jane ID, no es igual a la idea de cadena de polígonos si no se equipara. Entonces antes que nada, mostraré una notificación de advertencia. Tarde. Voy a hacer agregar nuestro interruptor. Entonces red. A lo que me refiero con eso, sólo voy al extremo. Seleccionémoslo hacia abajo. Entonces simplemente esta otra cosa. Se ejecutará si cadena de polígonos está conectada. ¿De acuerdo? Y ahora trabajaremos en este intento. Simplemente escribiré esperar proveedor, proveedor que la solicitud. Entonces lo que voy a pedir, solicitaré que mi Ted deje que lleve cadena media. Eso es si está conectado a otra cosa que sea piadosa o lo que sea la red entre conmutar la red. Y paradigmas. Paradigmas, escribiremos cadena ID. Utils, valor hexagonal de punto. Simplemente enviará el id del polígono Y aquí, si es exitoso, entonces simplemente te recargaremos, eso es la ubicación de la ventana, no recargaremos así. Y este código de sumador indica que esa cadena no se ha agregado a mis daños. Es decir que el usuario no tiene esa cadena. ¿ De acuerdo? Pero definitivamente hay que sumar esa cadena. Esa es la red de prueba de polígonos a los usuarios Máscara de materia. Solo estamos tratando de que su sitio web esté tan lleno de funcionalidades. ¿De acuerdo? Ahora, eso significa que lo haremos y red de polígonos. Tú. Papá, máscara de mi papá. De acuerdo. Ahora vamos a comprobar si código de punto de switch es igual a 4902. En ese caso, simplemente seca. Sí, yo solo agregaría que editar es mientras estamos agregando ahí, se tiró. De acuerdo. Y aquí sólo intentaré agregar la cuenta. Lo siento hizo eso en el proveedor de blockchain, ese método de solicitud se llama billetera. Añadir. Es tedio. Patrones en profundidad. Tendremos de todo. Eso es. Jane ID será utils, ese valor x. Tenemos que escribir idea de cadena poligonal de línea aérea nombre de cadena ligera polígono neto. Entonces RPC URL's. Simplemente tiene un RPC. O si puedes cambiar el PC, estás listo con solo buscarlo en Google. Si, si esta URL no funciona, Mumbai dot chain, stack, labs.com, block x low URLs, HTTP y HTTPS. Escaneo de polígonos de Mumbai. Es realmente Mumbai, Mumbai dot polygon scan.com. Y entonces tendré jardín nativo. Ver. Yo tendré la moneda nativa. Aquí. Tenemos que enviar. Símbolo, magia y decimales 180 k. y aquí simplemente lo tendré. Entonces eso es un peso. Y después de esto se hace, simplemente la ventana de carga punto ubicación, punto recarga, así. Entonces aquí estamos sumando la cadena del estadio, esa es la cadena de polígonos si el usuario no la tiene ya. Y en el anterior simplemente estamos agregando, cambiando esa cadena. Es decir, si el usuario tiene, si el usuario está utilizando otra cadena, entonces aquí simplemente la cambiará. Espero que no haya error. Todo funcionará. De acuerdo. Y ahora tenemos que trabajar en esta sección L. Se ejecutará si cadena de polígonos está conectada con el MetaMask. Entonces lo que vamos a hacer aquí es verificaremos si el usuario existe no lo son. En nuestro blockchain. Actualizaremos los datos del usuario en nuestro contrato , así como el almacenamiento local. Lo que quiero decir con esto es que utilizaremos el almacenamiento local aquí también. Entonces, en primer lugar, lo que voy a hacer es que me sacaré el registro de escritorio de que siempre y cuando este siempre que consiga firmante como este. Entonces conseguiré este letrero de que me visto, firmante punto get y vestido así. Entonces conseguiré ese contrato. Instancia del contrato, este nuevo contrato, este contrato C tendrá capital así. N aquí, lo que voy a enviar su dirección de contrato de Twitter. Entonces Twitter ABI punto aba. Y finalmente el firmante, así. Y aquí voy a llamar al get user detail fund Chen, eso es GetUser esperar. En pista. Obtener usuario. Si acudes al contrato inteligente que esta solidez uno, verás este método que es getUser, donde está aceptando dirección. Entonces ahora lo que estamos haciendo es comprobar si ese usuario es un nuevo usuario o ya se ha autenticado antes. Eso es todo. ¿ Eso es lo que añadimos? Deuda. Entonces lo que estamos validando el aquí simplemente obtendremos detalle del usuario. Si existe valor de imagen de perfil. Es decir, si existe usuario están aquí, simplemente vamos a obtener un usuario por primera vez y, um, y actualizar en el contrato. ¿ De acuerdo? Esto lo tenemos que hacer. Y después de hacer esto como que está aquí, simplemente tenemos que leer set provider con su valor de proveedor. Y set es nuestro 10º billete a verdadero. Y esta función o esta declaración if-else la escribiremos en el siguiente video. Sé que había mucho que hacer en este video, este video siempre. Pero como ves, este video fue nuestro video más importante en nuestra sección. Gracias. Continuemos en el siguiente video. 20. Verifica si el usuario ya existe: Bienvenido de nuevo. Continuemos con nuestra función connect vallate aquí. En primer lugar, basta con hacer este pequeño cambio IMG que es imagen de perfil. Y si el usuario ya existe, entonces simplemente configuraré que volqué en ese almacenamiento local por el nombre lo primero escribiré cuenta activa como esta. Y le reenvié a Jason dot stringify. Y aquí renunciará a su domicilio, pero simplemente volveré a copiar esto. Y aquí estará, esto será sine en vestirse así. Entonces solo lo estoy almacenando en el navegador del usuario. Es el nombre de su cuenta. Entonces, entonces escribiré, nombre de usuario, estaré aquí, detalle getUser, y vendrá en formato JSON y simplemente escribiré nombre. Y de igual manera copiaré y pegaré. En segundo lugar será la bio del usuario. Será bio, entonces será imagen de usuario. Y el siguiente será banner de usuario. Y aquí cambiarlo a imagen de perfil. Y el segundo será perfil, así. ¿De acuerdo? Entonces esto sucederá si el usuario existe y después de eso, establecerá eso, proveerá eso y establecerá estos autenticados en true. De lo contrario, si el usuario es un usuario por primera vez. Ahora aquí, primero escribiremos conjunto estado de carga es igual a true. Entonces simplemente escribiré LED está de acuerdo para afinar nuestro punto de alquitrán, generar nuestro neumático así. Por lo que voy a tener un banner por defecto aquí. Utilizaré el predeterminado por ahora de las imágenes por defecto. Entonces tengo esta. Lo usaré como banner por defecto. ¿ De acuerdo? Entonces de igual manera, aquí haré lo mismo. Conjunto que almacenamiento local. Por lo que el nombre de usuario estará vacío ya que se trata de un nuevo usuario. Por lo que el nombre de usuario estará vacío. biografía del usuario estará vacía. Ya que el usuario actualizará la biografía más adelante. Imagen de usuario será nuestro Todd. Esta. Sólo un avatar aleatorio. Y el binario de usuario será éste, banner predeterminado como este. Entonces aquí espero que lo hayan entendido hasta aquí. Después de eso, simplemente intentaré tener ese bloque de captura como este. En ese seco, simplemente escribiré const transacción es igual a una tarifa contrato punto actualización usuario. Ahora, tenemos que enviar pocas cosas, nombre de usuario, bio de usuario, perfil, foto y banner como este. Entonces lo haré de inmediato transacción, peso de datos de transacción como este. De acuerdo. Y si hay algún error, primer lugar escribiré console.log sumador. Sólo para propósitos de depuración. Y el usuario no tiene magia en su cuenta. Sólo para ese propósito, mostraré un mensaje de advertencia tipo notificación. Consigue el mejor polígono RAM magnético o un conjunto. Entonces obviamente para esta transacción que es actualizar transacción de usuario, necesitaremos algún tipo de tokens somáticos porque hay gas y todos estos están involucrados aquí. Requerir un mínimo de 0.1 med tech. Esto se requiere para ver en nuestra página web. Y partición. Arriba a la derecha. Así. Después de esta regla de multiplicación, establezca el estado de carga en falso. Y de aquí simplemente regresaré. Entonces este era el bloque else. Es decir, si el usuario es un usuario por primera vez, entonces tenemos el avatar predeterminado, cual será generado aleatoriamente. Por lo que obviamente, cada usuario tendrá su propio avatar. Y más banner predeterminado. No he elegido ninguna otra biblioteca. Tengo simplemente imagen ficticia. Ahora, es hora de que realmente se haga la porción HTML. Entonces aquí tenemos división lateral autenticada es su ventana principal, o k Ahora en la página de inicio de sesión, tenemos esto. Entonces imagen de Twitter. Ahora aquí tendré esta carga. Si y de lo contrario se está cargando. Entonces mostraré una carga rígida. Mismo tamaño de lugar, 50, spinner color verde. Y como voy a mostrar esto, pero hecho. De acuerdo. En esto, pero luego simplemente conectará cartera. Y aparte de eso, tenemos XL. Aquí todo está bien. Guárdalo. Veamos nuestra página web. Espero que todo esté bien aquí. Ahora, lo que voy a hacer es activar esa función de billetera usando el gancho de efecto de Estados Unidos. Aquí. Utilizaré efecto como este. Debe activarse cuando se carga la página. Ahora archivo FASTA, lo que voy a hacer es simplemente escribir si ese proveedor no está ahí, es decir. No hay My Thomas instalado. Simplemente escribiré alerta de punto de ventana. No. Mi máscara instalada así. Y asimilaré window.location dot reemplazar HTTPS. Mask.io irá a la página oficial. Y si no, entonces simplemente llamaré a la función de conectar billetera. Y también voy a tener estos métodos se proporcionan que este proveedor punto en. Lo primero serán las cuentas cambiadas. Habrá un asa de llamada a función en los vestidos cambiados. Entonces habré cambiado. Por lo que tendremos una función llamada manejar gen cambiado. Entonces simplemente escribiré esta conexión. Y simplemente manejará la función más pesada llamada manejar esta conexión. Vamos a crear estas funciones y eliminar cuentas cambiadas. Nos dará cuentas. Aquí. Haré un chequeo. Si proveedor dot chain id es igual a ID de cadena demótica, es decir, este es el identificador de la cadena mitótica. entonces mostraré adentro para notificación y simplemente enviaré cuentas 0, esa es la cuenta número. Por lo que mostrará en la página web qué cuenta se ha elegido. El segundo. Después de eso, quiero que se recargue obviamente. Pero hubo algunos temas. Así que solo para evitar recargar dos veces por primera vez, estoy usando esta declaración if. De lo contrario no era necesario. Pero puedes intentarlo sin esta declaración if. Y verás que ese sitio web se cargó dos veces y estaba pidiendo lo que dices. Esa transacción varias veces para la misma transacción. Por lo que quiero apenas hoy obtener artículo cuenta activa aquí. Si no es igual a nulo. Establecemos tiempo de espera. Simplemente. Escribiré locación de ventana dot reload. Y debería recargarse dentro de los árboles. Eso puede. Sólo lo estoy diciendo otra vez. Puedes probarlo sin esta afirmación, pero se recargará dos veces. Entonces. Ahora tendré otra función llamada cadena cambiada. Entonces aquí tenemos la identificación de la cadena. Entonces si Shane ID no es igual a nuestra mágica, entonces tendremos una notificación de advertencia. Y vamos a simplemente ventana dot, ubicación, recarga de punto. Y por último, como ahora no estoy haciendo nada. En este comunicado. Aquí. Si quieres, puedes hacerlo, haz lo que quieras. Entonces aquí tenemos todo listo. Ahora es el momento de probarlo y hacer, solo recuerda, ya lo he probado. Así que podría tener algún tipo de sesiones o locales en nuestro almacenamiento local anterior. Entonces, antes que nada, estoy tratando de asegurarme de que no haya ninguna cuenta adherida a ella. Creo que no hay cuenta. De acuerdo. Porque activará esta función. De acuerdo, para las pruebas. Vayamos a alguna otra identificación de cadena y sólo te lo mostraremos. Voy a ir temprano a probar la red, ¿de acuerdo? Ahora, si guardo todo, a ver eso primero. Es pedir, Ok, conectar con mi thomas. Diré a continuación. Conéctate. Entonces nos está pidiendo que les adaptemos a su red de prueba de polígonos. Voy a ir y simplemente cambiarlo. Ahora se está cargando, y ahora nos está pidiendo que hagamos esa transacción para actualizar al usuario. Estoy confirmando. Ahora vamos a ver qué pasa. Haz aquí. Tener cualquier editor o todo está bien. Podría llevar algún tiempo. ver, ahora nos envían a la pantalla. Y si lo refresco , A ver qué pasa. Ver nueve enviados directamente a la pantalla de inicio porque esta cuenta ya está siendo conectada. Consulta aquí, esta cuenta está conectada aquí. Y si voy a dirección de contrato y lo recargo, ver tengo esta transacción hace 31 segundos para actualizar al usuario. Ahora se actualiza con éxito. Nuestra parte de autenticación es exitosa. En el siguiente video, escribiremos la funcionalidad para agregar un juguete por este usuario. Gracias. 21. Configuración de Web3 Storage IPFS: Hola. En este video, trabajaremos en la porción de almacenamiento de Tao Te. Es decir, tenemos que habilitar algún tipo de IPFS para asegurarnos de que el usuario pueda subir imágenes también aparte del texto. Por lo que hay múltiples proveedores de almacenamiento IPFS. Una es piñata, la segunda que voy a estar usando es tres de almacenamiento. Si simplemente vas a la página web también. Ver, este es el sitio web oficial, web de almacenamiento de tres puntos. Estamos aquí buscando almacenar archivos. Si desea almacenar LFT, entonces también hay almacenamiento de puntos NFT. Por lo que si lo desea, puede leer la documentación. Yo sólo voy a iniciar sesión. Entonces ahora estoy iniciando sesión en mi cuenta. Mira, este es el tablero. Aquí. Tengo que conseguir una nueva clave token. Obviamente ya hay muchos archivos en mi almacenamiento, pero debes ir a tokens API y crear un nuevo token. Lo llamaré API de Twitter. Y simplemente creado. Después de eso, solo copiado, asegúrate de no compartir esta clave token con nadie más. Definitivamente lo borraré más adelante. Simplemente en ese archivo config dot js aquí, ¿verdad? Exportación. Const tres almacenamiento. Api es igual a y pega la clave aquí. A continuación, vaya al archivo home dot js aquí. Y ahora importa pocas cosas. En la Web tres código UI. Me gustaría imponer notificación de carga y uso. Después de eso. Después de eso, tenemos que esperar en alimentación. Entonces importaré éteres. Éteres, pero de la biblioteca Ethernet, no de cabeza dura. A continuación, importe el modelo de árbol de la web al modelo. Entonces voy a importar estos dos expedientes, que es una dirección de contrato. Y esta, nuestra API de almacenamiento de nivel web. De config. Entonces importaré ABA, ABA slash return json. Y por último importaré las golosinas de laboratorio dicha edad a partir de los 18 años. Um, hemos instalado almacenamiento de árbol web o no. A ver. No me acuerdo. Dots door age, supongo. No hemos instalado el almacenamiento web two dots. Veamos tres puntos. Para enfurecer npm. Tenemos que instalar esto. Simplemente. Ve. Y PM con estilo. El almacenamiento de puntos en T. Después de una instalación exitosa, nuevamente, npm start. Y aquí tenemos esta web t dot storage instalado. ¿De acuerdo? Ahora tenemos este archivo de entrada, la imagen de lactato. Entonces después de eso tendré pocas cosas. Empecemos con const. Usa esa imagen. ¿ Es bueno JSON dot parse, almacenamiento local, punto get item. Así que simplemente estoy obteniendo la imagen del usuario del almacenamiento local como cuando, cuando estábamos autenticando, tuvimos un azar a lo largo del tiempo. ¿ Verdad? Entonces estamos usando eso. Lo estamos obteniendo del almacén local. Después hemos ido archivo seleccionado, archivo seleccionado para usar estado. Entonces tenemos el estado de carga. Carga, set. Subiendo, perdón por no cargar, se está subiendo. Para usar la pausa. Entonces tenemos una URL cargada de BFS vacía. Y por último, hemos hecho notificación es usar notificación. Estas son todas las que, estas son todas las cosas que se requieren. Entonces tendremos una función sinc para almacenar el archivo en nuestro IPFS. Vamos a anotarlo. Puede obtener esos métodos en la documentación así como en el almacenamiento del árbol web si tiene alguna confusión aquí. Simplemente ese cliente const es igual al nuevo almacenamiento web taste. Entonces. También lo puede hacer la API de almacenamiento en árbol. Entonces const root CAD es igual a esperar. Ciegos. Votar. Bien, así. Y por último, voy a tener IPFS URL es igual a esto. Esto está por encima de la pestaña. Botón Tab. Al igual que https slash signo de dólar, raíces CAD punto b, fs de web dot link que slash dollar. Archivo seleccionado. Nombre. Así. Esta era una función para almacenar el archivo sólo esta cantidad. Entonces tenemos click de imagen, Ok, y luego tenemos manejador de cambios. Costo. Archivo de imagen va a archivo de destino, a continuación, establecer la imagen seleccionada. Tenemos esto. Y luego establecer el archivo seleccionado. Evento punto objetivo, encuentra. Eso es todo. Ahorra en. Espero que no haya ningún tema. Entonces en este video, acabamos de trabajar en las funciones de IPFS y todo. En el siguiente video, escribiremos la funcionalidad completa para agregarla. Gracias. 22. Función para agregar un Tweet: Hola. En este video vamos a anotar Panchen para agregarlo. Entonces simplemente, vamos a crear una nueva función cuando Chen y yo la llamemos, agréguela. Entonces, antes que nada, tendré una declaración if else. Si tweet texto dot dream es menos de cinco, entonces tendremos una notificación mostrando una delegación de advertencia. Ese mensaje será mínimo, cinco. dosis Se requerirá dosis. Judíos y erguidos. Y aquí simplemente regresaré. Es decir, no quiero que se ejecuten las otras funciones. Si este no es el caso, simplemente escribiré set uploading. Cierto. Si la imagen está seleccionada, esto, usted ha seleccionado la imagen está ahí. Entonces llamaré a la función de archivo de la tienda. Desde aquí. Es esta función la que nos conseguirá la URL subida de IPFS. Después de eso, simplemente tendré nuestra conexión, es decir Web tres modelo es igual a nuevo modelo. Entonces lo mismo, const, conexión es igual a esperar que los tres puntos se conecten. Contras de altura es igual a nuevo. Prueba que los proveedores Dodd Web tres proveedor. Y enviaré aquí la conexión. Entonces const sine es igual al proveedor que obtiene Signer. Entonces conseguiré el contrato. Ito es el contrato. Contará con la dirección de contrato EVA y cianuro. Entonces tendré que el valor del tweet es igual a 0.01. Contras precio es igual a E punto punto más e valor. Porque si te acuerdas por agregarlo, tenemos que mandar esta magia. Intente. Atrapar, bloquear, Buster más lejos. Hagamos que nuestra transacción sea igual a esperar, contratar y tuitear. Tenemos los enviados a un texto, una URL BFS, y nuestro valor de transacción de precio de esa manera. Y después voy a tener una notificación, ellos éxito. A ello. Y luego con éxito Shen Dao en posición vertical. Después configuraré la imagen seleccionada. Haz otro set. Dos, toma dos conjunto vacío seleccionado. Y finalmente configurar falso contaminante. Y si tenemos una vísera, entonces otra vez, mostraré una notificación. Agregaron. Aquí, escribiré transacción error de transacciónde transacción, mensaje de error. Y después de eso configuramos subir a false así, para que el usuario sepa lo que está pasando. ¿ De acuerdo? Entonces tenemos que devolver el archivo HTML aquí. Vamos a comprobar que todas y cada línea será imagen de usuario. Veamos donde tenemos la imagen del usuario aquí. Y sólo lo haré letra pequeña. Usa esa imagen. Entonces tenemos área de texto. Entonces tenemos cubierta Sadia aquí. El valor será texto y sobre tintes. De acuerdo. Entonces tenemos sección de tweets por Liz, sus amigos onchange mostrar ninguna imagen seleccionada. Espera uno, día, todo está bien. Entonces tenemos esta sección aquí. Al hacer clic. Agrega a ocho divertidos Chen. Y en su interior tendrá una declaración if como si se está subiendo es verdadera, entonces mostraré el indicador de carga como un derecho real, así. Y aquí enviaré subiendo prop también, para que más adelante cuando el usuario agregue nuevo a él, entonces este tweet en componente fluido también refresca eso. Perdón. Nada más. A ver. A ver si hay algún error. Yo no lo creo. ver, tenemos nuestro azar, nuestro tiempo aquí. Entonces eso significa que está funcionando. Entonces solo escribimos, este es mi primer 28. Utilizaré esta imagen. Simplemente le escribiré, digamos que este es el indicador de carga. Ahora comenzará a subir. Después de subir, los llamará Meta mask. Para agregarle eso. Tenemos que dar 0.01 métrico. Estoy confirmando. Obviamente tomará algún tiempo. Tienes que esperar. Ver tweet añadido con éxito. Tenemos una notificación aquí. Y si vamos al contrato y se refresca, a ver. ver, tenemos este complemento. Tres segundos, así que supongo, y el valor es 0 y así todo está funcionando correctamente. En el siguiente video, escribiremos la funcionalidad para mostrar que tuits de la blockchain. Gracias. 23. Función para mostrar los Tweets: Hola, bienvenidos de nuevo. En este video, trabajaremos en la función para mostrar tweets en nuestra casa así como la pantalla de Perfil. Entonces ve a esperar. En feed dot js archivo. Tenemos que conseguir algunas cosas. Tenemos que importar fructificación. Por lo que sólo voy a ver uso. Simplemente copiaré y pegaré esto aquí. Se requerirá uso, afecto, fecha de uso, estas cosas. Después de eso, requeriremos requeriremos que hayan ajustado SCSS desde el núcleo, requeriremos carga de avatar. Usar notificación. Entonces en los iconos, aparte de magia, requeriremos icono bin también. Entonces requerimos un modelo de árbol conciso y dirección de contrato de Twitter. No requerimos la API de almacenamiento del árbol web. Y por último, requerimos que le digamos contrato. Puedes nombrarlo como quieras. No es que tengas que nombrar lo mismo en todos los archivos. Dot Jason. De acuerdo. Vamos a requerir algunos estados. Entonces, antes que nada, deberíamos, estamos enviando algunos apoyos aquí. Es en primer lugar, todos los días dije const en el usuario se va a hacer puntales perfil punto. Y dejar que el componente de carga es igual a props dot reload. Así. Entonces tendré que, está configurado a su es igual a usar el estado EMTALA. Entonces tendré const cargando datos. Conjunto. Estado de carga es igual a usar cosas de estado y no voy a cargar. Y por último, habré hecho notificación es que vas a usar la notificación. ¿De acuerdo? Ahora, escribiré esa función para buscar solo usuarios encendido para relacionar una funtion sinc, cargar mis tweets. Por lo que aquí voy a copiar pegar pocas cosas. Eso es Web tres modelo, conexión y ese contrato aquí. Entonces aquí tenemos el modelo de árbol web, luego la conexión, luego el proveedor, luego firmante y contrato aquí. Será simplemente no tener puntos EBI firmante aquí. Y luego agregaré contras, los datos se van a esperar contrato. Obtener mis tweets de la cadena de bloques. Entonces agregaré const. usuario es igual a JSON.parse, punto de almacenamiento local get item username. Y de manera similar, tendré uso que la imagen es igual a JSON dot parse. Aquí se usará esa imagen. Y luego me relaciono const resultado es igual a esperar. Lo que voy a extrañar, datos de puntos, mapa de puntos. Aquí, un lavabo. En primer lugar, vamos a por eso. Tiempo. Uniques es una buena manera de hacerlo. Marca de tiempo de punto. Entonces pistolas, harán Nueva. Y simplemente convirtiendo la marca de tiempo a la fecha local. Tiempo Unix multiplicado por mil. Esto lo conseguí por Google. puedes buscarlo en Google. Cómo convertir unidades, unidad de una marca de tiempo Unix a la fecha de JavaScript. Fondos a la fecha es la fecha de vencimiento a fecha local string f, RC. ¿ De acuerdo? Entonces agregaré artículo de plomo. Yo lo estoy convirtiendo a un objeto es igual a peso. Twitter. Y esto no será igual. Esta es la columna ID, tweet punto id, texto punto txt. Imagen Gouache. Esa imagen se borra. Tarifa es nombre de usuario. Nombre de usuario. Usa esa imagen. Usa esa imagen. Fecha, fecha. Este es el objeto item, y aquí simplemente devolveré este ítem y crearé un anuncio en esta radio de resultados. Pero entonces simplemente voy a decir resultado dot reverse porque sólo estoy invirtiendo la edición y establecer el estado de carga a cargado así. Después de esto, crearé una función similar Para buscar. Todos los tuits. Eso es para la pantalla de inicio. Yo lo pondré un nombre, carguen nuestros tweets. Entonces esta web para modelar, estas cosas son comunes. Aquí. Ahora van a cambiar algunas cosas, pero no todo en camino. Entonces aquí obtenemos todos los tweets, obtenemos todos los tweets. Entonces aquí no requerimos este nombre de usuario e imagen porque esto será aleatorio para todo el usuario. Obviamente estamos envejeciendo tweets. Por eso. Entonces resultado promesa punto unix tiempo a una fecha de marca de tiempo de punto. Todo está bien. Entonces requerimos obtener detalle del usuario es igual a esperar. Contrato. Dot get usuario. Aquí enviaremos espera punto, Twitter. Obtendremos el detalle del usuario. Tenemos esta función en nuestro contrato inteligente de solidez. Entonces tenemos que devolver es su identificación a un texto. Imagen, es el nombre de usuario será obtener detalle del usuario, y aquí se nombrará y utilizará esa imagen será rho phi i m g image. De manera que ese regreso, entonces todo es igual. Ahora tenemos que devolver HTML en consecuencia. Estaré aquí, ¿verdad? Si el estado de carga es igual a no cargado, entonces aquí. Y devuelva el nombre de la clase. Cargando. Aquí, como cargar widget 60 y etiqueta de color de impresora a 2475. Del mismo modo, tendremos si estado de carga es igual a cargar en y hacer una longitud de punto no está ahí. Después volveremos a un nombre de clase de etiqueta. Yo sólo le daré cargas. Y aquí agregará ningún peso disponible. Si el usuario no ha publicado nada, entonces este será el caso. Y si no, entonces aquí lo tenemos todo. Aquí. Hey les mapa de puntos. Entonces tendremos el peso y el índice. Cortaré todo y lo pegaré aquí. Entonces tenemos que hacer algunos cambios. Obviamente. La imagen será de peso. Usa esa imagen. Entonces aquí, en lugar de una masa de tierra, escribiré nombre de usuario. En esa cuenta. Le escribiré. Entonces en ese contenido de tuit de aquí, tuitearé texto. Y en esa imagen tengo que comprobar si la imagen del iris está disponible o no. Por lo que simplemente escribiré tweet, tweet imagen no igual a vacía. Entonces solo muestra esto. Entonces sólo tenemos que mostrar aquí imagen oscura como esta. ¿ De acuerdo? Entonces en las interacciones el círculo de masas está bien. Entumecido dije círculo, simplemente escribiría 0. Aquí en no arranca. En lugar de este estilo, escribiré calendario y simplemente pegaré fecha de tweet. Y entonces por fin, haré un chequeo. Si, a menos que el usuario sea verdadero. Entonces mostraré una carpeta bin que es Dave, nombre de clase, interacciones num. Y voy a mostrar se ha doblado. Peso, color F, F 0000. Y en este momento esto tendrá en onClick de null. Nulo. ¿ De acuerdo? Y en la porción más, escribiré esto, podría tomar uno. Es aquí en el otro, y sólo los pegaremos Ártico. Eso es lo que está ahí esta lógica. Si se trata de una sección de perfil que el usuario debe poder eliminar utilizando esta bin. Yo puedo hacer sus propios tweets. Ahora, todo está hecho. A lo único que tengo que hacer se le llama efecto enorme. Porque obviamente tenemos que llamar a esta función que es cargar mis tweets y todo. A mí me gusta mucho, si este es un perfil de usuario, entonces llamaré señor, mis tweets. Como llamaré cargar todos los tweets. Y esta página se refrescará. Si mandamos un lago comiendo aquí, el componente de carga y todo. Si esto se cambia, entonces esta página se actualizará. Ahora guarda y veamos si hay algún error o no. Refrescante. A ver, tenemos a nuestros dos. Pero yo ninguno. Y estaba a punto de decir que la imagen no está ahí, pero también se muestra la imagen. Eso significa que todo está funcionando a la perfección. En nuestra sección de perfil también, tenemos esto, que son nuestros tweets y todos esos datos también son correctos. Ver aquí tenemos esta carpeta bin. Pero aquí tenemos este signo de métrica, lo que simplemente significa que podemos eliminar esos tweets de nuestra sección de perfil. Espero que hayan disfrutado y aprendido mucho. En el siguiente video, trabajaremos para mostrar esa información correcta en esta sección de perfil. Gracias. 24. Mostrar datos de los usuarios en la página de perfil: Hola, bienvenidos de nuevo. En este video, trabajaremos en esta sección de perfil. Ir al archivo de perfil dot js. En primer lugar, tenemos que importar pocas cosas. Esta copia, esta cosa CDX que se usa efecto de uso de estatina. Entonces necesitamos en negritas letras de comedores. Importar árbol web, modelo, tres modelos, y luego importar desde iconos. Ahora aquí vamos a requerir de muchos estados. Empecemos por obtener la información activa de la cuenta de ese almacenamiento local. Jason. Barras. Almacenamiento local, punto get item, cuenta activa. De igual forma, sólo copiaré y pegaré pocas veces. El segundo será el nombre de usuario. Aquí será nombre de usuario, luego será bio del usuario. Será bio del usuario. Entonces es imagen de usuario. Tenemos la imagen del usuario, entonces es Usar el banner. Entonces el nombre de la clave es banner de usuario. Entonces tendré un estado llamado saldo de cuenta. El saldo de la cuenta es igual a tu estado. El primer estado será 0. Obtendré ese saldo de la cuenta también de la cartera y lo mostraré en nuestra página web. Así que simplemente escribe una función sinc, consigue contar, balancear. Así. Tendré el verbo tree model, model, new web tree model. Entonces esa conexión, como siempre, conexión de pistolas es la esperaremos Web tres módulo 18. Tendrá que modelar esa conexión. Entonces voy a dejar, vamos. Vida se debe a nuevos comedores, proveedores, web a proveedor. Tenemos que enviar esa conexión. Entonces plomo. Valence es igual a aguardar. O consigue equilibrio. Tenemos que enviar ese número de cuenta, que está en la cuenta activa. Almacenamiento local. Entonces me acaba de convertir por lentes un buen comedores. Haz colas. Formato de punto una tabla. Genial, fuimos número muy largo. Ajustaré genes que equilibren a subcadena. Mostrar cuatro dígitos sólo de 0 a cuatro. Eso es todo. Y voy a dejar establecer saldo de cuenta, va a equilibrar. Entonces en el efecto EU, llamaré a esta función obtener saldo de cuenta. Y mostraré aquí esa información que se presenta por nodo, será banner de usuario. A continuación, perfil, imagen se utilizará nombre de imagen. Si hay algún nombre, nombre de usuario. Aquí, será cuenta activa. Entonces mostraré la magia. Puedo escribir el saldo de la cuenta así. Entonces tienes bio de bluff del usuario. Simplemente escribiré la bio del usuario aquí. Nombre de usuario es su imagen bio por no todo está ahí. Digamos: Bueno, mira, tengo 4.7. Dramático, esta es mi foto de perfil. Número de cuenta, nombre de usuario, cualquier bio de usuario no está ahí en este momento porque es una cuenta nueva. Lo actualizaremos más adelante. Pero esta sección de perfil está funcionando a la perfección. Gracias. 25. Función para eliminar un Tweet: Hola, bienvenidos de nuevo. En este video, trabajaremos en la función para eliminar un tweet. Por lo que obviamente en esa sección de perfil, tenemos ese botón de la deuda es eliminar ocho semanas. Pasemos a este perfil que js y C no en sillas de punto de perfil. Tenemos que codificar para hacerlo en fluido. Aquí. Y aquí verán esto. Esto lo hemos sido. Simplementeve aquí. Entonces la función lo nombra, peso retrasado. Necesitaremos esa ID de tuit para ello para ese fin. Entonces archivo FASTA configuraré el estado de descarga a no cargado. Entonces voy a requerir días pocas cosas para modelar. Conexión de cualquiera de las dos. Datos de Ebi es igual a aquí borrará a ocho. Entonces id, y tenemos que enviar a que esto se borre. A continuación, esperan datos de punto peso de punto. Entonces mostraré en notificación, éxito. Con éxito. Audición. Oscuridad, brillante. Ahora también podemos dar algún defecto. Podemos cambiar el icono. Cambiaré el icono a esta papelera. Y después de eso, llamaré a cargar mis tweets solo para refrescarlo. ¿De acuerdo? Entonces aquí en este onclick, tenemos que escribir, borrar para esperar y hacerlo. ID de punto. Eso es todo. Ese es el cambio no iluminado que se requiere. Ahora guarda todo n Solo por simplicidad, ya he agregado otro tuit, que ahora borraré. ver, esto es un tuit. Sin imagen. Voy a ir y dar clic en este icono y ver donde hay retraso para confirmar que la noche tomará algún tiempo como siempre. Ver, ese tweet se elimina con éxito, que Twitter ahora se ha ido de nuestra pantalla de perfil así como de la pantalla de inicio. Eso significa que la funcionalidad de eliminar también está funcionando perfectamente. Eso es todo por este video en la próxima sesión. Gracias. 26. Función para actualizar los detalles de tu perfil: Bienvenido al video final donde trabajaremos en la página Configuración para actualizar el detalle de un usuario. Ir al archivo settings.js. Y empecemos a trabajar. Desde el núcleo. Requeriré carga así como notificación de uso. Entonces desde React, requeriré fecha de uso y efecto de uso. Entonces importaré cosas. Creo que si voy a perfil, las sillas son home dot js. Encontraré todas estas cosas aquí. Y sólo pegaremos que es web de comedores para modelar con una dirección de contrato y almacenamiento. Entonces decirle a ABI y almacenamiento web. Ahora, en la página de configuración , necesitaré, dejaré primera notificación. ¿ Es bueno usar notificación? Entonces const nombre de usuario? ¿ Se va a Jason, bares, almacenamiento local, punto get item, nombre de usuario. Del mismo modo, requeriré bio del usuario. Usa la imagen y la banda de usuario así. Entonces tengo archivo de perfil Prof, luego nombre de archivo binario. Lo primero que tendrá es nombre de usuario bio, el primer estado que tendrá bio de usuario. Entonces habré rebotado. Estado de carga y carga. Usa las barras. Entonces deja que phi. Señor, vas a usar imagen en el primer comienzo que Ben upload URL es igual a panel de usuario. Te lo explicaré todo. Pero aquí, lo que estoy haciendo es aquí nombre, el primero, en el primer inicio, tendrá nombre de usuario predefinido, que está en el almacenamiento local, mostró eso. Entonces aquí escribiré, escribiré dos o me ayudará como marcador de posición, cualquiera que fuera el nombre anterior. Sólo por esa razón. Ahora, tendré funciones. Por eso. Simplemente volveré a ir a casa dot js, obtener la función de archivo de puerta de polvo aquí, pegarlo. Aquí. Tendrá archivo seleccionado. Habrá seleccionado archivo y todo es ahora k. y voy a devolver esta URL de subida IPFS. Esta URL de subida, la devolveré. Cada otra cosa. Esto será plomo. Porque esto no estaba predefinido. Aquí lo estamos declarando. ¿ De acuerdo? Entonces en su manejador de banners, tenemos esto, que es que no necesitamos cambiar nada en su manejador de perfil. Evento. Dicho perfil. De acuerdo. Y sólo tendremos este enorme efecto se hace con cosas de MDF. Y cambiará de acuerdo, siempre que cambie este estado de carga, refrescará la página. Entonces tenemos que escribir la función. Tenemos que escribir la función para actualizar el perfil. Ahora lo que voy a hacer establece la carga en true. Entonces si el perfil Phi no es igual a nulo, entonces lo que tenemos que hacer es nuevo lead, nuevo archivo. Url es igual a aguardar archivo de tienda. Y tenemos que enviar un archivo de Agregar un perfil como este. Y luego escribiremos carga de perfil. Es aquí. Lo es. Carga útil PHY que se ejecuta. Por. Ahora sube esa URL. De acuerdo. Yo sólo iré e insertaré aquí. Este que es nuevo perfil subido aquí. Será nueva URL subida del archivo Raw si el usuario ha cambiado algo. De igual forma, lo que haré es si cambia el archivo de banner, lo que haré es que realmente escucho como nueva URL cargada de banner. Y sin embargo me gustará archivo banner. Y luego otra vez, aquí voy a cambiar por no subido. Y aquí va a cambiar porque son condiciones porque el usuario puede o no cambiar foto de perfil. Él sólo quiere cambiar su nombre de usuario. Depende de él. Por eso estoy haciendo tantos cheques IF. De acuerdo. Entonces voy a requerir después de eso, voy a requerir, otra vez menos cosas. Peso. Tenía mucho código. Así que ahora solo estoy pensando dónde aquí, este código una y otra vez requerimos ir a ajustes aquí tengo esta fecha base. Tenemos que modelar, tenemos la conexión, se pone centro. Entonces tenemos ese Twitter Aba aquí. Nos aba punto aba. Entonces tenemos que transacción es capaz de contraerse. Usuario de actualización de punto. El nombre de usuario, bio archivo URL subido, banner, URL subido como este. Entonces agregaré esperar transacción que peso y actualizar esto cambió. Ahora lo que tenemos que hacer es asegurarnos de actualizar el almacenamiento local también. usuario, JSON.parse, stringify, nombre. Después usa bio. Jingle fi, bio. Usted es imagen, perfil subido URL, Banner. Por URL no cargada. Entonces solo enviaré una notificación. Éxito. Bien. Audición con éxito en posición vertical. Y por último añadiremos set loading false. Por lo que este tiene la función de subir la URL. Por último, tenemos que devolver HTML también. Aquí. Nombre está muerto. Sobre cambios. El S simplemente tenemos que agregar valor es igual al nombre de usuario. Del mismo modo, aquí tenemos que escribir valor es igual a usar bio. Entonces tenemos la imagen de perfil, que está bien. Tenemos esas imágenes de banner también. ¿Kay? Entonces solo mostraré una carga que si se está cargando, luego mostraré un div LastName Save. Y sólo mostraré aquí el botón de carga. Y si no está cargando ningún onclick, onclick, solo llamaré a la actualización. Esta es esta función. Lo cortaré y lo pegaré aquí. Ahora, hagámoslo todo. A ver, ojalá todo esté bien. Sólo nombrelo. Fueron tres. Imagen de perfil de desarrollador. Voy a cambiar a Ben. Y aquí escribiré. Voy a cambiar eso. Heintentado cambiar el binario a éste. Obviamente tomará algún tiempo porque son dos imágenes subidas a IPFS y todas simplemente se guardan. Espera algún tiempo. Por lo que está pidiendo actualizar. Es por eso que confirma transacción más fuerte. Esperemos. Por lo que el perfil de los muertos con éxito esta muestra. Ahora, vamos a nuestro perfil. ver, se ve tan bonito. Toda nuestra información ya está actualizada. Tenemos esta foto de perfil, tenemos este nuevo banner run. Si voy a Pantalla de Inicio, ver aquí, y también mi foto de perfil ahora se cambia. Por lo que todas las funcionalidades y ahora funcionando a la perfección, nuestra app está completa. Espero que hayan disfrutado y aprendido mucho. En el siguiente video final, solo volveremos a probar esa aplicación completa y veremos si hay algún bug o no. Gracias. 27. Prueba la aplicación completa: Hola, bienvenidos de nuevo al video final de este curso. En este video, probaremos esa aplicación completa. Entonces comencemos. En primer lugar, simplemente copiaré el host local y crearé una nueva ventana de incógnito. Aquí, no he instalado masa de materia. A ver qué pasa. Ver una instalación normal, más tonta. Si hago clic en Ok, entonces va directamente a ellos sitio web de MetaMask. Por lo que el usuario tiene que instalarlo para visitar nuestra aplicación a esta. Entonces esto lo hace libre de errores. Y ahora vamos a cambiar una cuenta. Originalmente tenía esta cuenta ya conectada, y también he agregado un nuevo tweet. Ahora usaremos este árbol de cuentas y haremos click en Conectar máscara metálica. A menudo de forma indefinida se le pedirá actualizar el perfil de profundidad. A ver cuáles son nuestros datos que obtengo. Así que a ver, Esta es la hora que me sale y esta es la página de inicio. Y este tuit se hizo desde mi otra cuenta. Si voy a sección de perfil de aquí, no mostrará ningún tweet disponible. Y además, si lo deseas, solo puedes cambiar el color de este negro a blanco. No se ve bien. Y ahora sólo diré esto también. Es a partir del segundo conteo. Y yo sólo digo retoque. Confirma ese tweet a nosotros, edita con éxito. Obviamente tomó algún tiempo, pero ahora se agrega con este punto r aleatorio. Y se puede ver que tenemos esto así evidenciado ir a e ir a la configuración y simplemente cambiar a. Yo sólo escribiré aquí. Mark Zuckerberg, fundador de redes sociales. Y sólo guárdalo. Guardar perfil actualizado con éxito. Si voy al perfil, llamo Mark Zuckerberg. Y aquí realmente solo está mostrando a Mark Zuckerberg. Todas estas secciones están funcionando perfectamente. En el lado derecho. Simplemente puedes hacer cualquier anuncio que quieras. Supongamos cursos de capacitación, noticias tendencias, blogs de tendencias, lo que quieras, solo puedes codificarlo a tu sitio web. Ahora, me gustaría mostrarles la funcionalidad que agregamos. Supongamos que si cambiamos la cuenta de una con, queremos dar cuenta también. ver si lo conecto. Nuevamente. En realidad conectó el ícono del polígono, este. Y ahora estoy de nuevo, vuelve cambiar a mi primera cuenta. Entonces todo esto se hace dentro de aquí. Lo es. En el app.js. Tenemos un cambio de cuenta y cambiar genes y todo. Entonces qué pasará si voy y cambio la red de polígonos para ir cojeando. ver, entonces es red de dos polígonos. Y ahora si hago clic aquí, nos está pidiendo cambiar de red. Y si cambio de red, entonces otra vez, me envían de vuelta a la página web o de lo contrario no podré visitarla. Por lo que este sitio web tiene todas las funcionalidades. Todo está funcionando. Simplemente puedes hacerlo vivir y eventualmente en tu portafolio, Depende de ti. Espero que hayan disfrutado. Asegúrate de ver mis otros cursos también. Gracias. Que tengas un buen día y sigue practicando.