WEB3. py: interactúa con la cadena de bloques usando Python -2022- | Dave Slater | Skillshare
Buscar

Velocidad de reproducción


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

WEB3. py: interactúa con la cadena de bloques usando Python -2022-

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

Ve esta clase y miles más

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

Ve esta clase y miles más

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

Lecciones en esta clase

    • 1.

      Introducción a Web3.py

      0:53

    • 2.

      Instale web3.py

      8:01

    • 3.

      Conecta a la cadena de bloques

      33:24

    • 4.

      Interactúa con un contrato inteligente

      20:09

    • 5.

      Enviar transacciones con Web3.py

      20:55

    • 6.

      Intercambia tokens en un intercambio descentralizado

      20:32

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

72

Estudiantes

--

Proyecto

Acerca de esta clase

¿A quiénes está dirigida esta clase?

Esta clase es para todos los que tienen experiencia en python y quieren aprender a usarla para acceder a la cadena de bloques, ¡aprenderás cómo llamar a funciones de contratos inteligentes y recuperar información, así como hacer swaps y transacciones! Al final de este curso, podrás construir básicamente bots comerciales en Python. (No cubrimos las estrategias, pero cómo hacer transacciones e intercambios


Web 3 y blockchain han estado expandiéndose mucho, los desarrolladores necesitan más formas de interactuar con el entorno. ¡Y aquí es donde entra en juego la biblioteca de web3 para python!
Python es uno de los lenguajes de programación más versátiles y se integra muy bien con casi cualquier funcionalidad de backend.


En este curso veremos cómo podemos usar python con la biblioteca web3.py para interactuar con la cadena de bloques. Veremos muchas funcionalidades, conectaremos a una red, tomaremos información de la cadena de bloques, interactuar con contratos inteligentes, funciones de llamadas y obtener información de tokens, así como enviar transacciones e incluso intercambiar tokens en intercambios descentralizados. Al final de este curso, ¡te sentirás cómodo haciendo aplicaciones web3 en python!

¡Se recomienda saber básico de Python!

Aprenderás:

Repositorio de GitHub

Plataforma de pilas

Música: https://www.bensound.com

Conoce a tu profesor(a)

Teacher Profile Image

Dave Slater

Develop the World that you dream of

Profesor(a)

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


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


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


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

Habilidades relacionadas

Desarrollo Lenguajes de programación Python
Level: Beginner

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 Web3.py: Se había ido expandiendo últimamente. Y los desarrolladores siempre de más maneras de interactuar con el medio ambiente. Entonces aquí es donde entra en juego la biblioteca web para Python. Ya sabes, Python es uno de los lenguajes de programación más versátiles. Se integra muy bien con casi cualquier funcionalidad backend. En este curso, veremos cómo podemos usar el Python con la biblioteca Web de tres puntos py para interactuar con la blockchain. Veremos muchas funcionalidades como conectarse a una red, tomar información de la blockchain, la función interactiva de código de contrato inteligente y obtener información dirigida. Incluso podrás enviar transacciones y tokens blandos en intercambios descentralizados. Básicamente, seremos capaces de construir criptotrading. Pero al final de este curso, estarás muy cómodo usando la palabra tres aplicaciones con Python. 2. Instala web3.py y chainstack: Hola y bienvenidos a la primera lección, Web tres, vamos a canalizar. Hoy va a ser más una lección introductoria donde estamos hablando de una lección introductoria donde lo que es la biblioteca, cómo la instalamos, y cómo trabajamos en instalado a través de las notas. Ancho tres, el pastel es la biblioteca Python para interactuar con la web tres Ambiental, con el entorno blockchain. Es muy versátil porque al usar Python podemos hacer muchas cosas. Se deriva principalmente de la biblioteca de JavaScript web tres, que fue la original. Entonces, básicamente, lo que podemos hacer con estas bibliotecas usa toda la funcionalidad backend para acceder a los contratos inteligentes de acceso blockchain y cosas por el estilo. Lo primero que vamos a tener que hacer es instalarlo. Si ya lo has instalado, es bueno. En la documentación aquí podemos encontrar toda la información que necesitamos. Entonces si vamos y Quickstart, nos va a decir cómo instalarlo. La forma principal de instalar bibliotecas en Python es usar pip. Y si no tienes pip install o te recomiendo ir a buscar otro. Hay muchos videos en YouTube allí muestran cómo hacerlo. Es un proceso muy sencillo. Y luego simplemente se detendrá en su símbolo del sistema. Pip instalar Web tres, pulse Enter y debe instalarlo. Ahora, si estás usando Visual Visual Studio Code o Visual Studio para codificar en tu entorno. Podría darte problemas porque tiene algunas otras cosas extrañas que Visual Studio cambia. Entonces tuve bastantes problemas para instalarlo al principio, pero encontré una manera de hacerlo por sí misma. Si tienes Visual Studio y da el error durante la instalación donde quieres hacer, es golf, encuentra Visual Studio 2022 y descarga toda la suite de trajes. Porque si miras el error te va a decir que necesita tener el C plus plus Developer Tools. Descargando este paquete y luego iniciar la instalación. Se va a instalar el C plus más Bu a la Unión. Pero entonces como opcional, querrás agregar también el Windows diez. Ventanas diez es decaimiento. Lo siento. Quieres servir en todo este de aquí. Porque de lo contrario aún no va a trabajar. Una vez que instale esta instalación, el paquete va a llevar algún tiempo. Pero una vez que instalas el paquete, entonces reinicias la computadora y va a funcionar. Por lo que en ese punto se puede instalar con pip. Y luego una vez que se haya instalado en solución esté completa, querrás hacer pip freeze para asegurarte de que el paquete se haya instalado correctamente. Por lo que aquí se puede ver tenemos Web tres aquí mismo. Muy bien. El segundo paso va a ser la creación de una conexión OT. En este curso, vamos a trabajar mayormente será un C. Este es el mismo proceso para cualquier cadena que querrás usar. Entonces hay dos formas de hacerlo. La primera forma es utilizar los waypoints gratuitos públicos. Waypoints, puntos finales, lo siento. Si vamos en perros de bunnies.org, entonces se perciben nodos en ejecución nos va a dar los puntos finales de RPC. Entonces esos son los puntos finales públicos que podemos utilizar. Estos serán los recomendados para mi red. Y si nos desplazamos hacia abajo, tenemos las tomas web. El test que también. Esos son libres y esos no se mantienen realmente. Estos trabajan con, estos podrían conocer también el trabajo. Y muchas funcionalidades de la Web, tres bibliotecas no funcionan en esta aquí. Por ejemplo, financiar transacciones pendientes o encontrar las últimas transacciones. En ocasiones estas funcionalidades de la biblioteca no funcionan con esos públicos libres. Entonces lo que quería, lo que te recomendaré que hagas es usar el cambio. Ese cambio es una empresa que brinda este tipo de servicios donde se puede crear un nodo y se puede crear un decentemente y se mantiene en todas estas funcionalidades, trabajo es una plataforma muy grande. Puedes hacerlo de forma gratuita también. Simplemente puedes ir y cambiar psych.com, empiezas gratis. Y puedes tener una cuenta de desarrollador cual es gratuita durante el registro va a pedir una tarjeta, pero es totalmente gratuita. No se cobra nada con el plan de desarrollador. Se puede crear un nodo en cualquier otro cambio que apoyen, el soporte Ethereum, el polígono de soporte, avalancha, EEB, fantasma, todos esos. Y esto es gratuito hasta tres millones, tres millones de solicitudes mensuales. Entonces solo piensa que si haces una solicitud por segundo 247 por un mes entero, no vas a llegar a los 3 millones. Estas son realmente, realmente buena manera hacerlo y realmente lo recomiendo porque es mucho más estable. Ahora, una vez que te inscribas y entras en tu plataforma, puedes crear un proyecto. Y ahora te mostraré cómo crear el nodo al crear tu proyecto, solo tienes que empezar. Es muy sencillo y lo llamaremos Web tres va a ser una cadena pública. Realmente no necesitaremos una descripción. Entonces una vez que se crea, podemos entrar y crear una nota. Como se puede ver, le ha pedido que se unan a una red, sí va a empezar. A partir de aquí, podemos crear un nodo. Podemos, podemos seleccionar la blockchain. Tenemos todos los disponibles. Haremos cadena de marcas de violencia, que es la que vamos a utilizar en este curso y lo haremos en la red principal. A continuación aquí podemos dejar todo estándar para el proveedor Cloud. Tomaré las cláusulas una a través de ti. Siempre mejor. Puedes llamarlo como quieras, llámalo Web tres. A continuación, C dice que el costo estimado es 0$ al mes hasta 3 millones de solicitudes, lo cual es suficiente. Haremos unirnos a la red. Nos tardaremos unos segundos a unos minutos en crear un nodo. Pero entonces una vez que se crea, está ahí y podemos acceder a ella. Estamos haciendo esto en BSC en este caso, puedes usar, puedes hacerlo en una teoría o cosa varonil, por ejemplo, otro proveedor común para este tipo de servicios para Ethereum es en alimentos y menos y menos. No lo recomendaré ahora mismo porque no tiene la funcionalidad con esas aplicaciones. Vamos a hacer, por ejemplo, vamos a hacer una parte donde recibamos cada tres transacciones pendientes. Si usas un en arte extranjero ahora va a funcionar. Por eso realmente recomiendo cambiar tack que funcione con todas estas cosas. Ahora solo esperemos un momento para crear el puedes probarlo. Refresca la página, mira si aún no lo sabían. Supongo que podemos simplemente detener este video aquí ya que es solo crear el nodo que no tiene nada más que agregar sobre esta cosa en este momento. Entonces en el siguiente video vamos a ver cómo podemos crear la conexión a la blockchain usando Python. Y vamos a volver a visitar las notas. Por lo que te recomendaré crearlo ahora. Te veré en el siguiente video. 3. Conéctate con la cadena de bloques: Hola y bienvenidos a dispersar lección de codificación hacia fuera la biblioteca Web three dot py. Así que hoy vamos a empezar finalmente a grabar y comenzar a usar Python para acceder a la blockchain. Nosotros, en este curso vamos a utilizar un eje, la ceguera meiner Smart chain, lo siento. Lo vamos a usar para nosotros como el BSC. Pero puedes hacerlo en cualquier otra red que puedas encontrar. Enumerar redes que son compatibles con la Máquina Virtual Ethereum. Aquí estoy codificando en Visual Code, que es por el momento, ¿hay gratis? Mi IDE favorito es genial. Cuenta con todos los sistemas habituales además puedes probar tu código en un terminal incorporado sin tener que cambiar de ida y vuelta. Es mayor realmente recomendado. Por ahora deberías tener instalada la biblioteca Python de la Web tres. Y si aún no lo tienes, deberías ver el video anterior donde te mostraré cómo hacerlo e incluso con instalarlo con los errores que da por código visual. Lo primero que vamos a querer hacer aquí es importar la biblioteca irá desde la Web tres. Importamos Web tres con un mayúscula B. Ahora la biblioteca es importante y podemos utilizar todas las funciones que tienen. Entonces, lo que vamos a hacer en estos videos, nos vamos a conectar con la cadena inteligente. Y vamos a empezar a recuperar información de ella. Vamos a ver cómo recuperar el último número de bloque. Por ejemplo, podemos, vamos a recuperar saldos de direcciones. E incluso podemos recuperar transacciones pendientes. Y luego una vez que estamos a través de la transacción de impresión, podemos mirar a través de ellos y sacar los detalles. Y así vamos a hacer todas estas cosas hoy. Ahora, lo primero que queremos hacer es conectarnos a la blockchain, ¿verdad? Lo primero que tenemos que hacer, lo contrario, no podemos acceder a su derecho. Para acceder a la blockchain. Vamos a necesitar tener un nodo. Y como mencioné en el otro video, deberíamos tener, deberíamos usar chain stack porque proporciona nodos libres que podemos tener y todas las funcionalidades trabajando con Web tres en Python, crearemos primero y conoceremos la URL. Podemos simplemente llamarlo una URL de todo. Aquí vamos a insertar nuestra URL. Entonces para encontrarlo, tendremos que ir a cambiar stack. Entonces en el video anterior, muestra cómo crear un nodo. Y así ahora aquí se está ejecutando para obtener la URL para acceder a la blockchain va a seguir. El nombre aquí nos va a dar los detalles. puede ver que acabo de construirlo para que no tenga ninguna no tenga ninguna petición ni nada por el estilo. Si nos desplazamos hacia abajo, podemos mirar los datos y aquí tenemos el punto de acceso y las credenciales. Si copiamos el HTTPS, bueno, tenemos dos formas en que podemos hacerlo con HTTPS y ancho. Zócalos web. Los sockets web son un poco más eficientes, por lo que recomendaré usar esos, pero en este caso solo vamos a usar el HTTPS es un poco más sencillo y tiene, a menos que copies el enlace, volverá al programa y lo pegaremos aquí. Por lo que ahora tenemos nuestra configuración de enlace de nodo. Entonces aquí podremos crear la conexión, vamos a crear otra variable a la que podemos llamar a la Web tres. Usualmente lo llamo una Web tres. Se puede ver llamado se puede ver llamado el W3 o cualquier otra cosa así. Entonces con tres y vamos a establecer la conexión para establecer la primera vez, escribiremos Web tres con un proveedor mayúscula W. Web three dot http. Proveedor de Http. Cuando escuche tres proveedor http delta, y luego pasaremos por la URL del nodo que tenemos. Considerando que todos conocen la URL. Eso es todo. Ahora. Ahora tenemos la conexión parteras que no hice de inmediato. Interesante. De todos modos. Ahora aquí con esto podemos crear la conexión a la blockchain. Lo que vamos a hacer a continuación es que podamos verificar si la conexión es exitosa. Hay una función que fue tres, hubo tres biblioteca nos da, está conectada. Tomaremos nuestra conexión. Recuerda que creamos nuestra conexión variable aquí. Y así tomaremos la conexión variable con tres. Nosotros hacemos dot está conectado. Ahora si lo ejecutas así, esto sólo nos va a recuperar y traer expresión booleana de vuelta. Esto va a decir verdadero o falso. Si imprimimos tres está conectado, sólo debe darnos un verdadero o falso. Entender por qué. Si trataste de correr en Dennis, voy a trabajar. Mira lo que hice. Entonces la disolución por error. Perdón por eso. Los errores ocurren todo el tiempo. Si lo guardamos y ahora vamos a imprimir, ejecutarlo, entonces sólo debería decir verdadero. Toma un momento de carrera. Cierto. Éste nos dice que la conexión está establecida, por lo que nuestras palabras de nodo, y en este momento este guión está conectado a la marcha de la abundancia. Ahora, cada vez que construyo programas y veo esto a través de este curso, me gusta, realmente me gustó poner funciones fáciles de usar en él. Lo que me gustaría hacer es por ejemplo, en esto comprobando su conexión, me gusta imprimir una declaración real. Por lo que podemos hacer, podemos usar una declaración if. Si la Web tres está conectada, entonces imprimimos conexión, exitosa, éxito. Así como eso. Y por supuesto estos no son todos necesarios que el sistema, el programa va a funcionar de todos modos, pero me gustaría agregarlos porque simplemente lo hace un poco más agradable, un poco más fácil de usar. Y un D&D se vuelve un poco más satisfactorio para escribir programas que realmente te devuelvan una información significativa que otras personas pueden leer. Lo que haremos es conectar la impresión con éxito si no está conectado, la conexión de impresión falló. Error en la conexión. Mi error. Así como eso. Ahora si intentaste volver a ejecutar el script, aquí dice que la conexión es exitosa. Por lo que ahora tenemos un verdadero mensaje significativo que nos dice, Hey, estamos conectados a la blockchain, funciona muy bien. Ahora, después de que estuviéramos conectados así, podemos iniciar la información del boleto. Entonces si vas a buscar en la documentación de la Biblioteca Web tres, encontrarás los ejemplos y encontrarás muchas cosas que puedes recuperar. Hoy, solo vamos a ver algunos ejemplos, algunas cosas básicas para que podamos entrar en la modalidad de cómo funciona y luego puedes explorar la documentación para tener más detalles y sobre todo para poder para encontrar tal vez cosas que quieras construir. Lo primero que vamos a hacer es recuperar el último bloque. Hay una función butene que nos permite tomar e imprimir el último bloque. Todo lo que tenemos que hacer es llamado el comando número de bloque de punto e'th . Y entonces lo que vamos a hacer, vamos a hacer imprimir tres puntos, tres puntos, malware de bloque de puntos. Este de aquí. Ahora, una cosa que quiero señalar, hay todos estos comandos, todos son nombrados, comen. Cada unidad de medida que vamos a usar va a ser Ether, pesar de que estamos trabajando en el botón y Chen inteligente y será lo mismo si estás trabajando en avalancha o Fantasma o cualquier otro. El cambio compatible con EVA. Y esto es solo porque el código principal, el código fuente proviene de Ethereum. Por eso es así. Ahora si imprimimos éste, nos debe dar el último número de bloque o el último producto. Veamos si no podemos tener éxito aquí un principio que dice número de bloque. Si queremos que sea un poco más fácil de usar aquí voy a añadir una cadena, dice último bloque, último bloque. Ahora, o podemos tener otra situación, un poco más fácil de usar aquí. Así es como podemos conseguir el bloque, el número de bloque real. Ahora, lo siguiente que podemos hacer, se llama saldos. Podemos recuperar el saldo de una dirección. Entonces haremos una variable llamada balance. Utilizará la Web tres, se balancee. Comando hará Web tres, punto, punto conseguir equilibrio, como éste de aquí. En el paréntesis. Vamos a pegar la dirección que queremos mirar hacia arriba. Lo que podemos hacer es que podamos ir al escaneo. Me encanta Zeus, encontrar la dirección corrida home de, no sé, de las últimas transacciones por ejemplo, una de esas Vamos a ver. Este tiene algo de equilibrio, tiene alrededor de $20 en B&B Copiemos la dirección. Por cierto, cada violencia y otro número que recibirá desde aquí siempre va a ser un B&B hasta que nos metamos un poco más tarde en el curso. Y vamos a empezar a usar contratos inteligentes reales. Porque obviamente no están en ficha narrativa aquí está B&B Si estuviéramos trabajando en almorzar por ejemplo, entonces los devolverá y verá ahora funciona y Ethereum y así sucesivamente. Ahora tenemos esta variable de balance y podemos simplemente imprimirla así, ¿verdad? Por lo que quiero mostrarles algo ahora si imprimo el saldo, dijimos que tenemos sobre en desastres hay unos $18 vale y B&B hay 0.046 algo B&B Si acabamos de imprimirlo así, mirando qué número nos va a devolver. Nos va a dar este número enorme. Eso es porque todas estas fichas tienen 18 decimales. Lo que esto hace, esta función aquí hace es recuperar el equilibrio en forma, que es el número con 18 decimales. Por lo que será el número al poder de diez a los 80. Por suerte, poder leerlo bien. Hay un comando bueno, interesante, interesante en la biblioteca que nos permite convertir de camino al número regular. Entonces para hacer eso, solo tendremos que usar el método From way. Desde su Python, solo podemos hacerlo en una frase lo que me gusta, o en una línea, pero me gusta romper las cosas aquí para que quede un poco más claro. Digámoslo, vamos a crear otra variable llamada número normal. Vamos a utilizar el método front way será Web tres desde camino. Confundido porque no me dio la sugerencia es porque no está equipado tres fases con tres de camino. Y luego dentro de aquí, vamos a tener que especificar lo que queremos convertir. Entonces en este caso, queremos tomar el nominal de que hay desequilibrio. Entonces vamos a poner el equilibrio. Y entonces queremos ponerlo en qué medirte y queremos, queremos convertirlo. En este caso, vamos a convertirlo en éter. Y eso es porque ese es el número principal aunque leemos, leemos uno, BMD, A1, A3, y así sucesivamente. Y así eso es lo que queremos leer. Ahora. Recuerda es que esto se deriva de la teoría de la máquina virtual y así todo se llama éter Aethon, pero esto va a devolver el equilibrio del DMV. Recuerda eso porque estamos conectados al mercado de balance. Ahora si imprimimos el número normal, deberíamos conseguir el 0.046, algo que teníamos en esa dirección. Aquí vamos. Ahora estamos imprimiendo un número que podemos ver. Entonces lo que acabamos de ver que entendemos lo que acabamos de hacer aquí es que tomamos un programa a través de Empire, reconectamos a la blockchain y recuperamos algo de información de ella. Es bastante guay. Ahora, hagamos algo un poco más elaborado. Usamos el mismo principio, pero vamos a recuperar algún hash de transacción. Esto es algo que puede ser muy útil si estás tratando de construir algún tipo de bot, por ejemplo, los que mirar las transacciones recuperarán transacciones pendientes. En este caso. Lo que queremos hacer es que vamos a usar un filtro con tres lobo solitario a través de la biblioteca tiene un método de filtro. Lo que vamos a hacer es llamarlo filtro de transacción pendiente. Filtro de transacción pendiente, así. Y aplicaremos el método de filtro totalmente valorado en tres puntos filtro de punto aquí. Entonces podemos poner lo que queramos llevar. Queremos que podamos poner la transacción pendiente, podemos tirar de las últimas transacciones. Si vas a través de la documentación en la web a través de biblioteca te va a decir las opciones. Vamos a depender en este tiempo. Por lo que sólo podemos recuperar las transacciones de opinión. Y luego después los recuperemos y vamos a tener que ponerlos en una lista. Y entonces vamos a hacer transacciones pendientes. Lo vamos a llamar marca en transacción. Aquí vamos a tomar el filtro. Por lo que Pendiente filtro de transacción aplican a las nuevas entradas GED, method.gov nuevas entradas. Así como eso. Ahora este de aquí es una lista. Lo que esto va a hacer nos va a devolver una lista de las últimas transacciones pendientes más antiguas cuando la ejecutes. Ahora en mi en mi incluso saber tener algo porque podría ser que no hay transacción pendiente es el mismo instante exacto en el que nos encontramos. Pero vamos a intentarlo. Si hacemos imprimir transacción pendiente, se debe imprimir una lista. Vamos a intentarlo. Lo ejecutaremos. Conecta y aquí vamos. Entonces ahora esta es una lista de, estas son listas de hashes de transacciones como este. Uno aquí es un hash de transacción. Entonces si tomamos, digamos que llevamos el primero aquí. Lo pondremos en el escaneo BS. Aquí vamos. Tenemos los detalles de la transacción. Y aquí fue indexación y acaba de tener éxito muy bien. Y luego desde aquí podemos ver por qué otros va a enviar a donde fue enviado y qué pasó con la transacción y todo lo que valoran y así sucesivamente. Ahora, desde aquí, sólo estamos tomando el hash. Esa es una lista. Entonces, ¿cómo podríamos hacer para imprimir de una manera más agradable que realmente podemos usar para algo. Solo usa algo de Python regular aquí. Y podemos simplemente recorrer la lista. Podemos hacer un for-loop. Sólo podemos hacer por transacciones independientes de hash. Imprimimos el hash. Ahora si solo lo imprimo así, quiero mostrarte cómo va a verse. Voy a parecer un poco legible. Si simplemente lo imprimimos así. En realidad es un no imprimirlo y es indirectamente porque lo toma en bytes. Entonces tenemos que usar un comando extra aquí. Y tendremos que imprimir la salida que tuvimos que convertir de binario a hex. Entonces vamos a hacer Web tres puntos hex. Tomaremos nuestro hachís ahí. Y por lo que ahora debería imprimir un hash regular, solo un hash regular. Aquí vamos. Tenemos una lista completa de todos los últimos, los últimos hashes pendientes. Y por cierto, acabo de darme cuenta que el anterior que no imprimió nada más probablemente porque no había nada para imprimir el momento. Podemos volver a buscarlo en un segundo. Ver aquí tenemos la transacción pendiente igual que comprobamos antes. Ahora tenemos un sistema que puede recuperar asaltados último bit en las últimas transacciones pendientes. Déjame revisar aquí. Si elimino esto, acabo de imprimir el hash regular. Ahorra esta vez hay algo para imprimir uno. Quería ver cómo se ve porque podría ser importante más adelante. De acuerdo, así que aquí ahora encontramos algo. Se puede ver que tenemos el hachís, pero todo está roto en pedazos. Si miras aquí, hay una B en Francia. Entonces cuando hay una B delante de mí, esto es mordeduras. Y no podemos leer esto. Podemos simplemente tomar éste y ponerlo en su escaneo. No va a que no vamos a funcionar. Eso es lo que hace éste, es que lo toma de los bytes y lo vuelve a poner en x en hexadecimal. Entonces el sistema puede ver, quería que veas cómo se ve porque tal vez más adelante estás haciendo algo más y te imprimes y eres como, Oh, ¿por qué está haciendo esto? No lo quiero de esta manera. Así es como se veía. Por lo que ahora ya lo sabes, sabrás usarlo. Podemos simplemente convertir desde bytes x si ves algo que se ve así. Ahora ya sabes convertirte en un poderoso útil. Ahora éste nos da una lista completa de todos los hashes que podemos encontrar transacciones independientes. Pero, ¿y si queremos mirar los detalles de estos hash? ¿ Y si quisiéramos ver qué está haciendo la transacción? Podemos usar el método de transacción get. Podemos crear otra variable a la que podemos llamar detalles. Haremos Web tres puntos, punto, obtener transacción, transacción. Entonces podemos colocar el hash de transacción en. Digamos que ya tenemos uno anterior. Podemos simplemente pegar éste por un momento. Sólo voy a comentar esto. Por lo que no va a imprimir una lista enorme otra vez. Comentar, con la esperanza de pasar. Veamos cómo se ve cuando tratamos de imprimir los detalles son de la cuadrícula Get transacción método. No imprimió nada. Obviamente. ¿ Por qué hizo eso? Transacción y no fue por supuesto que no imprimiera nada. No le dije que imprimiera nada. Perdón por eso. Imprimimos los detalles. Digamos que sigo cometiendo errores. Si imprimimos detalles, debe imprimir los detalles de esta transacción. Aquí vamos. Así es como se verá. Si tenemos básicamente un diccionario de crisis, o lo sentimos, aún no es un diccionario. Objeto web tres llamado fecha de atributo activo. Y si miras en alto por dentro tiene el hash del bloque hash. Dice el número de bloque. Dice la dirección que enviarán desde el gas. El hash es el hash de transacción real. Importar todo y valor. Así que valora aquí, es la columna cuántos BMD o más bien en cómo, cómo, qué igual a b y poder transferir cuántos iguales a VMB o transferidos durante la transacción. Podríamos simplemente mirar a través de esto y extraer los datos. Entonces digamos que queremos encontrar a la que no puedo entonces monitorear esta transacción y sólo quiere tomar las transacciones que voy a repasar un cierto valor, entonces podríamos hacer eso. Podríamos simplemente extraer todos los datos e imprimir éste aquí. Imprimir, escritor, imprimir todos los datos que están justo por encima de una cierta cantidad. ¿ Cómo podemos decodificar eso? Porque si tratamos de simplemente bucle, por lo que esto no va a funcionar si simplemente hacemos un for-loop desde detalles internos. Entonces digamos que en detalles, hemos impreso los datos. No va a funcionar porque ese no es un objeto Python. Enrutador. Lo imprime, pero realmente no tenemos una manera de imprimir el par de valores clave. Por lo que sólo podemos tomar todas las llaves. Todavía no tenemos una manera de obtener el valor de las parejas. Lo que podemos hacer es que podamos transformar eso en un diccionario. Ya no vamos a imprimir detalles. Sólo vamos a crear algo más. Vamos a llamarlo solo un diccionario. Este diccionario va a ser un dict de detalles. Por lo que ahora con esto, podemos acceder a los pares de valores de clave reales. En este caso, solo podemos crear un for-loop donde lo hagamos. Básicamente podemos acceder a la tupla como esa clave para clave y valor en el diccionario. Entonces tenemos que buscar en los ítems o el diccionario la clave y el valor en los ítems del diccionario, luego imprimiremos la clave y el valor. Por lo que ahora deberíamos poder tener todos los datos, aunque en realidad está asociado a la clave. Si lo ejecutas. He estropeado algo aquí arriba. El objeto no es un terrible. ¿ Por qué está haciendo eso? ¿ Aquí? Tenemos que ser un poco más de creatividad o no va a funcionar ¿verdad? Que tenemos que decirles qué salir de ahí. O más bien tenemos que decirles qué conseguir. Vimos en una de las anteriores. Tenemos los dos de hash y así sucesivamente. Entonces digamos que en este caso solo queremos conseguir parte de la información importante. Digamos que sólo queremos conseguir la dirección de la que viene o va a y el volumen a ella. Ahora lo que queremos hacer es que voy a tener que crear una lista aquí, llamémoslo lista de información. Estas sólo van a ser iguales a las llaves que queremos conseguir, ¿verdad? Así que lo haremos desde, Perdón por esto, yo también lo estropeé aquí. Entonces queremos imprimir el valor. Simplemente imprimiremos de dónde viene, de dónde va y el valor. Ahora aquí, podemos iterar a través de la lista. Llamémoslo adelante en info. En este caso, lo haremos si la clave es igual a una en todo el mundo, entonces vamos a imprimir. Ahora esto debería funcionar. Ahora bien esto debería darnos una lista de todas las cosas que queríamos saber de esa transacción. ¿ Cómo es eso posible? Esto fue un gran error. Olvidé el paréntesis. Por eso fue algún problema. Tendremos que llegar a este punto de todos modos. Y aquí vamos. Ahora podemos ver que hay otras formas. Dijimos que tenemos la transacción hash tiene una dirección de a dirección y el valor. Ahora aquí recuerda que el valor es de alguna manera, por lo que tendremos que convertirlo. Si no estuviéramos ya normalmente, entonces tendremos que convertirlo así. Y poder hacer eso. Tendremos que ponernos un poco más creativos. Porque tendremos que imprimir el valor por separado. Porque si solo intentamos, creo que si solo tratamos de usar esto, si solo tratamos de usar esto en el Val aquí, creo que no va a funcionar porque no todos son camino las otras cosas que estamos buscando. Las direcciones. Entonces esto probablemente debería ser siempre. Efectivamente lo hace porque estamos tratando de hacer lo equivocado. Así que por ahora, sólo para mostrar cómo funciona eso, solo voy a quitar los otros y sólo vamos a buscar el valor. Ahora si lo imprimimos así, sólo se va a imprimir el valor. En este caso debería funcionar. Debería convertirlo lejos. Muy bien, o al teorema. El número de éter efectivamente transfirió estos muchos B & B en este caso. Solo quería mostrarte, si quitamos la lista aquí, solo estamos imprimiendo los pares clave y valor. Solo quería mostrarte cómo se ve. Si sólo iteramos a través de ellos sin apagar, sin especificar lo que queremos llevar. Entonces va a imprimir todos los datos. Aquí. Lo puedes ver en absoluto. Estos hashes se imprimen en la forma de bytes. Si queremos extraerlos, entonces tendremos que reiterar a través de ellos y convertirlos en. Muy bien. Esta es una especie de la lección inicial donde te mostraré cómo conectarte al software, cómo recuperar cierta información, cómo obtener interés de transacción pendiente para ellos. Perdón por la confusión con los artículos aquí. Pongo todos estos dos paréntesis, pero ahora deberías tener una comprensión decente de cómo funciona esta parte. Y en la siguiente, sólo vamos a pasar a recuperar más información. 4. Interact con un contrato inteligente: Hola y bienvenidos de nuevo a la Web tres para la blockchain. Entonces en este video, vamos a mostrar cómo podemos usar la biblioteca Web tres en Python para interactuar con esos tokens contrato inteligente. Lo que vamos a hacer es que vamos a empezar a recuperar información sobre un token específico. Entonces éste va a este guión. Va a empezar igual que el último, porque lo primero que queremos hacer es conectar la blockchain. Entonces aquí acabo de borrar, acabo de reiniciar todo con lo nuevo en el nuevo archivo, solo con una nueva conexión. Y lo único que quieres notar aquí es que también estamos importando JSON porque vamos a trabajar con el archivo JSON del ABI. Entonces una vez que nos conectamos, lo primero que necesitamos para realmente hablar con un contrato inteligente token es el EBI. Podemos llamarlo BI, puedes llamarlo token API, puedes llamarlo como quieras. El EV AI es sólo una conexión. Entonces básicamente representa todas las funciones disponibles en el contrato inteligente. Y usamos este archivo JSON para poder comunicarnos con él. Json es solo un lenguaje que usamos para tener una aplicación diferente comunicarse entre sí. ¿ Cómo encontramos el ABI? ¿ Cómo encontramos la dirección? Entonces estas son las dos cosas que necesitamos. Necesitamos la dirección del contrato y un cuarto ABI. Como casi cualquier otra cosa en este entorno, lo encontraremos en el escaneo BS. Recuerda que estamos trabajando en BAC en este momento. Si volvemos a ser un escaneo, podemos encontrar el token. Trabajemos. Hoy. Podemos simplemente trabajar con el token de la torta. Simplemente escribe pastel, y encontraremos el token suave de panqueque, que es pastel de símbolo. Ahora en su página, vamos a encontrar el contrato. Aquí. Si hacemos click en el contrato, ahora, podemos decir la dirección del contrato desde aquí y pegarla en el expediente. Entonces lo pegaremos aquí en la variable de dirección, y aquí la tenemos. Y ahora podemos encontrar el ABI. Entonces para encontrar el RBI, solo iremos en contrato donde haya un código que podamos desplazarse hacia abajo y queremos ver aquí todo el contrato inteligente. Este es el código de solidez. Y luego si guiamos scroll y habíamos contratado BI. Aquí se puede ver el JSON donde solo enumera todas las variables y todas las funciones de variable. Realmente no lo hiciste, no te preocupes si no entiendes qué enfermedad que realmente no es la necesidad ahora mismo, así que solo podemos copiarla. Ve a pegarlo en el ABI, en la variable BI aquí. Y es un archivo bastante largo, pero está bien. Ahora con estos dos, en realidad podemos tener acceso al contrato inteligente e interactuar con él. Entonces lo primero que tenemos que hacer, tenemos que reconstruir básicamente el contrato en Python. Recordemos el contrato inteligente. Para ello, vamos a tener que usar el método del contrato. Y sólo podemos crear una variable. Ahora podemos llamar contrato. Haremos Web tres. Contrato Dot. Mantiene las cosas mal escritas hoy. 3d, no contrato. Dentro del contrato. Vamos a pasar dos parámetros, tendremos la dirección, que en este caso es variable de dirección, la ABI, que en este caso es nuestra variable detrás. Y eso es todo. Ahora tenemos el contrato reconstruido en Python. Si imprimimos esto, si tratamos de imprimirlo y correr, deberíamos ver que la conexión tiene éxito. Y aquí vamos en unas huellas esta cosa aquí que dice, hey, tenemos un objeto de contrato en estas coordenadas. Esto significa que ahora tenemos un contrato en Python y podemos acceder a él. ¿ Qué podemos hacer? Bueno, podemos hacer múltiples cosas. Podemos llamar al suministro total. Podemos recordar el nombre de la función, el nombre del símbolo, y los saldos. Si vamos en las bs puede volver aquí. Aquí tenemos la sección de contrato. Si vamos a leer contrato. Vamos a resaltar todas las funciones que podemos llamar. Por ejemplo, aquí tenemos la función de subsidio para cuando usted aprueba y permite que el contrato acceda a sus fondos. Y tenemos el balance de función donde podemos poner una dirección y consulta para el balance de los directores y así sucesivamente. Podemos grabar los decimales, el nombre, Seymour un agosto, cosas. Podemos leerlos a través de esto o podemos hacerlo en Python. Eso es lo que vamos a hacer ahora. Por ejemplo, lo primero que vamos a hacer, podemos, podemos recordar la oferta total. Encontremos el suministro total del stock. Entonces lo haremos, creamos una variable llamada suministro total. En este caso, vamos a, vamos a acceder a la función de suministro total, que va a mostrar a qué accederá el total de suministros al contrato. Este es el nombre de la variable que creamos. Entonces si llamas a esta variable contractual de una manera diferente a la que tienes que igualar, puedes igualar aquí. Haremos funciones de punto de contrato porque estamos, estamos tratando de acceder a las funciones. Y entonces aquí podemos poner la función que queremos al eje x. Por lo que en este caso, la oferta total. Después ponemos el paréntesis. Si simplemente lo dejamos así, en realidad no estamos llamando a la función todavía. Asegúrate de que no llamamos al método que Python tiene para llamar realmente a la función. Ahora, estamos llamando a la función de suministro total. Si lo imprimimos. ¿ Adivina qué va a pasar? Sin embargo, vamos a tener un número. Vamos a tener uno de esos números enormes, incomprensibles. Porque de nuevo, aquí estamos llamando al abasto total, pero está en camino. Digamos, teníamos este enorme número y tipo de se asemeja a lo que tenemos aquí. Si volvemos a la página anterior, debería mostrarnos la oferta total ve un poco se asemeja a esto, pero todas las comas y todo lo que poseen el lugar equivocado. Tuvimos que convertirlo. Déjame simplemente hacer esto más pequeño. Por lo que ahora podemos simplemente, tuvimos que convertir la oferta total. ¿ Cómo podemos hacer eso? Simplemente lo cambiaremos con un metal igual que lo hicimos antes. Por lo que aquí frente a la oferta total, llamamos a Web tres puntos de camino. Entonces aquí va a estar el suministro total. Lo convertiremos en éter, igual que lo hicimos en el anterior. Entonces no olvidemos todo el paréntesis. Ahora si lo imprimimos, deberíamos tener un número más razonable. Y aquí vamos. El punto decimal en este no es el lugar correcto. Sigue siendo un gran número porque el total de suministros fue de 700000000.700 millones de tokens. Ahora mismo. Sigue siendo un número bastante grande, pero al menos el decimal no es el lugar correcto. Entonces si quieres hacerlo un poco más fácil de usar, entonces podemos imprimir una cadena delante de ella, como lo hicimos antes. Simplemente podemos llamarlo suministro total. Ahora debería darnos en un poco más salarios fáciles de usar no va a simplemente fijar unos números aleatorios. Di, oye, aquí está el suministro total ahí. Agradable. ¿ Qué más podemos hacer? Estamos accediendo al contrato inteligente sobre token. También podemos acceder a los datos de la charla y podemos acceder a nombre y símbolo, por ejemplo. Y va a funcionar de la misma manera. Hagamos el nombre, cómo va a funcionar el token de la misma manera, usaremos el nombre de la función de punto contractual, en el que está la función, el name.com. Entonces podemos simplemente copiar esto, pegarlo, y luego modificaremos esto va a ser el símbolo. Llamaremos a este símbolo así. Ahora si imprimimos esos dos, aún imprimimos el nombre. Entonces imprimiremos el nombre. Entonces imprimiremos impresión de consumidor. Tratemos de ejecutarlo. Ahí vamos. Pudimos llamar el nombre token suave del panqueque y el nombre token del pastel. Ahora, una cosa interesante es que el ABI aquí para estos tokens es siempre lo mismo. Todo el token estándar ERC20 y el token estándar de profundidad 20 del BSC. Todos tienen la misma estructura. Si tenemos estos MBI, solo cambiar la dirección, vamos a poder simplemente recuperar toda esta información para cualquier token aquí. Entonces vamos a modificar esta variable. En lugar de tener dirección codificada, vamos a crear una entrada donde permitimos que el usuario ingrese la dirección. Entonces digamos justo ahí, dirección, token a otros. Al igual que el espacio se ve bien. Ahora, el contrato aquí, y en todas estas funciones, lugar de codificar duro y tomar pedidos específicos de token de pastel, entonces podemos tener lo que queramos. Sólo vamos a colocarlo ahí dentro. Vamos a encontrar otro token aquí. Hagamos, por ejemplo, que han compartido aquí. Sí, aquí está. Busquemos ovejas. Aquí está la dirección del contrato. Podemos copiarlo. Y si miras aquí el suministro mientras ni siquiera sé leer esto, cuántos son, pero vamos a ser capaces de recuperar estos números de nombre y así sucesivamente. Entonces aquí, cuando ejecutamos el programa, el programa debe conectarse y luego preguntar, hey, sacó aquí la dirección. Aquí está, dirección correcta y parlante. Para que podamos pegarlo. Si sí entramos, entonces se va a recuperar la oferta total hablando nombre y símbolo. Y puedes hacer esto por cualquier token. Hagámoslo, no sé cuáles son fichas del Pantone más pesado. Vamos a probar fuente en el BSC. Ejecutamos el programa, pegaremos la dirección. Algún código VS hace esto cuando estás tratando de hacer el control V, Hace esto. Cómo arreglas esto es que matas a la terminal. Lo reiniciarás así. Y en algún momento se va a reiniciar. Mi computadora es tan lenta últimamente. Muy bien, para que podamos pegar la dirección aquí. Aquí tenemos proveedor, nombre y símbolo. Muy bonito, Muy bonito. Entonces así es como podemos recuperar la información. Entonces, ¿cómo usarías esto? Bueno, podrías crear una app que permita a los usuarios ingresar la dirección que quieren y recuperar información de ella, igual que lo hicimos ahora. O puedes asociar estos dos anteriores. Puede haber escaneos para una transacción específica de tokens específicos y así sucesivamente. Lo último que vamos a comprobar aquí, es cómo encontrar el saldo de diferentes direcciones. Ahora accedemos, tenemos una forma de acceder a contrato. Aquí. Voy a cambiar esto de nuevo. Sólo voy a codificar esto de nuevo. Podemos mantener ese asunto frontal ahí dentro. Ahora vamos a encontrar cómo podemos encontrar ese equilibrio de Phantom en este caso en una dirección o mejor dicho. Hagámoslo, vamos a crear aquí una variable llamada billetera. Otros tendrán una dirección en algún lugar de aquí. Por lo que sólo podemos encontrar uno al azar. A partir de aquí, podemos hacer en los titulares. Vamos a encontrar un artista que tenga mucho del tronco. Este de aquí tiene muchos de ellos. Tiene 6% de la oferta. Fuimos en el mal. Muy bien, entonces vamos a copiar la dirección. Simplemente lo pegamos aquí. Por lo que ahora tenemos una dirección. Entonces vamos a usar el equilibrio de función para esto. Para el balance, solo podemos crear una variable llamada balance. Llamaremos al contrato el saldo de puntos de la función. Esta es la función que se va a acceder a la dirección y comprobar la, comprobar la violencia. Entonces para pasar la dirección como parámetro, queremos pasarla para comprobar algún método de dirección. Haremos Web tres. En este caso, la Web tres es con un punto W mayúscula para comprobar alguna dirección estos de aquí. Este es un método que podemos usar para pasar las direcciones y a la biblioteca le gusta más porque es más seguro. En algún momento si trataste de pasar una dirección y no usas esto va a conseguir un rastreo y te va a decir que lo quiere como dos cheques y Madras y verás ese error. Eso es lo que necesitas hacer. Y ahora podemos pegar las arterias de la billetera en realidad no tenemos que enfrentar, ya lo tenemos sólo va a dirección de billetera aquí. Entonces recuerda que después de esto, necesitamos llamar así a la función. Y luego podemos imprimir. Pero recuerda que este de aquí se va a imprimir de manera, de nuevo. Para poder convertirlo, solo podemos hacer lo habitual con tres De camino. Después pasamos los parámetros y queremos tomarlo de la variable de balance. Lo queremos en éter como se mide la unidad. Ahora cuando ejecutamos el programa, debemos conseguir algunas cosas que debemos agregar la conexión es exitosa. Deberíamos conseguir un proveedor total, el token, debemos obtener el símbolo con nombre, y luego el saldo de este token en esta dirección aleatoria, una función de onda será un escaneo. Entonces vamos a ejecutarlo. Suministro exitoso y cada audiencia. Y ahora estamos aquí. Ahora sabemos cómo llamar a los saldos de las direcciones. Y puedes usar esto si quieres crear un bot, por ejemplo, digamos que quieres crear un bot para colocar órdenes de límite o simplemente para colocar transacción y hacer swaps en nuestra intercambio de oyentes. Bueno, esta será una buena manera de mostrar al usuario el saldo para que sepan cuántas monedas como swap y así sucesivamente. Esto concluye esta lección. Esto es un poco más corto, solo para ver lo específico o cómo interactuar con el contrato inteligente, especialmente el contrato inteligente de un token. En la siguiente, vamos a ver cómo enviar transacciones. Entonces sólo vamos a enviar tokens entre billeteras. Muy bien. Nos vemos en el siguiente video. 5. Envía transacciones con Web3.py: Hola y bienvenidos a las lecciones de transacciones en Web tres con Python. En la lección anterior, vimos cómo podemos conectarnos a una blockchain y tomar datos de la ayuda, especialmente solo datos regulares de la blockchain o dos tokens específicos. Ahí. Vamos a ver cómo podemos enviar la transacción. Por lo que sólo podemos enviar token entre billeteras. Aquí tengo un par de cosas diferentes a las de los últimos videos. En primer lugar, estoy importando un objeto extra aquí. La clave privada. Para enviar transacciones, hay que firmarla. Por lo general, si lo haces manualmente, Sonny de MetaMask mandas una transacción y luego aparece MetaMask y te pide que lo firmes. En este caso, vamos a la computadora, el software lo va a asignar automáticamente y necesitamos una clave privada para eso. Ya que simplemente no quiero mostrarlo en el video, lo puse en un script diferente y soy importante como clave privada, palabra clave aquí. Variable. No va a cambiar nada para ti. Simplemente puedes tomar tu llave privada de tu billetera y simplemente pegarla ahí cuando lo hagas tú mismo. La segunda cosa es que cambié el punto final y el nodo. Éste de aquí, lo estoy haciendo en la red de pruebas. Podemos enviar B&B de ida y vuelta sin tener que tratar de ser dinero real, real para llegar al nuevo punto final. Quieres ir en los perros ceguera. Y luego donde tenías los RPC. Si te desplazas desplázate hacia abajo, entonces tenías la red de prueba y acabo de sacar la primera de aquí. Esa es la primera parte. Eso es lo mismo donde nos conectamos a un punto final. Y luego es esto, la transacción se divide básicamente en dos partes. En primer lugar, vamos a configurar las direcciones. Después construimos la transacción. Entonces lo firmaremos. Si lo firmamos y luego lo enviamos. De inmediato con esto. Lo primero que vamos a hacer es especificar las diferentes cuentas en un análisis diferente que vamos a utilizar. Podemos simplemente llamarlo cuenta una cuenta dos, o remitente y receptor. Llamémoslo remitente y receptor. Entonces es un poco más mnemónico. Creará el remitente variable, que va a ser una dirección y cuenta, y el receptor, que también va a ser una dirección. Entonces tendremos las claves privadas, que en mi caso, sólo van a ser las variables de clave privada que se importan desde el principio. En tu caso va a ser tu palabra clave o simplemente puedes ponerla entre el curso de tu clave, lo sentimos, tu clave privada que puedes poner entre las palabras clave, el curso, y así así. Entonces tenemos al remitente y el receptor va a tomar las direcciones y queremos entrar por mi MetaMask. Entonces lo que queremos hacer es que queremos que tengamos estas arterias aquí que tiene una prueba y B&B Ya ves que estamos en la red de pruebas. Lo vamos a tomar desde ahí. Lo vamos a enviar a otra dirección. Vamos a mandar medio B&B a otra dirección. Simplemente cambia esa cuenta y ponla aquí debajo del receptor. acaso no sabes cómo conseguir tu clave privada. Simplemente hazlo desde la máscara de Matthew. Usa cualquier cuenta que quieras conseguir el marco de clave privada en los tres puntos, aunque los detalles de la cuenta, entonces lo tendrás aquí. Harás clic en Exportar clave privada para tu contraseña. Y entonces vas a tener la llave privada asegúrate de usar en hombro a cualquiera porque son uno con la llave privada, entonces cualquiera podría simplemente enviar, hacer, hacer transacciones, enviar dinero lejos de su contabilidad, o quiere hacer eso. Ahora tenemos las tres variables. Lo siguiente que vamos a conseguir son los nonce, nonce nuevos. Estos básicamente es algo en tu billetera que hace un seguimiento de la transacción. Entonces si no lo tenemos no va a funcionar. Queremos asegurarnos de que lo establezcamos. Entonces el, el, el guión lo sabe. Es enviar una transacción sólo una vez. Y puedes hacer un seguimiento de eso. Lo que vamos a hacer, vamos a crear una variable llamada césped. Usaremos un método llamado Get transactions count. Entonces vamos a hacer la Web tres, conteo de transacciones punto punto, que se hace aquí, este de aquí, buen recuento de transacciones así. Tendremos que hacerlo por el remitente, lo haremos por el centro así. Por cierto, todos los códigos en estos, en todos estos videos, queremos el hub lead y el link GitHub está en la descripción de la clase. Lo pondré probablemente en la discusión también. Entonces si quieres tener el código completo prefabricado ya, solo puedes buscarlo ahí arriba. Pero lo recomendaré simplemente recubrir conmigo porque es mejor para practicar. Ahora el siguiente paso una vez que tengamos esto, es que necesitamos construir la transacción. Verás el final de este video. Verás qué tan rápida y fácil enfermedad y tienes que hacerlo solo una vez y luego puedes reutilizar esto. La transacción se construye de esta manera. Tiene, es básicamente un diccionario, tiene algunas parejas diferentes en él. El primero que vamos a usar como los knowns. Dejar en un tomarlo de la variable normas que hicimos así. Por lo que ahora el descripto de tránsito sabe enviarlo solo a una sola vez. Ahora tenemos dos que especifica a qué otros enviarlo. En este caso, vamos a poner receptor. Entonces tenemos que especificar cuánto queremos enviar con el valor de palabra clave. Ahora, si acabamos de poner, dijimos que queríamos mandar medio B&B Si acabamos de poner esto, entonces ahora va a trabajar porque esto va a mandar lejos. Tendremos que convertirlo al valor real de B&B y lo haremos de la manera habitual, Web tres de forma como esta. Y luego aquí podemos especificar el monto. Entonces aquí vamos a poner 0.5 va a ser 0.5 éter, así como eso. Entonces tenemos que precisar el gas. Esto aquí será básicamente el límite de gas, cuánto gas estamos dispuestos a gastar. Creo que estas muchas maneras deberían ser suficientes. Entonces hay formas de estimar cantidad de gas que podrías gastar y podrías usar. Hay guiones que podrías diseñar para hacer eso. ¿ Por qué tomaste básicamente dependiendo las tendencias de las últimas transacciones que pasaron y luego tomas todo el valor que tenían y cuánto pagaron, y luego puedes hacer una estimación esos pero en este caso sólo iba a decir así. Y luego tendremos precio del gas, que es básicamente a cuántas unidades de gas vas a enviar. Éste también tiene que decirse, tiene que transformarse de camino. Entonces vamos a hacer ancho tres. Lo siento, esto tiene que ser tiene que ser convertido para pesar. Haremos bidireccional. Entonces podemos poner nuestras unidades aquí. Voy a mandar 747 gris con él. Cuales son más grandes, es un poco más grande medida o unidad, ¿verdad? Así. Por lo que ahora déjame solo comprobar la referencia que tengo aquí. Creo que pudimos construir una transacción como esta. Muy bien. Ahora que se construye la transacción, tuvimos que firmarla. Firmar transacción. Podemos poner, podemos crear una variable llamada transacción firmada. Para firmarlo utilizará asignar métodos de transacción. Por lo que es la cuenta Web de tres puntos puntos en este caso porque la estamos extrayendo de una cuenta. Y entonces vamos a hacer firma transacción, que no es la que nano marcador es éste de aquí. Transacción firmada aquí tendrá que pasar dos parámetros. El primer parámetro es una transacción que enviamos. El segundo es nuestra clave privada. Así como eso. Y recuerda que mi clave privada está en un archivo diferente, pero tu clave privada estará ahí. Ahora que teníamos la transacción, podemos enviarla. Cómo lo enviamos, podemos hacer podemos llamarlo. Vamos a llamarlo un hash de transacción porque de éste de aquí va a salir sale el hash de transacción. Entonces, entonces podemos usar para verificar la transacción, lo llamaremos ceniza de transacción y será Web tres. Este se va a llamar enviar transacciones sin procesar. Enviar transacción sin procesar. Este de aquí. Sin los guiones bajos. El parámetro va a ser la transacción de firma como esta, que es la que creamos antes de que punto trajera transacción. Estoy tratando de escribir rápido. Estamos mirando el teclado luna, ¿lo estoy haciendo? Hno, ¿transacción? La transacción debe ser buena. Entonces éste va a proporcionar a los proveedores el hash de transacción. Lo que podemos hacer es que también podamos imprimir la ceniza de transacción. No podemos hacer eso. Impreso en ellos. Recuerda que tuvimos que convertirlo desde bytes dos x, tres x Aquí, pasaremos el hash de transacción. Así. Hagamos, pongamos una pequeña nota aquí. Tal vez. Se ve un poco más agradable cuando imprime así. Este es más o menos el sistema simple que tenemos para enviar transacciones. Entonces podríamos hacerlo, podríamos mejorarlo y agregar la funcionalidad como buscar tal vez fuera de variables. Es Python, así que puedes hacer prácticamente lo que quieras. Veamos si funciona. Deberían trabajar. Probé hace apenas un segundo. Entonces, ¿qué va a pasar una vez que presionemos el botón? El botón Ejecutar se va a conectar a la prueba y va a tomar medio B&B de esta dirección y enviarlo a esta dirección aquí. Y entonces debería darnos un hash de transacción y luego convertimos cinco franjas. Va a correr pasa. Sólo estamos tratando de ejecutar un scriptdiferente script que lo hago de nuevo. Ejecutando este script aquí, si lo ves tiene el guión de video anterior. Eso es tratar de correr. La cosa equivocada. Yo lo hice. Yo puse Q wave, dijo, ¿Por qué se está ejecutando esta cosa? Interesante. Vamos a intentarlo de nuevo ahora que corrigimos el error. Aquí está diciendo que el valor se acaba de probar el segundo atrás. Veamos si traté de enviarlo porque parece que no le gusta el decimal. Veamos si hay algún tipo de bloque en mi sistema. En primer lugar, porque también está ejecutando otro script ejecutándose porque lo conecté aquí. Por eso. Aquí vamos. Diremos ese error que cometí en lugar de dos vías, saqué de camino. Perdón por eso. Estos deben ser esperar porque lo estamos convirtiendo de nuestro número legible dos, el número de sistema. Muy bien, veamos. Ahora debería funcionar. Transacción bajo precio. Significa que aquí no tiene suficiente. Tratemos de poner diez gla, aumentar el límite de gas también. Entonces la transacción bajo precio, a veces vas a ver, por eso suele ser bueno tener, tal vez va a poner algo más de gas o tener un guión que te calcule el Gaspar. Ahora da fondos insuficientes para el gas al precio. Entonces todas estas pequeñas flechas que estamos recibiendo como buenas para ver, hay poca c Así podemos solucionar en caso de que las vayas a ver más tarde. Lo que está pasando aquí es cualquier cuenta nueva, tengo exactamente un BNB y estoy tratando de enviar un BnB más el gas, que no va a funcionar. Tratemos de poner la mitad BNB y ahora debería funcionar. Aquí vamos. Esta vez funcionó. Tuvimos que hacer alguna solución de problemas, lo cual está bien, eso es parte de la vida normal, programación de la vida. Ahora si tomamos estos hash, vamos revisando nuestro, bueno, primer lugar, podemos comprobar si ocurrió la transacción. Máscara fundamental. Ahora se puede ver desde esta cuentas Indias que tenía 1.2, ahora tengo 7.71. Estas otras cuentas tengo la mitad menos el gas que se utilizan. Por lo que la transacción pasó. Y también podemos comprobarlo aquí en el escaneo. Y dice que puede encontrarlo. A veces sucede que no lo puede encontrar porque tal vez es lento en el índice en N. Y ahora no importa no es por eso. Es porque estoy usando lo diferente no es una prueba. Esta de aquí no es la prueba y por supuesto que no la va a encontrar. Tendremos que localizar a través del tipo BS de la prueba y no tenemos que ir a buscarla Ahora porque ya verificamos en la transacción pasó. Aquí. Lo verificamos. Ocurrió una transacción. Sólo para recapitular, lo que está pasando aquí cuando ejecuto mi guión. En primer lugar, me da todo esto. Porque lo que hice es que acabo de sacar eso. Acabo de poner mi clave de producto en el script que crearon en el video anterior, luego solo la vinculé a ella. Entonces cada vez que estoy ejecutando, este script también está ejecutando el otro. Por eso está mostrando estos y me confundí al principio. Y luego vimos un montón de errores que hicimos yo puse aquí fue un buen ejemplo para ver la diferencia entre los dos y de camino. Entonces 2-way es cuando queremos convertir los números que podemos leer a través de los números de la blockchain puede leer. Y de camino es cuando se quiere tener un número de la blockchain con 18 decimales, convertirlo a redoblar números para nosotros, entonces tal vez tenga que modificar un poco los precios de la gasolina. Vimos eso, vimos esos errores y así sucesivamente. Entonces esto fue bastante instructivo. Espero que lo hayan disfrutado. Lo siento. Hubo tantos de ida y vuelta sobre la solución de problemas, pero eso es solo un día normal de programación. O el siguiente video va a ser el último que voy a mostrar cómo hacer swap desde transacciones de Swap en un exchange descentralizado. Entonces en este caso, vamos a usar sirope de panqueque y vamos a hacer un intercambio entre B & B & B en pastel o B&B en otro token. Nos vemos en el siguiente video. 6. Intercambia tokens en un intercambio descentralizado.: Hola y bienvenidos a la última lección de este curso, lloramos tres aplicaciones para la blockchain. En la lección anterior, vimos cómo podemos conectarnos a la blockchain, cómo podemos recuperar datos de ella, cómo podemos enviar la transacción dos carteras diferentes. Hoy vamos a ver cómo podemos interactuar con el intercambio descentralizado y hacer un intercambio. Hay muchas funciones diferentes o podemos llamar desde intercambio descentralizado hoy solo vamos a enfocarnos en el swap B&B en este caso porque vamos a usar empaque swap, estos dos, swap B&B para otros tokens. Vamos a interactuar con el contrato inteligente y el intercambio descentralizado. Lo primero que vamos a tener que colocar aquí, además de lo habitual, aquí tengo el patrón de colección habitual. Vamos a tener que configurar la dirección de la dirección de contrato inteligente del swap de panqueques o lo que sea por intercambio descentralizado que necesites el ABI. Entonces voy a partir de eso. Tendremos una variable llamada dirección de panqueques. Lo escribí mal. El panqueque ABI. Estas son las dos primeras cosas que necesitamos. ¿ Cómo conseguimos esos? Básicamente vamos a Google panqueques de dirección del router y te va a dar la documentación o simplemente puedes ir directamente a un panqueque. Entonces documentación, si vas en el router V2, entonces tendrás información. Y aquí teníamos el contrato para abordar el router de jabón de panqueques. El router es el contrato que gestiona las transacciones para los swaps. Y luego si vamos a pegarlo aquí, nos va a traer saber panqueques jarabe router V2. Aquí tendremos la dirección. Y llegamos a aquí. Simplemente lo pegaremos. Para el ABI va a hacer lo mismo que hicimos con el token. Vamos a contratar. El código se arrastraba. Nos encontramos con el IBI por lo que sólo podemos llamarlo. Ahora mientras estamos aquí, podemos ir a ver las funciones que sí leen contrato. Podemos ver todas las funciones que podemos llamar. Por ejemplo, habíamos sacado una cantidad de montaña. Esos dos se pueden utilizar para recuperar precios. Por ejemplo, si haces una función para llamar a esta función, entonces básicamente podemos comparar para hablar ya que puedo conseguir el precio. Digamos que quieres tener el precio BU es el de lo que B&B es ahora mismo, entonces eso es lo que harías. Aquí. Usaremos el getter entre fuera. Y básicamente pondrás la cantidad que quieres intercambiar y es un token. No sabes que queremos resolver un rato. La cantidad que quieren conseguir, el precio de, sería uno. Y luego obtendrás la dirección de donde quieres la comparación. Por lo que BAB con el n te va a dar el precio en este momento. Habrá, será éste aquí, sacar montos. Y entonces puedes hacer abrigos y todo. Esos son los que podemos leer. Ahora, los que podemos escribir, los de aquí, y estas son la función real que vamos a usar. Por ejemplo, vea puede agregar la liquidez, eliminar liquidez. Los que vamos a usar. Aquí. Vamos a usar este aquí. El jabón está exento o no, creo que vamos a tener que usar jabón a excepción de las fichas. Esta de aquí, hay una función que vamos a utilizar hoy básicamente va a tomar la cantidad de B&B es que entramos y va a intercambiar esa cantidad por cualquier token que queramos. Entonces esas son las funciones a las que podemos acceder. Y si volvemos aquí, entonces vamos a poner el ABI. Ahora tenemos una forma de acceder al contrato inteligente o al intercambio descentralizado ¿verdad? Ahora. Hay otras cosas que queríamos que son variables que queremos agregar. Es esta equidad ante la dirección que queremos hacer es que podamos llamarla dirección swap. Porque este es el Arizona que vamos a usar para hacer el swap. La clave privada. Llamémoslo clave privada. Y en realidad, sólo voy a ser así por ahora. Pondremos aquí la dirección . Una cosa que quiero notar que lo vuelvo a poner en la red principal porque el hisopo panqueque realmente no tiene una plataforma neta de prueba. Hay algunos probándolo panqueques del verano hecho, pero no funciona tan bien. En este caso, en realidad no vamos a poder enviar transacciones reales porque en realidad no tengo ningún fondo en esas billeteras. Pero el código funciona. Acabo de probarlo previamente, es lo mismo excepto llamado. Entonces así es como, ¿qué necesitas? En este caso, necesitarás poner también tu llave privada y solo pondré cosas al azar. Eso es al menos lo tenemos. Entonces lo siguiente que vamos a hacer es que necesitamos especificar qué token queremos comprar. Hacemos un token variable para comprar. Aquí tuvimos que poner la dirección. Digamos que queremos resolver. B&b es para pastel como practicamos la última vez. Ve y busca la dirección de Kcat. Aquí teníamos la dirección del contrato, cólelo. Lo colocamos en la variable y tokens. Ahora, en comparación con la transacción regular que hicimos la última vez, tenemos que sumar el token que queremos gastar. El video anterior. Acabamos enviar un B&B de un lugar a otro. En este caso, estamos gastando un BnB, queremos gastar B & B , desgarrarlo a otra moneda, habrá que tener en realidad otra variable que podamos llamarla gastar. Esta va a ser la dirección que queremos al otro, así que el token que queremos usar, y me acabo de dar cuenta aquí en el token para comprar, vamos a envolverlo en la función de dirección checksum. Estamos seguros de que funciona. Por lo que tenemos tres puntos para revisar alguna dirección. Rápido aquí dentro. Haremos lo mismo con el token de giro para revisar algunos otros. Ahora, para el token de giro, se nos dice que vamos a gastar el IMC, en realidad vamos a gastar B&B Pero cuando hagas estos swaps, usa en realidad gastar B & B envuelto. se nos dice que vamos a gastar el IMC,en realidad vamos a gastar B&B Pero cuando hagas estos swaps, usa en realidad gastar B & B envuelto. lo vamos a usar a lo mismo para ethereum, vas a hincharte. Si tú, si haces esto alrededor en intercambio de unidades, entonces vas a intercambiar Ethereum envuelto y así sucesivamente. Entonces tomaremos la dirección áspera B&B. Lo pondré aquí. Esto las arterias de la charla, vamos a intercambiar y luego el resto va a ser bastante similar a la lección anterior. Construiremos una transacción y así sucesivamente. Entonces ahora volveremos a crear los nonces. Tres puntos. El recuento de transacciones es uno aquí. Este va a ser el conteo de transacciones de la dirección que queremos intercambiar, que queremos usar para usar el swap. Por lo que ahora podemos crear la transacción de swap real. Este de aquí vamos a llamar a ese swap exacto por tokens. Entonces, lo que vamos a hacer, vamos a crear el contrato primero. Aquí. Aquí nosotros, hicimos el contrato del router donde básicamente hicimos igual que antes cuando accedemos al contrato en el token, acabamos de crear un contrato de enrutador. Fuimos contrato de tres puntos y luego solo la dirección del panqueque y el ABI. Por lo que ahora tenemos la conexión con el contrato. En este punto. En realidad podemos crear una transacción. Aquí es donde construimos ese será el lado de intercambio que si se nota al principio, no sé por qué este vendajes. Yo también importa el tiempo, porque aquí queremos poner una referencia de tiempo en sintonía la transacción para que no pase el tiempo de espera. Podemos empezar a construir el tránsito, el swap. Tenemos una variable llamada start. Aquí. Solo usaremos el tiempo como este. Esto básicamente va a iniciar un temporizador cuando se inicie la transacción, un tiempo de espera. Y verás más adelante durante la función se va a renderizar transacción va a mostrar eso. Después comenzamos a crear la transacción de paquetes. Podemos llamarlo panqueque sea dos transacción como esta. Simplemente lo haremos a través del contrato de enrutador que creamos anteriormente aquí. Contrato de producto. Las funciones. Dijimos que íbamos a intercambiar, llamó al swap exacto por tokens. Ahora esta es la función que se va a, esta es la función que va a intercambiar la cantidad exacta de BNB que reemplazamos por el equivalente de los tokens, en este caso el token cake que nosotros colocado aquí. Lo primero que tenemos que poner es la cantidad mínima de tokens que iban a vivir en recibido. Y sólo vamos a colocar ceros. Entonces la transacción siempre va a pasar. Podríamos poner, no sé que para cada B & B aunque intercambiamos, queremos un recibir al menos una cierta cantidad de pasteles. Y la transacción no va a pasar a menos que estén, se cumple el requisito. Y luego en el segundo paso, básicamente tenemos una matriz de las direcciones que utilizamos. Entonces primero tenemos que gastar dirección, que es la dirección del wrap y BNB que vamos a usar el token para comprar. Estos están aquí mismo tiene estas direcciones del token que queremos gastar, un token que queremos comprar, entonces la dirección que realmente va a hacer el swap, que es nuestra dirección de intercambio aquí. Entonces este punto aquí tendrá que usar el tiempo. Entonces tenemos que asegurarnos de que sea un entero. Pero entonces vamos a hacer veces el tiempo más 10 mil milisegundos. Por lo que estos números que pondrán aquí es en milisegundos. Entonces lo que pasa aquí es que la transacción va a empezar aquí. Y luego si no se hace dentro de 10 mil milisegundos, entonces va a tiempo de espera. Es una transacción no se atasca ahí para siempre. Después de esto. Podemos hacer construir transacción es paréntesis se ve un poco. Transacción aquí. En realidad podemos construir una transacción como hicimos antes en el swap anterior, no sabemos transferencia de software. Aquí tenemos la transacción en este caso, la primera clave va a ser de. De nuevo, es como un diccionario. Aquí tenemos este swap partners porque lo estamos enviando desde ahí. Entonces el valor. Sólo tendremos que hacerlo como antes, donde tenemos que convertir los números que podemos leer, los números y el sistema pueden leer. Haremos tres puntos a dos vías esta vez. Después reemplazamos la cantidad que queremos intercambiar. Entonces digamos que queremos intercambiar un B&B entero Entonces eso es lo que vamos a poner aquí. Y la unidad va a ser éter. Entonces el siguiente, será el gas que usamos. Aquí. Podemos poner mucho que hicimos antes así. Creo que sólo hay una gasolina básicamente. Recuerda que entonces durante la transacción real podríamos tener que ajustarla un poco. Y luego tendremos el precio de la gasolina. El mismo principio con tres, bidireccionales. Pondremos diez GHz de manera esta vez. Entonces sabemos que debemos trabajar. Entonces al final aquí colocaremos el nonce. Esto hace que la transacción ocurriera sólo una vez, y queremos asegurarnos de eso. Ahora vamos a comprobar rápidamente que ponemos todo lo que los sacamos de. Ponemos el valor gas, precio del gas en el no-cuadrado. Bueno. Ahora se construye la transacción aquí. Solo di que parece que tenemos aquí un paréntesis extra que no necesitamos. Redo necesitaba era uno extra. De acuerdo, muy bien. Ahora, la transacción es un software construido que sólo tenemos que firmar una transacción igual que antes. Firmar transacción. Sólo estamos usando lo mismo que usamos antes en el video anterior con tres puntos conteo firma transacción. En este caso, ponemos el nombre de esta transacción que llamamos transacción panqueque V2, la clave privada. Así como eso. Y acabo de darme cuenta de que lo puse en el ingresado aquí. Nos va a dar un error. Entonces recibiremos el hash de transacción. Voy a enviar aquí es como vamos a enviar la transacción sin procesar. Transacción. Uno aquí. Aquí tendremos la transacción firmada, transacción como esta. Déjame desplazarse hacia abajo para que podamos ver mejor. Esto va a devolver nuestro hash de transacción. Y luego podemos imprimir la ceniza de transacción como antes, tres puntos e a x Luego imprimiremos el hash de transacción. Así. Muy bien. Si tratamos de salvarla, funciona bien. Entonces así es como hacemos el intercambio. Ahora no voy a hacer que funcione porque no tengo fans aquí sólo va a dar errores y si tengo algo ahí, así que va a intentar desperdiciar gas. No quiero hacer eso. Pero así es como hacemos la caída de B & B a otro token. Ahora si quieres hacer lo contrario, entonces lo llamaremos una transacción diferente. Entonces digamos que queríamos hincharnos para intercambiar. Queremos vender al hablar y cambiarlo a B&B Entonces tendremos que usar una transacción diferente, lo siento, una función diferente llamada swap excepto tokens para que se pueda encontrar por ahí en el, en el contrato. En el, en realidad en el GitHub. También está cómo vamos a ser esta función. Eso es todo. Este es el final del curso donde pasamos básicamente por los fundamentos de cómo podemos interactuar a través de la Web tres con Python. Bueno, gracias por seguir, y te veré en el próximo curso.