Transcripciones
1. Introducción: Bienvenido a esto son
sin tierra contrato maorí causa ¿por qué importa esto? Contrato como mi contrato es MPS programa se almacena
en la blockchain. No se necesita nueva carrera mental y hacer incluso el empuje
a ambos cuerpos. Empoderando a Fairplay. Lemma de Yslow. Fácilmente hacer opción. La transacción cuesta
menos de un centavo. Más rápido que, que Visa. Y como definitivamente es más rápido
aunque 500 mil TPS, arcos
reales, descentralizadores
y startups. Boca. Jefe, era Bay Company fue debilidad del usuario
contextos cardíacos en tiempo real, vas a hacer tu ecosistema,
estás hablando, no
importa si estás
construyendo un videojuego, un banco de
aplicaciones descentralizadas. Así empresa lambda o solución
a largo plazo para
crear y asignar. ¿ Qué estamos aprendiendo
en este curso? Entonces lambda es diapositiva más
complicada. Pero voy a crear nuestro
primer contrato en Solana, datos
inéditos para el
contacto asmático y almacenar esos datos en cadena
y fuera de la cadena. Vamos a aprender a serializar y desserializar datos, tanto fuera de la cadena como de lado. Vamos a
aprender a transferir alma con un contrato inteligente. Bienvenido a este curso. Estoy muy contenta de tenerte aquí.
2. Intro a contratos inteligentes en solana: Se programa en Solana, ¿son equivalentes para contratos
inteligentes en
otras blockchains? Y están alimentando
DeFI y juegos. Dow. Muchas cosas más. Programas, programas de
procesamiento de instrucciones. Los programas son
apátridas. Programas. Apoyado en cuentas
marcadas como ejecutables. Los programas son. Se recomienda el cargador Bpf para escribir programas en pose bruta. Puedes usar C plus plus
y puedes usar ver lo que Ross es más fácil y seguro. Los programas de salud tienen una sola instrucción de punto de
entrada. Entonces cuando se quiere
invocar un programa, los argumentos básicos
son la idea del programa. Desea invocar la matriz de cuentas, los datos de instrucción. Programas de redacción. Angkor es una poderosa
solución construida sobre Ruby on Rails para escribir
programas con contratos inteligentes. Centrándose en la seguridad
se construye sobre Salama. ¿ Cómo escribes programas? El primer paso es
escribir los programas en recomendación de
asado y
probarlos en host local. Entonces puedes ir a
definirlo o probarlo. Y por último, puedes ir livianos
a los programas de mantenimiento. La invocación de programación
se realiza haciendo conexión
RPC con la API
del clúster actual. El clúster puede ser
mantenimiento, ¿no? Anfitrión definido y local
para testlet y definido, se
puede solicitar así
lambda porque programas deja en cuentas y cuentas
paga renta unidades Alana. Al principio
puedes probar en anfitrión local. Puedes pedir algunas monedas
a alguna Solana y puedes probar en la red de desarrolladores
y la red de pruebas. Y por último, cuando tengas
tu programa listo para salir a vivir, puedes hacer algo de Solana
y pagar la renta. Porque vamos
a ver las próximas cuentas. ¿ Cómo juegan un programa? Una vez que
establezcas tu nuevo entorno de clúster, tú en la terminal o
en la línea de comandos, escribes Solana pronoun
deploy con el protón BIPAP. Puedes incluir a tu gestor de paquetes de
carga
si estás en filas.
3. Solana Smart Contracts Life Cycle: Lambda es mi ciclo de vida de contrato. La comunicación entre
la Tierra y la propia Cadena. Programa puede comunicarse
con la red de cilindros. Hay tres vías por
el proyecto y un programa. Por ejemplo, en la red asada
Solana, donde el programa
vivirá para siempre. Mantenlo lejos. Con un cliente. Podemos enviar una sección
de pulso pasando instrucciones para
especificar para qué programa en esta red de alarma
nos estamos ejecutando, podemos bastante alguna
sección de información y consulta utiliza la API de JSON RPC Upsilon con los métodos que
Solana aprobó, por ejemplo, conseguir
el conteo para. Un cliente. Puede comunicarse,
puede ser cualquier cosa, puede ser la línea de comando, puede ser un sin reducir hasta cómo
Unreal Engine unidad de juego, el objetivo, o cualquier
robot de terceros puede ser cualquier
cosa que el cliente, pero necesita para seguir
las instrucciones. Para enviar API RPC, ¿correcto? Formatee el JSON con la
señal válida a algunas cuentas. Para que podamos tener nuestra respuesta. Transacciones. Las transacciones
están compuestas por firmas. mensaje del mensaje contiene, dirección de la cuenta de
Heather. La cuenta se dirige fuera de
las entidades que interactúan. Por ejemplo, puede
ser tu cuenta. Ahora que cuentas de
tus amigos o de nuestra red de la aplicación
descentralizada. Tendrás que pasar matrices
y bloquear las instrucciones. Una sola instrucción
solo puede llamar a un programa. Los bytes de datos se pasan
en patrones pasados. Las instrucciones solo pueden
apuntar a un
contrato o programa inteligente. Pase. El programa puede utilizar estos
datos para realizar una acción. Las instrucciones están compuestas por cuentas de AD del
programa en beta. El ID del producto es un
contrato inteligente al que estás llamando. La cuenta es el subconjunto de cuentas de transacción
o debemos pasar? ¿ Esto? Prueba de historia
utiliza estos cuatro. El momento, la ejecución
de los programas. No hay colisiones. El dato es una matriz de bytes de
los datos para realizar acciones. Aquí tenemos un ejemplo
del programa Solana Hello World
es un carbón claro y limpio. En TypeScript,
tenemos una instrucción. Tenemos aquí los datos que
enviamos a un sólido mis clústeres a la API, a la blockchain. Tenemos que decir que el programa deserializará
la información. Y luego dijimos un menos
otra vez a la respuesta. Tenemos una espera enviar transacción
no confirmada. Aquí estamos pasando
una llave pública. firmante es falso, ¿verdad? W es cierto porque estamos cambiando el contador
del helloworld, el número de veces que
el protón ha sido llamado a la cadena Solana
contener llamado. Aquí tenemos el asado
es mi contrato que recibe el parámetro
entrada 0 implementación, implementación punto de entrada
del programa
que tiene una clave pública. El programa que se carga a la cuenta para
decir hola mundo a. Los parámetros serán tomados del ejemplo solar Nick Hello
World en GitHub. Programas, como dijimos, pueden estar escribiendo en Ross
y C plus plus y C asado
recomendado para
seguridad, rendimiento. Multithreading. Las apps. El apps está en próxima
generación de apps. Y en lugar de interactuar con la
base de datos centralizada en un servidor, interactúas con la
blockchain y cualquiera puede llamar a los programas ambos. Si saben usar
los contratos inteligentes ambos. En ocasiones se necesita algún firmante. Sólo el downer puede ser necesario
el fichaje del cúbito. El programa puede ser ejecutado. Si despliega un programa Selena. Hermosa vive para siempre
en la blockchain. La coca puede usar
contratos o programas inteligentes. Cualquiera sabe
comunicarse con los programas mediante la presentación transacciones con
las instrucciones, necesita tener las firmas. La fundación necesita
saber usar la negación RPC API para comunicarse con
la blockchain y también aprender a crear
los contratos inteligentes. Ambos son importantes. Por último, veamos un ejemplo. Tienes un videojuego
y tu backend. Envía la solicitud
usando una señal
al cliente que está pagando un poco de una estación base o en un PC, hay una llamada a la acción
y puede firmar con el back-end
para recibir un NFT. Se necesita una firma
del honor, ese indicador del videojuego el cliente está pagando en el PC. Por último, si el cliente acepta pagar esa cuota por el NFT, ahora puede
comunicar al cliente directamente a la API de RPC. Y las dos firmas. El usuario puede recibir el NFT
que tiene mucho valor. Un ejemplo de una implementación.
4. Crea y aplica el primer contrato inteligente: Vamos a crear un protón básico de
Solana, pero solo es el registro de consola. Y vamos a
invocar este programa con ese CLI en TypeScript. Puedes usar un navegador web si
haces aplicación de video. El primer paso, hablamos carga, nueva biblioteca, principal, básica. Abrimos el Visual Studio. Te recomiendo instalar
la extensión para. Se puede ir a los programas. Puedes buscar preferencias de
níquel. Extensión. Puedes
buscarnos. Será muy útil
para la competencia fría. A fuente. Creo que
este código de calderas. Pasemos la primera categoría
para conseguir las dependencias. Necesitaremos aprender un programa. Gran biblioteca tipo. Nosotros categoría dominancia. Esperamos hasta la categoría.
Quieren avanzar rápidamente. Terminan las habilidades. Ahora
vamos a nuestro programa. De acuerdo, así que vamos a escribir el
programa que vamos a usar desde el programa Salina. Eso es un gran, Queremos
usar un conteo para. Vamos a utilizar
el punto de entrada para estos son
requisitos para Rodin. El punto de entrada. Ahí es
donde escribimos el programa. También el mensaje, o
podemos causar un bajo en el entorno en el clúster. La clave pública para conocer. Ahora vamos a crear una instrucción de procesamiento
de punto de entrada. Desatendemos la función no
procesando la instrucción. Pasamos primer parámetro
del programa. Referencia a la cuenta pública. ¿ Eso es un consejero de día
completo de matriz? Correcto. Podemos a lo mejor
algunas cuentas podemos decir consola de fin de semana de los Balcanes. Golpear el conteo para
pasamos en la cuenta es correcto
todo el fin de semana si lo
vendiste para leer. Por último, el
buffer de instrucciones . Por último, escribimos el
programa. Déjame ver. ¿ Dónde está mi contrato? Bronce. Por ejemplo, podemos, finalmente al final decimos el programa, vamos a programar. Ivy, número de cuentas. Pero estamos pasando datos de
distorsión. Primero obtenemos
número de protones de cuentas. Cuentas enlazan porque
Santa forma de cuentas. Por último, datos. Ahora, vamos a crear un cilindro. Podemos desplegar con un nuevo medio. Escribimos lambda nu. Con la fuerza. Entramos
un poco 39, passphrase. Ver tenemos la capital
para conseguir la llave. Llegamos ahí en
base a qué copia privada obtengamos. Así que déjame. De acuerdo, así que aquí está nuestro guardián al que estamos
llegando a la terminal. Copiamos, replicamos. Ahora podemos equilibrar este
lemma. Y 0 de nuestro
cuidador de cálculos biliares pidió r. obtenemos algún sobre y luego
podemos ver las mitocondrias. Podemos desplegar a las redes de cama. Podemos ver nuestro determinante
que nuestra URN actual RPC. Definitivamente. Si
queríamos cambiar, necesitamos escribir lambda config set con la pasta de URL plana. Podemos cambiar de dominio ella. Si estás dispuesto por ambos. Estamos utilizando DevNet. Entonces así es como estableces la
URL en el programa BPF. Opuesto al avance rápido. Impresionante, Tenemos nuestro contrato
y reconstruimos a grupo blanco. Podemos desplegar. Tenemos que copiar estas líneas. Ser desplegado el programa. Bien, genial, así que el
programa está empleado. Contamos con ID de Programa. Así que ahora construyamos el cliente. Podemos interactuar con el contrato inteligente invocando
están contando al programa.
5. Llama un contrato inteligente de Solana de un cliente: De acuerdo, tan genial, podemos
desplegar nuestro programa. Ahora veámoslo de
nuevo para que podamos conseguir, vale, así que ahora vamos a
crear el cliente. Trabaja cualquier cosa lo hice tres CLI moviéndose a la izquierda,
tres MPA minuto. El gestor de paquetes, para que podamos dar estilo al aprendiz de viaje web. Ponemos todo como predeterminado. Nosotros MPM. Al instalar protuberancias. Y voy a avanzar rápido. Nos trasladamos a la
carpeta CLI y creamos el nuevo archivo que va
a invocar el programa. Ya peinamos MPM estilo para que podamos acomodarse con una terminal, podemos florecer en archivo absoluto. Voy a avanzar rápido. Perfecto. Ahora empecemos a
trabajar el programa. Primero importamos todo desde. Entonces creamos una
conexión con una constante es igual a nueva API de clúster. Estamos en la cama. Puede cambiar a la función
principalmente Beta. Vamos a llamar al programa, conseguiría primero una constante. Por la clave privada. Desde aquí pones
clave privada para que podamos
conseguirla por serie
lambda. Este emprendimiento con cualquiera porque próximo caso, bueno a continuación vamos a
crear la asignación. Fui a firmar la transacción. El alma, el protón se
puede llamar firmante. Mantén su llave secreta. Con la llave. El programa. Eso es consciente. Programa va a
llamara llamar nuestro permanentemente. Perfecto. Ahora vamos a
limpiarlo. Y I sección, sección es igual a nueva acción de clase. Ahora, podemos usarlo para agregar métodos
instruccionales. Sección puede tener
múltiples instrucciones. Entonces, por ejemplo, aquí, tenemos un nuevo árbol. En la instrucción de sección, pasamos llaves. ¿ Qué cuentas estamos
pasando? ¿Una matriz vacía? Sin cuentas. También pasamos campos de doctrina. Programador,
también estás pasando datos. Estamos pasando buffer
de datos vacíos. Estamos ubicados 0. Aquí. Podemos esperar. Perfecto. Por último, estamos a la espera
de la confirmación. Vale, entonces tenemos tres sección confirmada de
conexión transexual. Podría ser múltiples firmantes. Entonces la señal en auge al nuestra registro de
nuestra
consola. Por último, estamos llamando a
la función principal. Ahora. Podemos correr con índice
MDX. También. Quieres
crear algunos registros. Se puede hacer eso mediante el
uso de estos Solana. Tomamos la URL, definitiva. Estamos abriendo un WebSocket. Estamos esperando.
Tenemos una señal. Volvamos a correr. Se
puede ver ese taller y abrir hasta tarde. Se puede ver que se trata de una
transacción 44 de gestión. Los periodos del parámetro. Lo pasamos 0 cuentas o regalos. Y la instrucción
es una matriz vacía. Verás que 44 sigma2, 44. Perfecto. Has creado
tu primero como contrato inteligente. Tienes con un cliente
fuera de la cadena. Ahora pasemos. Algunos datos. Vive para siempre en la blockchain y podemos ver las luces
y este año, gracias crear poderosos,
es contextos de materia.
6. Envía datos a un contrato inteligente en Solana: De acuerdo, así que bienvenidos. Estamos construyendo como cliente y ese contrato que recibe
datos de un cliente. Vamos a crear biblioteca ML. Vamos a crear proyecto mecánico. Enviemos programa de la OTAN. Ahora. Vamos a abrir. Sí, me doy cuenta. Ahora necesitamos instalar las dependencias que estamos
utilizando el programa lambda. También sigue la biblioteca. Gran biblioteca tipo. Perfecto. Ahora podemos construir terminal. Perfecto, Así que la construcción se
hizo con éxito. Ahora vamos a
la carpeta fuente. Vaya a ejecutar un programa llamado Les, elimine este código de calderas. A menos que empieces
usando esta
biblioteca del programa Helena o genial. Estamos utilizando la contabilidad para objeto para las
cuentas que estamos pasando. En este caso, estamos pasando una matriz vacía porque solo
queremos pasar algunos
datos, algún número. También estamos utilizando punto de entrada. También para punto de entrada donde
usar el progreso haría escribir todo el código que realiza las operaciones
en el contrato inteligente. También estamos usando el mensaje
para el registro de la consola, usando la clave pública para
realmente pasar el ID del producto. Eso es lo único que estamos
usando en este programa. Cerramos. Ahora
definamos el punto de entrada. Estamos llamando a la estructura de
procesamiento de funciones. Pero en realidad procesamos
las instrucciones. Convierta los datos de datos decodificados por
bytes. Definimos la instrucción de
procesamiento de funciones. Pasamos como argumentos programa AD. Existe un objeto
de clave pública, referencia a la clave pública. Después pasamos la cuenta como una matriz de objetos de información de
cuenta. Por último,
los datos de mi institución van a ser nuestra referencia a una matriz
en el año de ocho bits. Después escribimos el resultado
del programa. Ese es todo el código que
realizará el contrato. Cierre de soportes angulares. Primero lo declaramos. También estamos encontrando una ventaja con la llave, la remanente. Asa. Puerta Trasera. Estos dos
datos queremos dividir. Primero. Vamos a
jugar también en. Entonces para obtener el valor
que estamos pasando, estamos declarando un valor variable de tipo al firmar 64-bits. Usamos el remanente. Remanente. Estamos consiguiendo de 0 a no-inclusivos los
ocho elementos de la matriz. Entonces estamos realizando una rebanada. hay luz en En realidad mapear estos datos, mapearlos a un número entero 64
de Little Endian. Estamos levantados, o si
estaban arriba, fue exitoso. Establecemos el valor predeterminado. Perfecto. Mensaje de lista sustantiva. Estos son registro de consola. El valor. Desafortunadamente. Perfecto
Hemos llegado con, estoy terminando la convocatoria
para el contrato inteligente. Hemos pasado algunos datos y tenemos el codificado
de Little Indians. Utilice el entero de 64 bits. Ahora es el momento de desplegar el programa y crear el
cliente que pueda invocar. Este es mi contrato. Por lo que obtenemos el
directorio para el CLI para el cliente cambiaría
al directorio cliente. Y nosotros npm, necesitamos
el gestor de paquetes. Lo configuramos todo como predeterminado. Vamos, npm instalamos
las dependencias. Estamos usando lambda trabajo tres AS esperamos hasta que uno de nosotros adelante. Perfecto. Ahora,
instalemos también. Para d no hay guión. No. Perfecto. Ahora vamos a instalar
npm el gran número. Hay biblioteca de scripts
para codificación y decodificación. Cep ser numerado OJS. Ahora vamos a crear
nuestro índice dot ds, nuestro archivo TypeScript que
comunicará una invocación, la cuadrícula del programa, la
conexión al clúster. En realidad estoy a granel
y envío algunos datos. Perfecto. Ahora primero, vamos a
importar nuestra biblioteca Solana. Próxima lección. Requerir constante, el gran número Biblioteca. Requerir. Siguiente. Vamos a crear la conexión como una constante usando la clase de
conexión. Cepillado de la URL de la API de Cluster. Definitivo, pero también puedes
usar minuta si estás en código de producción. Genial. No creemos la función
de la máquina. Principal. Quiero
escribir todo el código. En primer lugar, definamos la clave. Mono está haciendo un caret. Crear la ONU, iterar desde nuestra clave privada es una
matriz de enteros. ¿ Cómo obtenemos nuestra clave privada? Lambda nu? Podemos crear un nuevo, un nuevo par de claves. Tenemos que forzar. Esta es una
forma en que puedes conseguir un guardián. Se ingresa a un fósforo. Obtienes la raíz
para tu par de llaves. En este caso,
ya creamos uno anterioridad y
ya está en el comfy get. Git config, config, get. Podemos conseguir todos los impagos. Conseguimos nuestro más profundo y obtenemos una copia para obtener la
matriz real de enteros. Esta es área de enteros. Lo copiamos y pegamos en la tasa de claves de
ocho enteros de bits. Asignador, jugamos a través de
un truco web más profundo. Trabajé tres,
guardarla de llave secreta. Pasamos. A continuación, estamos definiendo la película. Entonces para obtener los parámetros, necesitamos realmente
desplegar programa. Tenemos que volver. Vamos a definir estos parámetros como Web tres puntos clave pública. Clave pública-. Pasamos una cadena, string como constructor, hash
it protón desde la corriente. Entonces tenemos que volver. Comprobamos nuestro saldo. Tenemos unos tan lemme epsilon que los solicita más tarde. El soga con Nana, el número de Solana
que quieres tu indefinido. Conocemos WACC y vamos a BPF. Ahora tenemos la cadena de identificación del
problema. Ahora. Contamos con la
clave pública para el parámetro. Ahora vamos a crear los datos que
vamos a enviar. Con un dato constante. Utiliza un búfer de tipo. Ofrecemos desde. Utilizamos la uint8. Fuera gran número. Vamos a hacer una pausa por ejemplo, en el número tres,
estamos usando a los indios. Perfecto. Ahora vamos a crear una transacción. Transacción. El nuevo apartado. Entonces, ¿qué sección tiene
múltiples instrucciones? Sólo estamos pasando qué
instrucción a estas transacciones. Eso es invocar al
programa enviando los datos. Tenemos la
instrucción de transacción. La instrucción solo
contiene las cuentas. Estamos pasando las cuentas que pueden ser de crédito o debitadas. En este caso, sólo estamos enviando una matriz vacía
del objeto de transacción, requerimos el nombre
de cuenta de claves y pasamos
una matriz vacía, entonces necesitamos la
programabilidad. Por último, los datos como buffer. Estamos pasando, estamos
pasando estos ocho arreglos. Por último, vamos a crear
una espera porque puede más de 1 segundo,
un par de segundos. Utilizamos una Web tres enviando transacción
confirmada. Aquí es cuando pedimos
la billetera. O en este caso ya
tenemos la asignación porque solo en
TypeScript sin navegador. Ahora reaccionamos. Aquí,
tenemos que pasarlo conexión la transacción
y la matriz de firmantes puede ser
más de un firmante. Por lo que se puede adeudar a
más de un firmante
o clave privada y par de claves
públicas punto de pie. Entonces vamos a la
consola de registro de la señal para obtener esta función de flecha. Nosotros decimos que son todos función
queremos consola log. Perfecto. Ahora llamemos a la función
principal. Ahora en el terminal web socket para que podamos ver los
registros de los programas. Por lo que necesitamos el ID del problema. Lana registra programáticamente. Con una bandera URL. Definitivo. Obtenemos nuestro
socket para que podamos leer todo el registro
de la consola de los
contratos inteligentes de asado desplegados en cadena. Ahora llamamos al cliente con MPI X d es nulo, y nuestro archivo. Aquí tenemos dos terminales. El WebSocket que
imprimirá todo el contrato inteligente
en la terminal principal. Estoy en el código de abuso terminal. Estamos imprimiendo la sigma dos. Como se puede ver. Puede tardar
unos segundos porque Q hemos visto una herramienta y tenemos el valor número tres
partes, siempre es genial. Esto también aparecerá en el, como ves si veo también
su terminal local. Genial. Ahora volvamos a correr. Websocket puede cerrarse
porque solo se abre por menos de un minuto. Puedes volver a correr, hubo un poco como puedes ver, recibimos el número tres
en la transacción. Corriendo. Nuevamente. Como se puede ver,
tenemos el valor 321 y escribimos el código, y también tenemos la herramienta de
firma 44, y también en nuestra hoja nueva 44
permanente local. Entonces todo es perfecto.
7. Serializa y Serialize guarda datos en cuenta con el programa Solana: En este tutorial,
queríamos aprender a serializar y desserializar los datos. Entonces CUTLAS significa
crear un flujo de bytes. Podemos enviarlo. Después recibimos el flujo de bytes, deserializamos y procesamos, hacemos cambios en el objeto. Y luego volvemos a utilizar para guardar esa información
en un programa Solana. Estamos utilizando tablero de abedul nos
permite, por ejemplo, tenemos un objeto JSON y
podemos ver a los aliados que en el cliente
JavaScript luego emergen
en nuestro contrato inteligente. Podemos deserializar
en una estructura. Podemos usar todos los
datos, hacer los cambios. Entonces podemos volver a ver y
guardarlo en el contrato inteligente. Usando tablero de abedul significa representación de objetos binarios, licencia
CDL para hashing usted mismo en
proyectos críticos de seguridad que 30 casos, consistencia, seguridad y velocidad. Por lo que sin duda
gran aliado de Solana porque se
centra en la seguridad y la velocidad. Y como decimos, seguridad
y consistencia. ¿ Qué es serializar
y deserializar? La civilización es un mecanismo para convertir un objeto
en una corriente de bytes. Para ello, utilizamos nuestro buffer. Tenemos un objeto
convertido en, por ejemplo, una matriz. En los oídos de ocho bits. personalización es un proceso de conversión del flujo de bytes en un objeto regulado que no era un unido
por el flujo de bytes. Empecemos. De acuerdo, entonces el primer paso, queremos crear la categoría, la categoría con
la biblioteca plana. Después abrimos un estudio.
Abre la carpeta. El primer paso será
instalar dependencias. En primer lugar,
la categoría, las dependencias de reglas. Y también estamos creando el
directorio de clientes terminal CLA. En el Gadigal. Estamos utilizando para estos morados, este programa, lo racional, se
puede conseguir el último. Ahora estamos usando 1.11.2. Entonces también estamos usando indicaciones
Bosch. 0.91. Para biblioteca, biblioteca. Nosotros lo guardamos. Ejecutamos categoría. Estas son
las dependencias que necesitamos para crear el contrato inteligente. Insulina. Voy a avanzar rápido
porque tomará un tiempo. Bien, perfecto. Por lo que
creamos una carpeta para que
el cliente entrara a un CLI. Para el recrear, nosotros npm, necesitamos crear el paquete JSON,
todo como predeterminado. Quieres entrar. Aquí como se puede
ver, paquete Jason. Necesitamos crear dependencias que estamos utilizando para este proyecto. Este? Sí. Esto es para comunicarse con
la API asiática o PCA. Podemos enviar transacciones, podemos consultar esos
datos en una cuenta. También necesitamos a Ferroni. Estamos creando un TypeScript. La versión cuatro va a ser entonces están reduciendo tipos, null. Mañana corriendo TypeScript. Reducir la longitud es uno. Considerando que el amortiguador de lavado. Por estos seis. También estamos utilizando esto. Aprenderemos ese diseño de búfer. Con esto,
vamos a ayudar en el lado del cliente a crear el
buffer y los datos serializados. Veraz el fin de semana,
manda un código sub byte. Para ello solución 3. De igual manera, mientras que usando más, utilicemos la más reciente. También para mí TypeScript,
estamos usando. El último a bordo es para serializar y
deserializar datos. Estos tableros en el lado del cliente, en el TypeScript, se puede
utilizar aplicación directa. Cualquiera, cualquier aplicación que utilice TypeScript puede
ser un navegador web, puede ser sólo un servidor. Por último, necesitamos construir
estos paquetes npm, por lo que ejecutamos npm install. Estos se van a parar o
las dependencias de clientes más antiguas para TypeScript. Voy a avanzar rápido
porque tomará un tiempo. Comenzamos importando
dependencias que estamos usando. Estamos usando el tablero. Y la junta. ¿ Qué más? Estamos usando
el programa de lamina. Estamos utilizando la información de la cuenta. Estamos utilizando la siguiente
cuenta, información de cuenta. Utilizando también desde el
programa Solana, el punto de entrada. Desde el punto de entrada. Protón. También estamos utilizando el mensaje para el registro de
consola en el salón de
cadena larga un clúster. Y estamos usando el programa. tanto que el uso del programa, estás viendo coma. Y estas son
las dependencias que estamos utilizando. Ahora, el siguiente paso, puerta este, define el tipo de
historia de Estate cuando cuentas. Vamos a
escribir la notación. Esto se conoce como rasgos. Por lo que podemos heredar parte
de la funcionalidad. Verás al
final de este objetivo que vamos a utilizar,
esta área miente. En este caso, tenemos razón. Estamos creando como públicos. Estamos llamando a nueva cuenta. Sólo estamos teniendo un miembro. Cuenta son de tipo 32. Perfecto. Ahora vamos a crear
el punto de entrada para la función de
instrucción de procesamiento del programa. Ahora vamos a crear procesamiento de funciones
públicas parámetros de
instrucción deprocesamiento de funciones
públicas. Estamos utilizando aquí. Referencia al tipo. Estamos pasando las cuentas MLF, referencia a otra
matriz de información de cuenta. Por último, estamos pasando datos
de producción. Pero es una referencia a una
matriz de enteros de 8 bits. Perfecto. Nosotros lo guardamos. Al final. Necesitamos crear la raíz
de los programas. Escribimos todo nuestro código, y al final usamos fotón. ¿ De acuerdo? Vamos a escribir aquí. El primer paso es
conseguir la cuenta. Por lo que podemos leer la tasa
de la cuenta iniciada. Recuerde, las cuentas
pueden mantener el saldo. Bumpkins y Beta. La violencia se conoce como equilibrio
Solana o
puedes sostener un token, un NFT por ejemplo. Vamos a escribir el traje de parámetros. El primer paso es
crear un éter. Neto. Cuentas iguala referencia, referencia a las cuentas, pero sí consigues la primera cuenta. Tu cuenta. Entonces es igual a contar cuenta. Nosotros ahorramos. Tenemos que devolver una promesa. Si quieres conseguir
la segunda cuenta. Si vienes, estás
pasando múltiples cuentas, puedes tener un recuento
para escribirlas ambas. Momento, sólo
tenemos una cuenta. Pasando. El siguiente paso,
tenemos la cuenta. Ahora, empecemos a decodificar la
instrucción que hemos pasado. Primero trabajamos. Se puede
ver aquí en estos dos, tenemos trabajando con
esto con cuentas. Ahora vamos a procesar los datos de la
institución. Podemos consola de registro el código. Empecemos a llamar.
El primer paso. Podemos crear una variable, podemos llamarla datos, recibirla. Que estamos recibiendo
una codificación, un CDL. Dije datos de cliente mayor. Necesitamos primero elevación DCD. Hemos recibido con estimación de
cuenta las líneas CDR. Al ejecutar estos metales a partir de los datos de instrucción. Nosotros mapa. Esto es para evitar los datos, y manejamos el error. Escribimos el mensaje si
hay un estrecho, ancho, por ejemplo, solamente. En realidad. Por último, escribimos el programa instrucción
inválida y datos. Ahora, usamos bromo. Ahora bien, si esto no
lee a través de mi estrecho, podemos consola log objeto que no es. Aquí todo está bien. Ahora, hagamos un cheque de seguridad. Ya hemos trabajado con los datos. Y con las cuentas. Obtenemos la cuenta. Al final del programa,
lo vamos a utilizar. Y ahora trabajemos
con el protón. Tal vez. Hagamos una comprobación de seguridad porque descargas
de la cuenta. La mayoría también en el ID del producto. Por lo que sólo usted puede modificar los datos. Imagina que pones esto públicamente y cualquiera
puede modificar los datos. No será seguro
para tu proyecto. Corriendo aquí, comprobación de seguridad. Antes de escribir algo, necesitamos escribir los cheques
de seguridad. Si el propietario de la cuenta, Él no es igual al programa. Vamos a devolver el
programa, terminado. Mi contrato. No nos estrechamos. Se aprobará sobre
tipo metal en forma cuadrática. Ok. Perfecto. Si todo está bien. Si eres el propietario, mandas la cuenta y la cuenta que Cal este contrato inteligente también es
el propietario del contrato. Ahora vamos a aumentar este número
total de veces. Al sumar el primer
CELAC, los datos de la cuenta. Por lo general tenemos la
licencia CDL, los datos, la recibimos. Pues ahora necesitamos deserializar
con estos mismos métodos, tanto los datos de la cuenta. Hagamos eso. Vamos a dar cuenta brevemente. También usamos estos metales
que yo, campesinos esclavos. Utilizamos el conteo, la referencia a la cuenta. interrogación.
Todo es perfecto. Perfecto. Tenemos que aumentar el contador aquí hemos
deserializado los datos. Ahora, usamos esta cuenta. Vamos a tirar del valor
equivalente que el hogar receptor. Queremos cambiar el mostrador. El contador. Vamos a
sumar el receptor. Contar estamos agregando. Por último, necesitamos ver retrasos. Decimos, necesitamos cambiar
estos dos mutables. Podemos cambiar. Por último,
necesitamos ver sus vidas. Nuevamente, debate que
escribimos aquí. Retrasos en la cuenta. Podemos usar esto, te das cuenta, porque estamos usando
placas como ves aquí, estamos usando la cuenta
circulante. Ambos estaban utilizando la herencia de
estos rasgos de la servidumbre. Porque como saben, gross
no es una
programación orientada a objetos, sino que utiliza rasgos para hacer este tipo de cosas
con anotaciones. Guión, esto
recordará protocolos. Por ejemplo, vemos los
piojos y usamos este objetivo, la cuenta. Moral. Perfecto. Por último, podemos tal
registro de consola. Podemos escribir esos. Pasamos la cuenta escrita. Genial. Por lo que podrían contratar para TBL AC y BC TLA en datos. Ahora listos, necesitamos
desplegar este contrato. Por lo que vamos a la terminal. Tenemos un tema con ellos, hito Gloucester
con el DevNet. Estamos desplegando a
la red de pruebas que está operativa ahora porque
mucha gente está llamando en Solana con grande. Hay muchos desarrolladores. Muñoz. Volvemos a nuestra terminal y
necesitamos cambiarlos. Para cambiar, creces Solana, entra en conflicto con la URL de la bandera, y estableces la prueba. Ahora estás comunicándote con
el RPC, ¿no? Te revisas así que Lana,
equilibrio, intestinal, puedes pedir algunos
tenemos alguna Solana, puedes solana soltar
uno por ejemplo. Tenemos uno. Por último, ejecutamos
la vista de categoría BPF para compilar el programa. Podemos subirlo a ellos. Desplegado a la
Gloucester. Gloucester. Perfecto. Entonces para desplegar copias, queremos conseguir voy
a querer conseguir un producto. Vamos a
revisar el parámetro V en un explorador de bloques ella. Por último, copias
tu parámetro. Explorarás un dócil y
ese explorador de bloques azules. Necesitas cambiarlos. ¿ No es así? ¿ No es así? Un poco lento porque hay
mucha gente haciendo programas en este momento en
Solana y en todo el mundo. Puedes ver que
escribiste aquí lemme, lemme. Se puede ver que hay mucha gente también terminó alguien en estos parámetros
basados en socket web. Aquí puedes ver la
dirección del programa. El violencia es ejecutable. El peso de esta
hermosa hay cuenta también el dueño de la cuenta que tienen para sole.
Va a ver 4.1. Ahora que hemos
desplegado nuestro programa, queremos trabajar
del lado del cliente. Nos trasladamos a la carpeta cliente. Ahora vamos a crear el cliente. Por lo que creamos la carpeta para
la CLI para el cliente. Fuimos a crear
aquí un nuevo archivo, grupo de tuberías de libro
índice. Tenemos el expediente.
Queremos copiar. Lo primero es importar las dependencias.
Estamos usando tablero. También estamos importando
web tres desde Solana. Considerando que importar
capa de búfer términos dilema. También somos 14 tampón. Mejor efecto. Ahora, definamos su cuenta de clave
pública donde
vamos vamos a ser una web. Punto con fugas. Perfecto. Ahora vamos a crear una clase que almacenará el estado de la cuenta
DayGreeting. Creamos el vaso,
renombralo. Contar. Lo que vamos a
cubrir contar ahí, eso va a ser
inicializarlo como 0. Constructor con los campos AS contador. El número es igual a dos. Los campos son campos. Entonces ponemos estos contador. Perfecto. Ahora definamos el esquema que lo usa para serialización
y deserialización. Entonces pongamos aquí, escribimos como quimio. Quimio es igual a nuevo,
localizándolos. Aquí. Cuenta de lectura plus. Usando el tipo es que estamos usando con el contador de campos. Firma 32. Cerramos esto. Perfecto. Ahora vamos a conseguir el tamaño del saludo. Donde se ven las CLAS. Clas hace compatibles. Estos objetos, tanto en
JavaScript como en engrossed, en este caso con TypeScript. Por lo que usamos, queremos conseguir
el tamaño de estas CLAS, un mapa de objetos porque
queremos mandar algún Solana. No compramos, no pagamos renta, y nos quedamos para siempre en
el clúster de destino. Escribimos const es igual a c retrasos. Esquema Daysaludos. Creamos un nuevo plus una
nueva instancia de la clase de superación cuenta
Perfecta coma. Entonces obtenemos la longitud. Con estas programaciones. Con esta utilización,
podemos obtener tamaño negativo de cosa. Podemos llegar más tarde, pasamos el tamaño para que
podamos calcular el número de Lamport's que
necesitamos para estar exentos de renta. Lo siguiente es
crear una conexión. Entonces vamos a crear una conexión. Como digo, estamos usando,
ahí, ¿no? Debido a la evidencia
no está funcionando en este momento. Se ha ido. Conexión, una nueva conexión. Cluster de libros. El test no porque las divinidades
no funcionan en este momento. Mucha gente son
parámetros siempre grandes. Tom se. La próxima semana podemos
asumir función. Vamos a crear una función
asíncrona main. Aquí. Vamos a crear eso igual a desde. Y necesitamos aquí,
estamos consiguiendo la llave. Entonces necesitamos nuestra matriz de entero de ocho bits. Entonces para conseguir ese d mu, es
necesario escribir
la bandera de fuerza. Trabaja para Lana. Con
el plan de fuerza. Ya tengo uno, así que voy a hacer Solana. Aquí tengo mi par de claves, ese es Apache CLI. Cli. Se puede conseguir
que me consiga conseguir estos números, estos copia. Entonces el siguiente paso es
crear un buffer. Entonces vamos a usar
ese diseño de búfer. Todo esto es una dependencia de app, escapadas alumna para que
podamos interactuar y
podemos usar JavaScript para
crear un buffered, crear el código byte y enviarnos ese bytecode a
todos y contrato asma. Y podemos desserializar datos y luego realizar las operaciones y DTLS de nuevo para guardarlos. Entonces estamos creando un diseño
igual a qué diseño de búfer. El tipo, struct. Más lleno. Asignación 32. Son perfectos. Así que ahora vamos a dejar los datos. Buffer. Estamos, con el tampón. Estamos asignando el diseño. Perfecto. Por último, retrasaremos los retrasos. O en frío, se cuentan. Podemos decir, por
ejemplo, un valor tres. Datos. Perfecto. Ahora tenemos nuestro tampón. Ahora vamos a crear el cedente
porque necesitamos una cuenta, estas claves necesitan para crear
un firmante que sea un guardián. Podemos pagar el costo de transacción por el precio de invocar el programa y crear la
cuenta para almacenar los datos. Seamos diseñador. Entonces escribimos,
llamémoslo firmante. Desde el
punto tipo tres, mantente desnudo. Desnudo. Ahora, estamos obteniendo de clave
secreta, clave pública. Ahora tenemos el centro. Ahora vamos a crear un poliquetete
con un permanentemente tenemos el parámetro en la parte superior. Aquí. Ese programa constante. El tipo, Web three dot, crea una nueva clave. El programa tal vez. Perfecto. Por lo que ahora tenemos una clave pública. El permanentemente. Ahora, la primera
vez que llamamos al programa, necesitamos crear un salvado. Para crear lo primero que les
creamos cuenta
que estamos creando. Para que puedas poner cualquier cosa. Lo que debe ser único. Por el desvío de élite de
seguridad del salón. Tema de almacenamiento en caché. Creamos la cuenta
con la semilla. Pasamos la clave pública firmante, esta IV, que
puede ser cualquier texto. Textos en el programa con
el siguiente paso es declarar, dejar que esto sea igual a 0, luego conseguir el farola para
obtener la excepción de renta. ¿ Verdad? Tabla de terrones es igual a esperar. Utilizamos una conexión. Excepción de saldo mínimo. Pasamos
tamaño rey griego. Perfecto. Perfecto. A continuación, vamos a crear
la transacción. Estamos pasando dos instrucciones. La primera instrucción para crear estas cuentas y
transferir los puertos Lamp, por lo que vive para siempre en
la segunda transacción, usaremos para
invocar el programa. Así que vamos a conseguir calificación la primera,
la primera transacción. Entonces primero definamos
la transacción. Entonces vamos a crear una sección. Llamémoslo transacción. Para este proyecto, estamos
creando una nueva web de tres puntos. Perfecto. Acordamos esa transacción. Ahora menos consumo. Estamos utilizando un programa de
sistema web. Porque el problema del sistema es quien
creó la cuenta. Crea la cuenta con barato. Pasar un objeto de
clave deficiente es la asignación. Para base totalmente clave. La clave pública. Entonces este IEP reuniones. Perfecto. Entonces nueva clave de cuenta. Entonces los puertos de la Lámpara para ser tamaño de espacio de muestra
aleatoria. Por último, el programa tal vez
más una coma se cierra. **** aquí. Cerramos aquí. Primera transacción,
el programa del sistema está creando una cuenta, enviando algunos
puertos Lamp a la cuenta. El cuenta es renta XM y puede vivir para siempre en la blockchain. Ahora necesitamos crear
otra transacción. De acuerdo, así que ahora agreguemos una segunda instrucción
a una transacción. A una sección más simple. El apartado puede tener
múltiples instrucciones. Si una instrucción falla, toda la transacción
fallará y volverá al estado
anterior. Así que vamos a
transeccionar la aplicación dot llamada Nuevo con tres estructura de
transacciones doc. Ahora pausemos las primeras cuatro teclas. Aquí pasamos la cuenta. En este caso estamos pasando. Para clave pública. Tenemos que pasar un objeto. Por el bien público. Estamos más allá de la cuenta. Clave, firmante. Esta cuenta no es
firmante y facilitan
el trabajo justo a través porque
estamos ahorrando eso. Perfecto. De acuerdo, entonces el siguiente en el
objeto e es el producto. Tal vez. El último debate. Perfecto. Llamamos a nuestra segunda instrucción. Estamos diciendo que estos compinches de datos, estos tampón con un contador. Estamos diciendo el número
tres en el mostrador. Entonces todo lo que ejecutamos esto, llamamos a esta función va a contrarrestar en el cúmulo del cuello onchange,
hinchado. Por último, vamos, despertemos y confirme la transacción. Con más allá de esa conexión. La transacción, la
matriz de firmantes, firmantes pueden ser múltiples firmantes. En este caso sólo uno. Entonces punto. Después pasamos la señal para provocar una mirada. Razonable. Por último, trabajemos aquí
una nueva función. Denunciar los saludos. Casa1, una función sinc. Primero usamos una constante, obtenemos la contabilidad para. Por lo que estamos solicitando desde
la blockchain la cuenta. Estamos leyendo el
número de Saludos, el número en el
contrato inteligente en la cuenta que esto podría contraer
derechos sobre los datos, esperamos nuestra conexión. Utilizándolo la contabilidad de estas listas de cuentas
específicas. Usando su esquema de saludo,
cuenta, cuenta, los datos de la cuenta. Por último, estamos registrando la consola. Coma, coma. Usamos un número, saludo, contador, coma, coma. Cierre este reporte. Entonces ejecutamos este código. Vamos a correr mpm. T es índice. Ahora también podemos lemma de masa huesada. Necesitamos el cromosoma. Contamos con chocolates preliminares. Vamos a llamarlo así. Tenemos que manejar
esta bijección. Para poner aquí si la información de la
cuenta es igual a gamma. Genial tener algunos errores para que podamos depurar y puedas aprender. Porque necesitamos no error, pero necesitamos
ejecutar la función principal. Al final, ejecutamos
la función principal. Vamos a abrir este abierto, lo
haré tan bueno,
porque tú estás aquí. Estamos abriendo un
socket web a aquí, a los troncos de la cadena. Tenemos el número tres, ¿verdad? A lo mejor abro el WebSocket tarde. Entonces si quieres volver a
ejecutar este código, recomendado, puedes cambiar. Nos vemos que cuentan cuál es
la mejor manera de
comentar esto porque no
estamos creando una cuenta ya
llamada la cuenta. También tenemos aquí donde cuenta en lugar de BB King
y conseguir con barato. Recomienda estas líneas. Y creamos esta
clave mal equivale a tres nuevos. Totalmente clave. Pasamos aquí. Por ejemplo, enumerar cuatro en lugar de tres. Por lo que ahora quiero tener
siete. También aquí. Conectémonos a
un socket de servidor. Curación Visual Studio
o los registros fuera de
la cadena aquí
del cliente. Y en la terminal, estamos creando
aquí un socket para desbloquea el
Unchained en el clúster. Por lo que tienen troncos diferentes. Dijimos que la
depuración de doble cara es genial. Debemos tener ahorrando siete
veces grid porque estamos sumando el número que pasamos se suma a las
siete veces anteriores. A lo mejor el taller,
no funciona. Vamos a intentarlo de nuevo. Comprueba si estamos en la corriente. De acuerdo, así que ahora empecemos
por ejemplo, de siete a 14. Ok, finalmente, hay un truco. Si no consigues los logs,
Los sin marcar, puedes
aquí a todos los logs, entonces puedes copiar los viejos, los textos antiguos y puedes revisar, por
ejemplo, podemos
empezar a escribir eso. Escribes solo Solana mira
URL y pasas esto. Ejecutamos el programa. Necesitas
copiar todos los, todos los, todos estos porque
a veces no sé por qué no
lo hace aquí a
un producto específico. Pero aquí lo verás. Funcionará donde estamos
copiando todo el texto, buscando nuestro programa. Esperamos hasta que sea a las 2121, por lo que copiamos todo común. Cuando copiamos, podemos
abrir un nuevo pegado todo el texto para Controlar un Control T o Comando un visor en
mi hoja de control. Pega todos los troncos. Hay una gran cantidad de troncos. Por eso no está funcionando. Usted busca su para su
producto, tal vez los registros. Porque hay mucha gente, sé que hay mucha pintura de
bootcamp en el mundo. Aquí están los registros eliminando el
contador siete. Tal y como lo ves. Esto es genial. Tenemos derecho al contrato
definitivo, mismos datos serializando
y deserializando y
curando para los registros, tanto en línea como fuera de la cadena. Tan maravilloso. Estás un
paso más cerca de tu objetivo.