Cointime

Download App
iOS & Android

AO-Bộ đếm | Bắt đầu nhanh AO (1)

Triển khai bộ đếm dựa trên AO bao gồm cả front-end và back-end.

Tác giả: Lý Đại Câu

Đánh giá bởi: outprog

Nguồn: Hiệp hội nội dung - Tin tức

AO-Bộ đếm | Bắt đầu nhanh AO (1)

Bài viết này triển khai trường hợp đầu tiên về AO, bộ đếm dựa trên AO. Mỗi khi một nút được nhấp vào, bộ đếm là +1 và địa chỉ của người nhấp chuột được ghi vào danh sách trong Quy trình AO.

Tham khảo từ:

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

Repo:

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

Phiên bản Vercel:

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

Phiên bản Arweave:

https://arweave.net/bleZF-gxe_vv0RYMNhHABsvq6wvhvmBBnQ5lfzwJJKQ

Quy trình trên ao.link :

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

0x01AO là gì?

💡Tài liệu tham khảo——

AO: Xây dựng Erlang phi tập trung: https://permadao.com/permadao/AO-Erlang-ae1c8ab020b24e379457d92014e3d09e

Giải thích kỹ thuật chi tiết áo dài máy tính siêu song song:

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

Khi nói về chương trình, chúng ta có thể tóm tắt chúng thành hai thứ - "tính toán" và "lưu trữ".

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

Khi nói về chương trình, chúng ta có thể tóm tắt chúng thành hai thứ - "tính toán" và "lưu trữ".

Ethereum bắt đầu từ tính toán phân tán, đầu tiên tập trung vào các hợp đồng thông minh và sau đó chuyển sang lưu trữ, vì vậy chúng ta có thể thấy ETH Storage .

Arweave bắt đầu từ bộ lưu trữ phân tán, trước tiên hoàn thành lớp lưu trữ, sau đó chuyển sang tính toán, vì vậy chúng ta có thể thấy AO .

AO kế thừa triết lý Erlang.

Vì vậy Erlang gắn bó sâu sắc với AO và mọi thứ chúng tôi xây dựng, và đó không chỉ là kiến ​​trúc mà còn là sự giao thoa về mặt triết học và gần như thẩm mỹ. Mặc dù chúng ta không còn gọi điện thoại từ những năm 80 nữa nhưng nó vẫn khá gần gũi. Và chúng tôi thậm chí còn thiết kế logo cho nó có tên Super Beam.

--AO: Xây dựng Erlang phi tập trung

Cốt lõi của triết lý Erlang là các nguyên tắc thiết kế của Quy trình nhẹ và cơ chế truyền thông điệp giữa các Quy trình:

Do đó, chúng ta có thể hiểu AO là Mạng quy trình phi tập trung Perma được xây dựng bởi vô số Quy trình. Điểm mấu chốt là các Quy trình được tách biệt với nhau và các Quy trình khác nhau không chia sẻ nhóm bộ nhớ.

Đây là một mô hình có tính trừu tượng cao và khi được triển khai vào các kịch bản ứng dụng, sẽ có nhiều khả năng hấp dẫn.

Ví dụ, để xây dựng Autonomous AI Agent Network

Tham khảo: https://bodhi.wtf/space/5/15063

Để biết thêm thông tin về triết lý Erlang, hãy xem:

Xây dựng hệ thống phân tán đáng tin cậy khi đối mặt với lỗi phần mềm——

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

0x02 Thực hiện và triển khai Lua Process

Đầu tiên chúng tôi triển khai Quy trình nhẹ thông qua Lua.

2.1 Hướng dẫn vận hành CLI tối giản

Cách cài đặt client vui lòng xem:

Đầu tiên chúng tôi triển khai Quy trình nhẹ thông qua Lua.

2.1 Hướng dẫn vận hành CLI tối giản

Cách cài đặt client vui lòng xem:

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

Chúng tôi bắt đầu aos CLI thông qua aos:

$ aos

Thông qua ao.id chúng ta có thể xem id của process hiện tại:

aos> ao.id

hiện hữu Chúng ta có thể xem thông tin liên quan đến process này trên ao.link :

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

Sau đó chúng tôi vượt qua:

aos> .load counter.lua

Mã có thể được tải vào process .

2.2 Phân tích mã lõi quy trình

Lúc đầu, chúng tôi đã xác định một danh sách Playerscounter số nguyên:

Trình xử lý lõi—

"AddNew" là tên của Trình xử Handlers.utils.hasMatchingTag("Action", "AddNew" ) cho biết toán tử của thông báo là "AddNew", kích hoạt Trình xử lý này.

Một hàm ẩn danh được thực thi khi được kích hoạt. Hàm ẩn danh thực hiện hai thao tác:

Chèn một item mới vào danh sách có giá trị msg.Data .

Chèn một item mới vào danh sách có giá trị msg.Data .

Cập nhật bộ đếm về độ dài của danh sách Players .

Handlers.utils.reply("bizz buzz")(msg) : Giá trị trả về của hàm là bizz buzz .

Chức năng cốt lõi của Handler thứ hai là sử dụng các mã nguồn khác làm giá trị trả về, để chúng ta có thể mở mã nguồn một cách khéo léo :).

Bấm vào Fetch * trong ao.link để xem Thông tin:

2.3 Nhiều thao tác hơn với CLI

Sau khi tải tệp .lua , chúng ta có thể thực hành nhiều thao tác hơn trong CLI.

  • Players

Nhập biến để xem giá trị.

💡Bạn cũng có thể chạy mã lua trực tiếp.

  • Send({ Target = ao.id, Data = "0x0", Action = "AddNew" })

Gửi thông tin tới Process.

0x03 Triển khai và triển khai React front-end

Lua Process tương đương với back-end của một chương trình truyền thống. Sau khi triển khai Lua Process, chúng ta có thể phát triển front-end và thực hiện lệnh gọi Lua Process để hoàn thiện chương trình của mình.

3.1 Mã lõi mặt trước

Nhìn thấy:

3.1 Mã lõi mặt trước

Nhìn thấy:

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

3.1.1 Biến môi trường

Định cấu hình ID duy nhất của Quy trình trong dapp/src/app/util/consts.ts , ở đây là AO_COUNTER :

3.1.2 Lệnh gọi biến quy trình

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

Nhận các biến trong Quy trình bằng cách gọi phương thức getDataFromAO được đóng gói.

3.1.3 Lệnh gọi hàm xử lý

Khi button được nhấp vào, hàm handleClick sẽ được gọi và sau đó phương thức messageToAO được gọi để truyền thông tin cho tiến trình.

3.1.4 Mô-đun kết nối ví

3.1.4 Mô-đun kết nối ví

Gọi tới ví ArConnect và nhận Địa chỉ Ví.

3.2 Triển khai tới Vercel

Chúng tôi đã cài đặt plugin vercel trong dapp để nó có thể được triển khai trên nền tảng lưu trữ vercel bằng một dòng lệnh:

Sau khi triển khai hoàn tất, chúng ta có thể truy cập nó:

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

3.3 Chương trình không thể ngăn cản — Đã triển khai cho Arweave

Chúng tôi cũng có thể chọn lưu trữ chương trình giao diện người dùng trên Arweave để đạt được sự phân cấp hoàn toàn.

💡Video hướng dẫn:

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

Lấy ArDrive làm ví dụ:

1/ vượt qua yarn build tạo ra các trang tĩnh

2/ Tải thư mục lên ArDrive

3/ Tạo manifest cho website

4/ Sao chép manifest để truy cập:

vượt qua:

4/ Sao chép manifest để truy cập:

vượt qua:

https://arweave.net/{id giao dịch dữ liệu}

Bây giờ bạn có thể truy cập ứng dụng đã triển khai của mình!

5/ Cấu hình tên miền truyền thống

  • Tạo một kho mới bằng cách sử dụng kho này làm mẫu:

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

  • Sửa đổi index.html :
  • Sửa đổi desktopURLmobileURL :
  • Nhập trang nhảy trên vercel:
  • Cấu hình tên miền (không chi tiết ở đây):

Sau đó, bạn có thể truy cập nó thông qua một tên miền tùy chỉnh!

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

🏆 Giải “bắt lỗi”: Nếu phát hiện lỗi chính tả, câu sai hoặc mô tả sai trong bài viết này, hãy bấm vào để tôi báo cáo và bạn sẽ nhận được ưu đãi.

Tuyên bố miễn trừ trách nhiệm: Nội dung của bài viết này chỉ mang tính tham khảo và không mang tính chất tư vấn đầu tư.

🔗 关于 PermaDAO: Trang web | Twitter | Điện tín | Bất hòa | Trung bình | YouTube

Các bình luận

Tất cả bình luận

Chưa có bình luận, hãy trở thành người đầu tiên?

Recommended for you