Cointime

Download App
iOS & Android

Tổng quan về hợp đồng AO và mua lại mã nguồn

Validated Project

Bạn muốn biết cơ chế vận hành hợp đồng được áp dụng trên AO? Vì vậy, hãy lấy mã hợp đồng và tìm hiểu. Sử dụng một applet python để dễ dàng có được hợp đồng của Quy trình được chỉ định.

Tác giả: txohyeah

Đánh giá bởi: outprog

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

Giới thiệu về AO

AO là gì?

Chưa đầy nửa năm kể từ khi testnet AO ra mắt, có rất nhiều nội dung về AO Nội dung bài viết này chủ yếu tập trung vào Quy trình và hợp đồng thông minh, bao gồm AO là gì, Quy trình là gì và cuộc sống. chu kỳ của quá trình. Cuối cùng, chúng ta sẽ tập trung vào cách xem mã hợp đồng của Process.

AO là một chức năng điện toán được Arweave phát triển thêm dựa trên việc cải thiện lưu trữ phân tán. Nó nhằm mục đích đạt được sự hỗ trợ ứng dụng phi tập trung toàn diện và tương ứng với lộ trình phát triển tính toán trước và lưu trữ sau của Ethereum. Nói một cách đơn giản, AO đại diện cho các hợp đồng thông minh hoặc sức mạnh tính toán trên nền tảng Arweave và là một phần mở rộng lớp logic trên giải pháp lưu trữ vĩnh viễn của nó.

AO bao gồm ba đơn vị, MU/SU/CU

MU: Nhận tin nhắn do người dùng gửi để đảm bảo chúng đã được ký.

SU: Đánh dấu thời gian và sắp xếp tin nhắn, sau đó nhóm và xuất bản lên Arweave. SU cũng là nhân vật chính mà chúng ta sẽ sử dụng ngày hôm nay và sẽ đóng một vai trò quan trọng khi xem xét hợp đồng sau này.

CU: Xử lý tin nhắn và tính toán kết quả.

Quy trình đang chạy trên AO là gì?

Quy trình đang chạy trên AO là gì?

AO về cơ bản là một máy tính siêu song song được xây dựng dựa trên Giao thức dữ liệu, trong đó dạng tồn tại của Dữ liệu là thành phần cơ bản Thông báo được xác định trong AO. Khi đó Process đóng vai trò quan trọng trong việc xử lý Message và là đơn vị cơ bản để xử lý message trên AO. Quá trình chạy trên CU và có thể được coi là máy ảo trên CU. Do đó, Quy trình chứa khả năng cơ bản để nhận và gửi tin nhắn trong mạng. Sau đó, các nhà phát triển xây dựng khả năng xử lý tin nhắn cho Process bằng cách thêm trình xử lý vào Process. Hợp đồng sẽ được thảo luận sau này thực sự được triển khai bằng cách gửi tin nhắn tới Process và sau đó sử dụng trình xử lý _eval tích hợp sẵn. Trình xử lý được thêm vào có thể hiểu là chức năng xử lý tin nhắn của hợp đồng.

Vòng đời của quá trình

Nếu chúng ta muốn tìm một sự tương đồng trong thế giới hiện tại của chúng ta, thì tôi nghĩ container (Container) trong docker có thể là một sự so sánh và hiểu biết tốt về Process. Tiếp theo mình sẽ dùng vòng đời của Container trong docker để so sánh vòng đời của Process.

Chúng ta đều biết rằng việc tạo một Container trong docker phụ thuộc vào một image (Image). Ví dụ: tạo một MySQL Container dựa trên MySQL Image, sau đó bạn có thể gọi dịch vụ MySQL trên container này. Điều này cũng đúng với Process trong AO. Việc tạo Process phụ thuộc vào Module, và cũng sẽ có những Module có chức năng khác nhau, có những Module đơn giản nhất, có những Module hỗ trợ các tác vụ theo lịch trình, có những Module bao gồm sqlite. Hiện tại có hàng trăm Mô-đun để nhà phát triển lựa chọn để tạo Quy trình của riêng mình. Ngoài ra, bạn cũng có thể tạo Mô-đun tùy chỉnh của riêng mình. Tôi tin rằng trong tương lai gần, cũng sẽ có các mô-đun hỗ trợ GPU và các mô-đun hỗ trợ nhiều khả năng AI khác nhau.

Process trong AO cũng khác với Container trong docker. Các thùng chứa trong Docker hỗ trợ nhiều hành động khác nhau như bắt đầu, dừng và xóa. Xét cho cùng, hiện tại không có hoạt động nào như vậy trong Quy trình của AO, trong thế giới ứng dụng phi tập trung, các chức năng này do các cá nhân tập trung kiểm soát có vẻ rất không nhất quán. Việc chạy Process trong AO phụ thuộc hoàn toàn vào giá trị của Process đó. Nếu nó có đủ giá trị thì chắc chắn sẽ có nhiều CU sẵn sàng chạy nó. Ngược lại, nếu một Process không có giá trị thì sẽ không có CU nào sẵn sàng chạy. Sau đó, Quá trình này sẽ biến mất một cách âm thầm.

Chức năng đánh giá và triển khai hợp đồng AO

Hợp đồng AO là gì? So sánh các hợp đồng thông minh của Ethereum. Mã Lua trong Quy trình chạy trên AO có thể được coi là một hợp đồng thông minh.

Khi chúng ta tạo một Process, mỗi Module được nạp sẽ có hai hàm xử lý mặc định (các hàm xử lý có thể hiểu là các hàm mở cho các Processes khác), một trong số đó là _eval handler. Chức năng chính của trình xử lý này là chạy mã Lua. Ví dụ: nếu bạn nhập 1+1 trong aos, số 2 sẽ được trả về và được trình xử lý này xử lý. Sau đó, hợp đồng triển khai thực sự có nghĩa là gửi thông báo đến Quy trình và thêm Trình xử lý tùy chỉnh có thể xử lý logic nghiệp vụ cho Quy trình thông qua trình xử lý _eval.

Có một điều cần lưu ý, vui lòng xem mã bên dưới. Đây là phần mã trong process.lua trong dự án AO nguồn mở chính thức. Trình xử lý _eval chỉ có thể được thực thi khi người gửi tin nhắn nhất quán với Chủ sở hữu của Quy trình (Chủ sở hữu là địa chỉ ví khi hợp đồng được tạo). Nghĩa là, nếu Chủ sở hữu được đặt thành không (nghĩa là Quy trình được đặt thành không có Chủ sở hữu), thì hợp đồng trong Quy trình sẽ trở thành hợp đồng mà không ai có thể sửa đổi.

Ngoài ra, vì AO thực sự được xây dựng dựa trên Mô hình đồng thuận dựa trên lưu trữ (SCP, Mô hình đồng thuận dựa trên lưu trữ), hợp đồng đang chạy phải được tìm thấy trên "sự đồng thuận lưu trữ", nghĩa là tất cả các thông báo đang chạy trong Quy trình, bao gồm thông qua Mã hợp đồng được trình xử lý _eval triển khai được lưu trữ trên Arweave. Vì vậy, bất kỳ ai cũng có thể tìm thấy mã hợp đồng trên “sự đồng thuận lưu trữ” này.

Xem hợp đồng

Vậy đến với chủ đề hôm nay, làm thế nào để tìm được mã hợp đồng? Dưới đây tôi sẽ giới thiệu hai phương thức và đưa ra một chương trình Python để nắm bắt hợp đồng.

dệt

Tất nhiên, phương pháp đầu tiên là truy vấn trực tiếp trên Arweave (bạn có thể sử dụng graphql https://arweave.net/graphql). Cách tiếp cận này yêu cầu dữ liệu phải được đóng gói vào Arweave để có thể sử dụng được.

SU - Trình duyệt

Phương pháp thứ hai là phương pháp được giới thiệu chủ yếu ngày nay. Vì tất cả dữ liệu sẽ được tải lên thông qua SU nên nó cũng có thể được truy vấn trên SU. Cá nhân tôi nghĩ rằng mỗi SU sẽ có một bộ nhớ đệm cục bộ chứa dữ liệu do chính nó tải lên nên có thể tìm thấy mã hợp đồng tương ứng bằng cách truy vấn SU. Đầu tiên, bạn có thể truy vấn trực tiếp bằng cách nhập địa chỉ vào trình duyệt. Tuy nhiên, nhược điểm của phương pháp này cũng rất rõ ràng: 1. Một số quy trình gửi và nhận lượng tin nhắn rất lớn nên lượng dữ liệu được tải lên chuỗi cũng rất lớn. Tuy nhiên, dữ liệu mà trình duyệt có thể tải bị hạn chế và thường xảy ra lỗi trình duyệt. 2. Rất khó để lọc ra dữ liệu hợp đồng bạn muốn từ dữ liệu khổng lồ.

Hình bên dưới hiển thị tất cả các thông báo của quy trình (quy trình mã thông báo AO) với id quy trình m3PaWzK4PTG9lAaqYQPaPdOcXdO8hYqi5Fe9NWqXd0w trong hai dấu thời gian.

SU-sdk

Ở đây tôi đã viết một chương trình nhỏ, sử dụng ao sdk được viết bởi một nhà lãnh đạo ngành dựa trên python, để lọc các thông báo có Hành động là Eval. (Thông báo có Hành động là Eval là tất cả các thông báo được xử lý bởi trình xử lý _eval, bao gồm cả mã hợp đồng đã tải.) Hình ảnh sau đây là thông báo tôi lấy từ SU, trong đó nội dung trong trường dữ liệu là ký tự thoát. Tất nhiên, các tin nhắn được chụp cũng sẽ chứa nội dung mã hợp đồng không triển khai, chẳng hạn như thực thi 1 + 1, v.v. Tuy nhiên, số lượng tin nhắn sau khi lọc không còn nhiều, mã hợp đồng có thể được chọn thủ công.

Chương trình là mã nguồn mở, đây là địa chỉ github: https://github.com/txohyeah/ao-sc

Hợp đồng mã thông báo AO

Vì vậy, hãy cùng hào hứng và xem mã hợp đồng của ao token. (Mã hợp đồng đã thu thập cũng sẽ được đưa vào kho mã nguồn mở)

Đầu tiên, khi khởi tạo trạng thái, TotalSupply = "2100000000000000000000" được xác định là nhất quán với việc phát hành Bitcoin.

Denomination = Denomination hay 12 cũng quy định dấu thập phân là 12 chữ số.

Người ta định nghĩa rằng nếu chức năng truyền được thực thi trước khi 100.000 khối được tạo ra thì "Truyền bị khóa" sẽ được trả về trực tiếp.

Vì một khối được tạo ra cứ sau 5 phút nên sẽ có 100.000 khối vào khoảng tháng 2 năm sau.

Có nhiều thông tin liên quan hơn nên tôi sẽ không đi sâu vào chi tiết. Mọi người đều có thể vui vẻ duyệt qua hợp đồng AO cổ điển này.

Hướng dẫn chương trình

Có nhiều thông tin liên quan hơn nên tôi sẽ không đi sâu vào chi tiết. Mọi người đều có thể vui vẻ duyệt qua hợp đồng AO cổ điển này.

Hướng dẫn chương trình

Mình đã giới thiệu mã hợp đồng đã capture ở trên. Tiếp theo, mình sẽ giới thiệu ngắn gọn về chương trình này. Nó rất đơn giản, tôi tin rằng những người không biết mã có thể sử dụng nó một cách dễ dàng.

Bước đầu tiên là cài đặt phiên bản python 3.12. Chương trình được viết bằng python và việc cài đặt python là cần thiết.

Bước thứ hai là cài đặt các gói cần thiết. Chương trình này dựa trên SDK của các nhà lãnh đạo ngành và everpay.

Bước thứ ba là sửa đổi start_time/end_time/process trong Fetch_sc_record.py. Và thực thi Fetch_sc_record.py.

start_time và end_time là khoảng thời gian bạn cần nắm bắt. quy trình là ID của Quy trình bạn cần để nắm bắt hợp đồng.

Ở bước thứ tư, thông báo Eval tương ứng sẽ xuất hiện trong tệp msg_eval.json. Duyệt tin nhắn và bạn có thể tìm thấy mã hợp đồng bạn cần!

PS: Nó cũng cần giống như chạy aos. Đặt HTTPS_PROXY.

🏆 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: Bài viết này không thể hiện quan điểm hoặc quan điểm của PermaDAO. PermaDAO không cung cấp lời khuyên đầu tư hoặc chứng thực bất kỳ dự án nào. Người đọc được yêu cầu tuân thủ luật pháp của quốc gia nơi họ sinh sống và thực hiện các hoạt động Web3 theo đúng quy định.

🔗 Giới thiệu về PermaDAO: Trang web Twitter Telegram |

Các bình luận

Tất cả bình luận

Recommended for you

  • Thống đốc Ngân hàng Trung ương Philippines: Định hướng chính sách tiền tệ cuối cùng sẽ có xu hướng lỏng lẻo

    Thống đốc ngân hàng trung ương Philippines cho rằng định hướng chính sách tiền tệ cuối cùng sẽ có xu hướng lỏng lẻo hơn. Khi các điều kiện chín muồi và chúng tôi cảm thấy lạm phát đã được kiểm soát, chúng tôi có ý định nới lỏng chính sách. Không có mong muốn giữ lãi suất đủ cao để gây ra tổn thất về sản lượng.

  • Vitalik: Điểm thấp của tiện ích tiền điện tử đã qua

    Vitalik Buterin đã tweet rằng điểm thấp trong tiện ích tiền điện tử đã qua. Từ góc độ công nghệ, sự phát triển lớn nhất trong 5 năm qua chủ yếu là giải quyết các vấn đề về khả năng mở rộng của blockchain. Vitalik đặc biệt đề cập đến thị trường dự đoán Polymarket, cho biết họ rất hài lòng với sự hiện diện của nó trên Ethereum sau cuộc phỏng vấn vào mùa xuân này.

  • FBI: Hãy cảnh giác với những kẻ lừa đảo mạo danh nhân viên sàn giao dịch tiền điện tử để đánh cắp tiền bất hợp pháp

    FBI đã đưa ra cảnh báo vào ngày 1 tháng 8 rằng những kẻ lừa đảo đang giả danh nhân viên của các sàn giao dịch tiền điện tử và đánh cắp tiền thông qua các tin nhắn hoặc cuộc gọi điện thoại không được yêu cầu. Những kẻ lừa đảo này tạo ra các trường hợp khẩn cấp và cho rằng tài khoản có vấn đề để lừa nạn nhân cung cấp thông tin đăng nhập. nhấp vào liên kết hoặc chia sẻ thông tin nhận dạng.

  • Nguồn cung phát hành tiền tệ ổn định đã tăng lên 144,3 tỷ USD trong tháng 7 và thị phần USDT đạt 78,9%

    Theo dữ liệu từ TheBlockPro, khối lượng giao dịch được điều chỉnh của stablecoin trên chuỗi đã tăng 18,8% trong tháng 7, đạt 997,4 tỷ USD và nguồn cung stablecoin tăng 1,2% lên 144,3 tỷ USD, trong đó thị phần của USDT và USDC lần lượt là 78,9% và 17,1%. Ngoài ra, tổng khối lượng giao dịch trên chuỗi được điều chỉnh của Bitcoin và Ethereum tăng 31,8% về tổng thể, lên tới 445 tỷ USD. Trong số đó, khối lượng giao dịch trên chuỗi được điều chỉnh của Bitcoin tăng 34,7% và của Ethereum tăng thêm. 27,7%.

  • Ngân hàng Thương mại Dubai, UAE ra mắt tài khoản dành riêng cho nhà cung cấp dịch vụ tài sản ảo

    Ngân hàng Thương mại Dubai (CBD) tại Các Tiểu vương quốc Ả Rập Thống nhất (UAE) đã ra mắt tài khoản dành riêng cho nhà cung cấp dịch vụ tài sản ảo (VASP) để quản lý tiền của khách hàng và đáp ứng các yêu cầu an toàn theo quy định. CBD ra mắt một tài khoản chuyên dụng để tuân thủ Ngân hàng Trung ương. quy định của Cơ quan quản lý tài sản ảo của UAE và Dubai (VARA). Giám đốc điều hành Bernd van Linder cho biết động thái này phù hợp với các dịch vụ ngân hàng cốt lõi của Ngân hàng Thương mại Dubai và hỗ trợ các kế hoạch của ngân hàng nhằm thúc đẩy sự phát triển của nền kinh tế kỹ thuật số.

  • Giao thức cho vay chuỗi khối Morpho hoàn thành khoản tài trợ 50 triệu USD, dẫn đầu bởi Ribbit Capital

    Công ty DeFi Morpho đã huy động được 18 triệu USD tài trợ khi CEO Paul Frambot vẫn còn là sinh viên đại học. Lần này, Morpho đã huy động được 50 triệu USD thông qua việc bán token riêng tư nhưng không tiết lộ mức định giá. Vòng tài trợ chiến lược được dẫn dắt bởi Ribbit Capital, một nhà đầu tư ban đầu vào các công ty công nghệ tài chính bao gồm Robinhood, Revolut và Coinbase.

  • Hội nghị ở Nashville đã thúc đẩy BTC đạt 70.000 USD Thị trường sẽ hoạt động như thế nào trong tương lai? |Viện nghiên cứu TrendX

    Hội nghị ở Nashville đã thúc đẩy BTC đạt 70.000 USD Thị trường sẽ hoạt động như thế nào trong tương lai?

  • Con ngựa thành Troy của tiền điện tử: Stablecoin

    Mặc dù quan điểm này có thể gây tranh cãi trong quá khứ nhưng ngày nay ngành công nghiệp tiền điện tử không còn là nhóm duy nhất giữ quan điểm này. Đồng sáng lập và Giám đốc điều hành BlackRock, Larry Fink hiện thường xuyên nói về tính tất yếu của việc mã hóa và lợi ích của nó đối với hệ thống tài chính toàn cầu. Là nhà quản lý tài sản lớn nhất thế giới, BlackRock quản lý giá trị gấp hơn bốn lần toàn bộ thị trường tài sản tiền điện tử (2,5 nghìn tỷ USD) (10,5 nghìn tỷ USD). Nói cách khác, một tổ chức có nhiều vốn được quản lý hơn tổng giá trị của toàn bộ ngành công nghiệp tiền điện tử đang nói với thế giới rằng hệ thống tài chính toàn cầu và tất cả tài sản của nó sẽ tồn tại ở dạng token hóa trên đường ray tài sản tiền điện tử và đây là điều mà không thể bỏ qua Signal.

  • USDT trên ARB an toàn đến mức nào |

    Câu trả lời cho những câu hỏi gần đây của độc giả Nếu có thắc mắc gì, bạn có thể để lại tin nhắn Sau khi giải đáp, chúng tôi sẽ cùng nhau giải đáp vào lần sau.

  • Khóa học biên giới dành cho giáo viên nổi tiếng của Uweb Số 82 Phân tích thị trường vĩ mô và Web3

    Lớp học tiên tiến của các giáo viên nổi tiếng của Uweb bắt đầu đúng giờ vào thứ Ba và thứ Năm hàng tuần lúc 20:30. Số này là số 82. Người dẫn chương trình là hiệu trưởng Uweb Yu Jianing. Khách mời là Boss Qiu, người diễn giải các xu hướng vĩ mô thị trường gần đây. và sự kiện lớn.