

“Sơ đồ tri thức Polkadot"Đây là bài viết cơ bản của chúng tôi về Polkadot từ 0 đến 1. Chúng tôi cố gắng bắt đầu từ phần cơ bản nhất của Polkadot và cung cấp cho bạn sự hiểu biết toàn diện về Polkadot. Những thách thức, nhưng chúng tôi hy vọng rằng thông qua những nỗ lực như vậy, mọi người có thể hiểu đúng Polkadot và những người chưa biết về Polkadot có thể nắm bắt kiến thức liên quan đến Polkadot một cách dễ dàng và nhanh chóng.hình ảnh
Sơ đồ tri thức Polkadot
"Đây là bài viết cơ bản của chúng tôi về Polkadot từ 0 đến 1. Chúng tôi cố gắng bắt đầu từ phần cơ bản nhất của Polkadot và cung cấp cho bạn sự hiểu biết toàn diện về Polkadot. Những thách thức, nhưng chúng tôi hy vọng rằng thông qua những nỗ lực như vậy, mọi người có thể hiểu đúng Polkadot và những người chưa biết về Polkadot có thể nắm bắt kiến thức liên quan đến Polkadot một cách dễ dàng và nhanh chóng.Hôm nay là số thứ 65 của chuyên mục này. Bản thân Polkadot không hỗ trợ hợp đồng thông minh, nhưng parachain của Polkadot sẽ hỗ trợ hợp đồng thông minh và hợp đồng thông minh Substrate vốn an toàn hơn và có ngưỡng phát triển thấp hơn. Vậy làm thế nào để xây dựng trong Polkadot? Còn hợp đồng thông minh thì sao? ?
Hợp đồng thông minh là một chức năng thiết yếu của chuỗi khối. Chính nhờ hợp đồng thông minh mà chuỗi khối nhận ra sự tin cậy của máy móc. Hiện tại, nó có nhiều kịch bản ứng dụng, bao gồm nhận dạng kỹ thuật số, chuỗi cung ứng, tài chính thương mại, thế chấp và các lĩnh vực khác.
Hợp đồng thông minh cơ bản cho phép người dùng thêm logic kinh doanh dựa trên logic cốt lõi của chuỗi khối, đồng thời thiết lập cơ chế bảo vệ chống lại những kẻ phá hoại.
So với parachains, tốc độ phát triển của hợp đồng thông minh nhanh hơn và việc triển khai ít khó khăn hơn, do đó, các nền tảng hợp đồng thông minh như Moonbeam, Astar và Phala cung cấp nhiều tùy chọn hơn cho các ứng dụng muốn trực tuyến nhanh chóng.
Bản thân chuỗi chuyển tiếp Polkadot không hỗ trợ hợp đồng thông minh, nhưng các parachains trên Polkadot sẽ hỗ trợ hợp đồng thông minh.
Sự khác biệt giữa phát triển hợp đồng thông minh và parachains
lớp trừu tượngKhi bạn viết một hợp đồng thông minh, bạn đang tạo các hướng dẫn được liên kết và triển khai trên một địa chỉ chuỗi cụ thể. Ngược lại, mô-đun thời gian chạy là toàn bộ logic của một chuỗi các chuyển đổi trạng thái (được gọi là các hàm chuyển đổi trạng thái).
Các hợp đồng thông minh phải được nâng cấp một cách có chủ ý, trong khi các parachains sẽ có khả năng trao đổi hoàn toàn mã của chúng thông qua các lệnh gốc hoặc thông qua pallet quản trị.
Khi bạn xây dựng một hợp đồng thông minh, nó cuối cùng sẽ được triển khai cho một chuỗi mục tiêu với môi trường riêng của nó
. Parachains cho phép các nhà phát triển khai báo môi trường của chuỗi của riêng họ và thậm chí cho phép những người khác viết hợp đồng thông minh cho chuỗi đó.
phí gas
Các hợp đồng thông minh phải tìm cách hạn chế việc thực thi của chính chúng, nếu không các nút đầy đủ dễ bị tấn công bởi DOS.
Ví dụ: một vòng lặp vô hạn trong hợp đồng thông minh có thể tiêu tốn tài nguyên máy tính của toàn bộ chuỗi, ngăn cản những người khác sử dụng nó. Vấn đề gián đoạn nói rằng, đối với các ngôn ngữ đủ mạnh, không thể biết trước liệu một chương trình có dừng thực thi hay không.。
Một số nền tảng, như Bitcoin, khắc phục hạn chế này bằng cách cung cấp một ngôn ngữ kịch bản rất hạn chế. Các dự án khác, chẳng hạn như Ethereum, tính phí "gas" cho các hợp đồng thông minh để cung cấp quyền thực thi mã của họ.
Nếu hợp đồng thông minh rơi vào trạng thái không bao giờ ngừng thực thi, thì cuối cùng nó sẽ hết xăng, ngừng thực thi và mọi chuyển đổi trạng thái mà hợp đồng thông minh đã thực hiện sẽ bị hủy bỏ.
Polkadot sử dụng mô hình phí trọng lượng thay vì mô hình đo khí
Parachains có thể triển khai các ngôn ngữ lập trình mạnh mẽ tùy ý và không bao gồm khái niệm gas cho logic riêng của chúng.
Điều này có nghĩa là các nhà phát triển sẽ dễ triển khai một số tính năng nhất định, nhưng không nên triển khai một số cấu trúc nhất định, chẳng hạn như các vòng lặp không có điều kiện kết thúc.
Sẽ khôn ngoan hơn nếu để lại một số logic nhất định (chẳng hạn như các vòng lặp phức tạp có thể chạy vô thời hạn) cho lớp hợp đồng không thông minh hoặc thậm chí cố gắng loại bỏ nó. Parachains cố gắng chủ động, trong khi các nền tảng hợp đồng thông minh được điều khiển theo sự kiện.
Xây dựng hợp đồng thông minh
Substrate hiện hỗ trợ hợp đồng thông minh ngay lập tức theo hai cách:
Pallet EVM do Frontier cung cấp.
Pallet hợp đồng trong thư viện FRAME dựa trên hợp đồng Wasm.
tiêu đề phụ
Frontier là một bộ công cụ cho phép các chuỗi Substrate chạy các hợp đồng Ethereum (EVM) nguyên bản với cùng giao diện API/RPC mà Ethereum hiển thị trên Substrate. Địa chỉ Ethereum cũng có thể được ánh xạ trực tiếp tới sơ đồ SS58 của Substrate từ các tài khoản hiện có.
hợp đồng chất nền
Substrate cung cấp một pallet hợp đồng tích hợp sẵn; theo thời gian, nhiều parachains sẽ hỗ trợ các hợp đồng thông minh WebAssugging.https://www.youtube.com/watch?v=fKHkFBXaUxQ
hình ảnh
Ngoài ra, còn có EVM Pallet, cho phép các parachain triển khai Ethereum EVM, do đó cho phép chuyển trực tiếp các hợp đồng Ethereum.https://stackoverflow.com/questions/56040779/when-should-i-build-a-substrate-runtime-module-versus-a-substrate-smart-contract/56041305#56041305)
Có thể tìm thấy phiên bản video về tổng quan hợp đồng thông minh trên kênh YouTube Polkadot.https://github.com/paritytech/ink)
Contracts Pallet
nguồn
1.Wasm(WebAssembly)Khi nào tôi nên xây dựng thời gian chạy Substrate và hợp đồng thông minh Substrate? Bài đăng này trả lời về mặt kỹ thuật khi nhà phát triển có thể chọn phát triển thời gian chạy thay vì hợp đồng thông minh. (
2.Dưới đây là danh sách các tài nguyên hiện có sẵn cho các nhà phát triển muốn bắt đầu viết hợp đồng thông minh để triển khai trên các parachain dựa trên Chất nền. mực! - Mực của chẵn lẻ! để viết hợp đồng thông minh. (Các nhà phát triển đã viết hợp đồng thông minh trước đây có thể quen thuộc hơn với trải nghiệm triển khai chuỗi dựa trên EVM. Tuy nhiên, Bảng hợp đồng thực hiện một số cải tiến đáng chú ý đối với thiết kế của EVM:
3.: Pallet Hợp đồng sử dụng WebAssembly làm mục tiêu biên dịch. Bất kỳ ngôn ngữ nào biên dịch thành Wasm đều có thể được sử dụng để viết hợp đồng thông minh. Tuy nhiên, sẽ tốt hơn nếu có một ngôn ngữ dành riêng cho miền cụ thể, vì vậy Parity cung cấp ngôn ngữ ink!.Tiền gửi
: Các hợp đồng phải có một khoản ký gửi đủ lớn (được gọi là Ký quỹ Hợp đồng) để chứng minh sự tồn tại của chúng trên chuỗi. Người triển khai cần gửi nó vào một hợp đồng mới dựa trên ExistentialDeposit.
4.Bộ nhớ đệm: Các hợp đồng được lưu vào bộ nhớ cache theo mặc định, vì vậy điều này có nghĩa là chúng chỉ cần được triển khai một lần và sau đó có thể được khởi tạo nhiều lần nếu cần.
Điều này giúp giữ cho tải lưu trữ trên chuỗi ở mức tối thiểu. Ngoài ra, khi hợp đồng không còn được sử dụng và các khoản tiền gửi hiện có đã cạn, mã sẽ bị xóa khỏi bộ lưu trữ (được gọi là thu hồi).https://github.com/paritytech/substrate/pull/9669
Cho thuê kho bãi
: Pallet_contracts không dùng nữa ban đầu được thiết kế để đối phó với sự tăng trưởng trạng thái không giới hạn bằng cách tính phí cho trạng thái tiêu thụ theo hợp đồng, nhưng sau đó không được dùng nữa.
Xem yêu cầu kéo liên quan để biết thêm chi tiết:
Đề xuất tiêu chuẩn Polkadot (PSP)https://github.com/w3f/PSPs
Ink!
Web3 Foundation hỗ trợ các đề xuất của Polkadot xác định một bộ tiêu chuẩn đáp ứng nhu cầu của hệ sinh thái. Các tiêu chuẩn này trải qua một số giai đoạn chấp nhận, trong đó cần có sự tham gia của toàn bộ cộng đồng để thiết lập một tiêu chuẩn xứng đáng và phù hợp với tương lai.
Tất cả các nhóm được hưởng lợi từ một tiêu chuẩn cần phải đồng ý về nội dung của nó.
Một số PSP này là Bảng hợp đồng cho Chất nền: Vui lòng truy cập Github Đề xuất Tiêu chuẩn Polkadot (PSP) để biết thêm thông tin:
mực! là ngôn ngữ dành riêng cho miền để viết hợp đồng thông minh trong Rust biên dịch thành mã Wasm. Như đã nói trong phần đọc của nó, nó vẫn đang trong quá trình thử nghiệm, vì vậy các nhà phát triển dũng cảm nên lưu ý rằng họ có thể có trải nghiệm phát triển gập ghềnh nhưng khả thi.
Có một số dự án đã xây dựng các dự án bằng mực!, với mức độ phức tạp khá, vì vậy nó đủ trưởng thành để bắt đầu xây dựng những thứ thú vị.
Đối với các nhà phát triển quan tâm, họ có thể bắt đầu viết hợp đồng thông minh bằng mực bằng cách nghiên cứu các ví dụ đã được viết sẵn. Những điều này có thể đóng vai trò là hướng dẫn để viết logic phức tạp hơn sẽ có thể triển khai được trên các chuỗi hợp đồng thông minh.https://docs.openbrush.io/
- ink! đặt nhiều nền tảng cho ngăn xếp hợp đồng thông minh mới dựa trên máy ảo Wasm và tương thích với chuỗi Substrate.https://github.com/patractlabs/metis
thư viện hợp đồng thông minh của ink! thu thập một số ví dụ về hợp đồng thông minh bên dưới. Bạn đang phát triển một ví dụ về hợp đồng thông minh? Xin vui lòng cho chúng tôi thêm nó vào trang này!
OpenBrush: Một thư viện ink! cung cấp các hợp đồng dựa trên PSP tiêu chuẩn, cũng như các hợp đồng và macro hữu ích để xây dựng.
Parity Tech
ink!:
https://github.com/paritytech/inkSubstrate contracts Pallet:https://github.com/paritytech/substrate/tree/master/frame/contracts
Metis: Một thư viện hợp đồng Wasm tiêu chuẩn được phát triển bởi Patract Labs.
Moonbeam:
Astar:
Acala:
Phala:
Môi trường hợp đồng thông minh vẫn đang trưởng thành
https://www.polkaproject.com/#/projects?cateID=1&tagID=6
Moonbeam
Vẫn còn sớm đối với các hợp đồng thông minh trên Polkadot và sự phát triển của nó hiện chỉ mới ổn định. Chúng tôi đang tích cực sản xuất nội dung để giúp các nhà phát triển theo kịp và sẽ duy trì wiki với các tài nguyên mới nhất. Bạn cũng nên theo các liên kết dưới đây để biết thông tin mới nhất:
chuỗi dù
Nhiều nền tảng hợp đồng thông minh đang được xây dựng dưới dạng parachains trong hệ sinh thái. Có thể tìm thấy danh sách các cộng đồng tạo và duy trì các nền tảng hợp đồng thông minh dựa trên Polkadot khác nhau tại PolkaProjects.
Moonbeam là một dự án khác có kế hoạch triển khai tới Polkadot dưới dạng parachain và sẽ hỗ trợ các hợp đồng thông minh tương thích với Ethereum.https://docs.moonbeam.network/Astar
Vì Moonbeam sử dụng Frontier, một lớp khả năng tương tác với các công cụ Ethereum hiện có, nên nó sẽ hỗ trợ tất cả các ứng dụng được viết cho môi trường EVM mà không gặp trở ngại nào.
Mạng hàng đầu của Moonbeam, Moonriver, đã được ra mắt trên Kusama dưới dạng một parachain. Chức năng parachain đã được khởi chạy và chức năng này đang được phát hành dần dần. Giai đoạn cuối cùng của bản phát hành sẽ bao gồm chức năng EVM và chuyển số dư.
Hãy thử làm theo tài liệu của Moonbeam để triển khai hợp đồng thông minh.
Astar (trước đây là Plasm) là một nền tảng hợp đồng thông minh được xây dựng trên Substrate và dự định tích hợp với Polkadot dưới dạng một chuỗi song song.https://docs.astar.network/docs/wasm/sc-dev/ink-dev/
Acala
Shiden là mạng hàng đầu của Astar, hiện đang chạy trên Kusama và hỗ trợ các giải pháp EVM, WASM và Layer2.
Astar được thiết kế để phù hợp với tất cả các giải pháp mở rộng Lớp 2 và hỗ trợ tất cả các giao thức Lớp 2 thông qua OVM (Máy ảo lạc quan).
Hãy thử triển khai ethereum hoặc mực! Hãy làm theo tài liệu của họ để có hợp đồng thông minh.https://wiki.acala.network/build/development-guide/smart-contracts
Phala
Acala là một liên minh tài chính phi tập trung và chuỗi cơ sở hạ tầng DeFi, cung cấp một bộ giao thức làm trung tâm DeF trên Polkadot. Karura, mạng hàng đầu của Acala chạy trên Kusama như một parachain.
Các nhóm quan tâm hiện có thể triển khai DApps và hợp đồng thông minh trên nền tảng của Karura. Acala cũng đang triển khai Acala EVM.
Cố gắng triển khai hợp đồng thông minh Acala theo tài liệu của Acala EVM.https://wiki.phala.network/en-us/general/phala-network/intro/
Phala là một nền tảng điện toán đám mây bảo vệ quyền riêng tư được thiết kế để cung cấp các đảm bảo bảo mật mạnh mẽ dưới dạng một nền tảng chuỗi chéo.
Là một nền tảng hợp đồng thông minh, Phala sẽ hỗ trợ các hợp đồng thông minh được mã hóa trên Polkadot. Khala là mạng dẫn đầu của Phala, chạy trên Kusama như một parachain.
Cố gắng triển khai một hợp đồng thông minh được mã hóa theo tài liệu Phala.https://matrix.to/#/#polkadot-watercooler:web3.foundation
giữ liên lạchttps://area51.stackexchange.com/proposals/126136/substrateMặc dù công cụ vẫn đang trong giai đoạn trưởng thành, nhưng lợi ích của việc thực hiện sớm là làm quen với dự án và luôn dẫn đầu dự án, cho phép bạn đổi mới và tạo ra thứ gì đó thực sự mới.
Nếu bạn có bất kỳ ý tưởng thú vị nào về hợp đồng thông minh trên Polkadot, vui lòng tham gia Polkadot Watercooler để thảo luận.
Các nhà phát triển có thể quan tâm đến việc tham gia Polkadot Noobs Lounge https://matrix.to/#/#polkadotnoobs:matrix.org hoặc Substrate Technical
để đặt câu hỏi của họ. Như mọi khi, hãy kết nối với Polkadot và Kusama bằng cách theo dõi các kênh xã hội.
Có thể tất cả được tốt!
https://mirror.xyz/0x9A259b3a2316281Cc948cE2Cf1Ac610a79844f05
