Implementar un contador basado en AO que incluya front-end y back-end.

Autor: Li Dagou

Revisado por: outprog

Fuente: Content Guild - Noticias

Contador AO | Inicio rápido de AO (1)

Este artículo implementa el primer caso sobre AO, un contador basado en AO. Cada vez que se hace clic en un botón, el contador es +1 y la dirección de la persona que hace clic se registra en la lista del proceso AO.

Referencia de:

https://github.com/iamgamelover/ao-twitter

Repositorio:

https://github.com/rootMUD/ao-counter

Versión Vercel:

https://ao-counter.vercel.app/

Versión de tejido:

https://arweave.net/bleZF-gxe_vv0RYMNhHABsvq6wvhvmBBnQ5lfzwJJKQ

Procesar en

ao.enlace

:

https://www.ao.link/#/entity/Rijbx6FduUMdCZM0tJ4PPxXljUNy1m0u_kmMIFGFM5c

0x01 ¿Qué es AO?

💡Referencias——

AO: Construyendo un Erlang descentralizado: https://permadao.com/permadao/AO-Erlang-ae1c8ab020b24e379457d92014e3d09e

Detalles técnicos de la computadora hiperparalela:

https://permadao.com/permadao/ao-9e58170a1c9c41628b1732eb13098209

Cuando hablamos de programas, podemos resumirlos en dos cosas: "cómputo" y "almacenamiento".

Ethereum comienza con la computación distribuida, primero se enfoca en contratos inteligentes y luego avanza hacia el almacenamiento, para que podamos ver

ETH

Almacenamiento

Arweave comenzó desde el almacenamiento distribuido, primero completó la capa de almacenamiento y luego pasó a la informática, para que podamos ver

HACIA

AO hereda de la filosofía Erlang.

Entonces Erlang está profundamente entrelazado con AO y todo lo que construimos, y no es solo arquitectura, es una fusión filosófica y casi estética. Aunque ya no hacemos esas llamadas telefónicas de los años ochenta, todavía está bastante cerca. E incluso diseñamos un logotipo llamado Super Beam.

——AO: Construyendo un Erlang descentralizado

El núcleo de la filosofía de Erlang son los principios de diseño de procesos livianos y el mecanismo de paso de mensajes entre procesos:

Por lo tanto, podemos entender AO como una Red de Procesos Descentralizados Perma construida por innumerables Procesos. El punto clave es que los Procesos están aislados entre sí y los diferentes Procesos no comparten el grupo de memoria.

Este es un modelo muy abstracto y, cuando se implemente en escenarios de aplicación, habrá muchas posibilidades fascinantes.

Por ejemplo, para construir

Red autónoma de agentes de IA

:

Referencia: https://bodhi.wtf/space/5/15063

Para obtener más información sobre la filosofía de Erlang, consulte:

Construyendo sistemas distribuidos confiables frente a errores de software:

https://bodhi.wtf/space/5/15083

0x02 Implementación y despliegue del Proceso Lua

Primero implementamos un proceso ligero a través de Lua.

2.1 Guía de funcionamiento de CLI minimalista

Cómo instalar el cliente, consulte:

https://cookbook_ao.arweave.dev/tutorials/begin/preparations.html

Iniciamos una CLI de aos a través de aos:

$ en

aprobar

ao.id

Podemos ver la identificación del proceso actual:

ao> ao.id

existir

ao.enlace

Arriba podemos ver información relacionada con este proceso:

https://www.ao.link/#/entity/Rijbx6FduUMdCZM0tJ4PPxXljUNy1m0u_kmMIFGFM5c

Luego pasamos:

ao> .cargar contador.lua

Puedes cargar el código en

proceso

adentro.

2.2 Análisis del código central del proceso

Al principio definimos una lista

Jugadores

y un contador de números enteros:

Controlador central ——

"AddNew" es el nombre del controlador,

Handlers.utils.hasMatchingTag("Acción", "Agregar nuevo"

)

El operador que representa el mensaje es "AddNew", que activa este controlador.

Una función anónima se ejecuta cuando se activa. La función anónima realiza dos operaciones:

Insertar un nuevo elemento en la lista

artículo

, el valor es msg.Data.

actualizar contador a

Jugadores

La longitud de la lista.

Handlers.utils.reply ("bizz buzz") (mensaje)

: El valor de retorno de la función es un zumbido.

La función principal del segundo controlador es utilizar otros códigos fuente como valores de retorno, de modo que podamos lograr el código fuente abierto de una manera complicada :).

existir

ao.enlace

Haga clic en Obtener * para ver información:

2.3 Más operaciones con CLI

Después de cargar

.dos

Después de crear el archivo, podemos practicar más operaciones en la CLI.

  • Jugadores

Ingrese la variable para ver el valor.

💡También puedes ejecutar el código lua directamente.

  • Enviar ({ Destino = ao.id, Datos = "0x0", Acción = "Agregar nuevo" })

Enviar información a Proceso.

0x03 Implementación y despliegue del front-end de React

Lua Process es equivalente al back-end de un programa tradicional. Después de implementar Lua Process, podemos desarrollar el front-end e implementar la llamada a Lua Process para completar nuestro programa.

3.1 Código central de front-end

Ver:

https://github.com/rootMUD/ao_counter/tree/main/dapp

3.1.1 Variables ambientales

existir

dapp/src/app/util/consts.ts

Configure el ID Único del Proceso, en este caso AO_COUNTER:

3.1.2 Llamada a variable de proceso

dapp/src/app/pages/SitePage.tsx :

encapsulado llamando

obtener datos de AO

Método para obtener las variables en Proceso.

3.1.3 Llamada a función de proceso

existir

botón

Cuando se hace clic, se llama a la función handleClick y luego se llama al método messageToAO para pasar información al proceso.

3.1.4 Módulo de conexión de billetera

transferir

ArConnect

Wallet, obtenga la dirección de Wallet.

3.2 Implementar en Vercel

estamos en

dapp

El complemento de Vercel está instalado, por lo que se puede implementar en la plataforma de alojamiento de Vercel con un comando de una línea:

Una vez completada la implementación, podemos acceder a ella:

https://ao-counter.vercel.app/

3.3 Programa imparable: implementado en Arweave

También podemos optar por alojar el programa front-end para

tejer

para lograr una descentralización completa.

💡Vídeo guía:

https://www.youtube.com/watch?v=Va5B4SE8Zu8

Tome ArDrive como ejemplo:

1/ pase

construcción de hilo

Generar páginas estáticas

2/ Sube la carpeta a ArDrive

3/ Generar para sitio web

manifiesto

4/ copia

manifiesto

identificación para acceder:

aprobar:

https://arweave.net/{ID de transacción de datos}

¡Ahora puede acceder a sus aplicaciones implementadas!

5/ Configurar el nombre de dominio tradicional

  • Cree un nuevo almacén utilizando este almacén como plantilla:

https://github.com/NonceGeek/scaffold-wabi-sabi

  • Modificar index.html:

  • Modifique la URL del escritorio y la URL móvil:

  • Importe la página de salto en vercel:

  • Configure el nombre de dominio (no se detalla aquí):

¡Entonces podrás acceder a él a través de un nombre de dominio personalizado!

https://ao-counter.rootmud.xyz/

🏆 Hay premios por "detectar errores": si encuentra errores tipográficos, oraciones incorrectas o descripciones incorrectas en este artículo, haga clic en mí para informarlo y obtendrá incentivos.

Descargo de responsabilidad: el contenido de este artículo es solo de referencia y no constituye ningún consejo de inversión.

🔗 关于 PermaDAO: Sitio web | Gorjeo | Telegrama | Discordia | Medio | YouTube