IOSG Ventures: Trải nghiệm người dùng ZK Rollup khác biệt từ góc nhìn của nhà phát triển
Tác giả gốc: Yiping, IOSG Ventures
TL;DR
Tác giả gốc: Yiping, IOSG Ventures
Starknet ra mắt Alpha Mainnet vào ngày 29 tháng 11 năm 2022.
Scroll ra mắt Goerli Alpha Testnet vào ngày 27 tháng 2 năm 2023.
zkSync ra mắt Mainnet kỷ nguyên zkSync vào ngày 24 tháng 3 năm 2023.
Polygon ra mắt Bản beta Mainnet zkEVM vào ngày 27 tháng 3 năm 2023.
Với vô số Bản tổng hợp ZK này, với tư cách là nhà phát triển Solidity, bạn có thể tò mò:
Cái nào cung cấp trải nghiệm nhà phát triển tốt hơn cho bạn?
Cái nào cung cấp sự hỗ trợ dành cho nhà phát triển mà bạn cần nhiều hơn?
Cái nào là tốt nhất cho bạn nếu bạn định tạo dự án của mình?
Với sự ra mắt của ZK Rollup lần lượt, bây giờ là thời điểm tốt nhất để nghiên cứu trải nghiệm phát triển của ZK Rollup. Xem xét tất cả các Bản tổng hợp ZK đang thúc đẩy khả năng tương thích EVM của chúng, quá trình khám phá trải nghiệm của nhà phát triển của chúng tôi sẽ từ quan điểm của một kỹ sư Solidity, hãy cùng tìm hiểu những câu hỏi này bằng câu trả lời dựa trên dữ liệu ⬇️
🐙 So sánh nguồn mở mã ZK Rollup
Nguồn mở cải thiện trải nghiệm của nhà phát triển bằng cách thúc đẩy chất lượng, bảo mật và cộng tác. Tính minh bạch của nó cho phép các nhà phát triển trên khắp thế giới giải quyết các lỗi và vấn đề bảo mật, do đó liên tục cải tiến phần mềm. GitHub hoạt động như một nền tảng học tập, cung cấp khả năng tiếp cận các phong cách viết mã khác nhau, kỹ thuật nâng cao và tiêu chuẩn ngành, làm phong phú thêm hành trình của nhà phát triển. Các nhà phát triển có thể sửa đổi mã theo nhu cầu cụ thể. Nguồn mở khuyến khích cộng tác và đổi mới thông qua các cộng đồng đa dạng, thúc đẩy các dự án tiến lên.
Các dự án thường mở nguồn mã của họ sau khi đạt được các mốc quan trọng, thường là khi mã đạt ít nhất một bản phát hành alpha. Mã vẫn đang trong quá trình phát triển đáng kể không phải là ứng cử viên tốt cho nguồn mở, vì nó có thể không mang lại lợi ích như mong đợi như chất lượng được cải thiện, bảo mật được cải thiện và học tập cộng tác. Do đó, số lượng mã nguồn mở thường liên quan đến giai đoạn phát triển dự án.

Tất cả các ZK Rollup đều đặt rất nhiều công sức vào GitHub của họ, mặc dù những gì họ cung cấp có khác nhau.
📕 Lựa chọn ngôn ngữ dự án

Rust đã trở thành ngôn ngữ được lựa chọn để xây dựng trình biên dịch, nút, chuỗi công cụ, công cụ CLI và máy ảo trong nhiều dự án.
📄 Tài liệu phát triển
Tài liệu phát triển rất quan trọng đối với trải nghiệm của nhà phát triển. Các tài nguyên này thu hẹp hiệu quả khoảng cách giữa sự phức tạp của các giải pháp Lớp 2 và hệ sinh thái phát triển tuân thủ Máy ảo Ethereum (EVM).
Các dự án khác nhau cung cấp các cấu trúc và nội dung tài liệu hơi khác nhau.<>zkSync có tính năng AA và Lớp 1
Giao tiếp lớp 2 cung cấp tài liệu chi tiết và mã tham chiếu.
Chúng tôi tìm thấy phòng sau đây để cải thiện:
Bao gồm tên tệp và đường dẫn: Ở đầu bất kỳ khối mã nào, hãy đề cập đến tên tệp và đường dẫn của nó. Điều này giúp người dùng biết nơi tìm hoặc đặt mã.
Hiển thị kết quả thực thi CLI: Khi các lệnh giao diện dòng lệnh (CLI) được cung cấp, hãy bao gồm đầu ra mẫu từ lệnh. Điều này giúp người dùng biết điều gì sẽ xảy ra và xác minh rằng họ đã thực hiện đúng lệnh.
Độ dài dòng mã giới hạn: Đặt độ dài dòng tối đa cho các ví dụ mã của bạn. Điều này đảm bảo mã của bạn dễ đọc mà không cần cuộn ngang.
Sử dụng các ví dụ thực tế: Thay vì sử dụng trình giữ chỗ hoặc 'xxx', hãy cung cấp địa chỉ hợp đồng ví dụ hoặc khóa bí mật. Điều này giúp người dùng hiểu rõ hơn về dữ liệu nào họ nên sử dụng.
Chế độ xem dự án cho các hướng dẫn phức tạp: Đối với các hướng dẫn phức tạp hơn, chế độ xem dự án được cung cấp ở bên cạnh hướng dẫn. Khi người dùng điều hướng qua hướng dẫn, hãy đánh dấu phần tương ứng của mã.
Ví dụ tương tác: Bao gồm các ví dụ tương tác để giúp hướng dẫn các nhà phát triển một cách nhanh chóng. Đây có thể là một khu vực vui chơi nơi người dùng có thể chỉnh sửa và chạy các đoạn mã hoặc môi trường phát triển đám mây.
Sắp xếp tài liệu của bạn: Đảm bảo tài liệu của bạn có cấu trúc tốt và dễ điều hướng. Sử dụng tiêu đề rõ ràng, mục lục.

Luôn cập nhật: Khi dự án của bạn phát triển, hãy đảm bảo rằng tài liệu của bạn luôn được cập nhật. Điều này có thể có nghĩa là cập nhật ảnh chụp màn hình, sửa đổi mẫu mã hoặc viết lại các phần để phản ánh các tính năng hoặc thay đổi mới.
🧑💻 Đóng góp của cộng đồng và nhóm

Số lượng người đóng góp phản ánh mức độ tham gia trong cộng đồng nguồn mở. Tần suất cập nhật và mức độ tương tác là rất quan trọng để duy trì tài liệu toàn diện, hiện hành.

Càng nhiều người đóng góp, cộng đồng nguồn mở càng tích cực. Hầu hết các dự án đều đạt đến tần suất cập nhật tài liệu cao nhất khi chúng bắt đầu hoạt động.
🧑💻 Trải nghiệm viết mã
Trải nghiệm mã hóa phụ thuộc vào chuỗi công cụ, trải nghiệm trình chỉnh sửa và khung.
Chuỗi công cụ được liên kết xác định mức độ dễ dàng để thiết lập môi trường phát triển cục bộ, gỡ lỗi và chạy mã.
Trải nghiệm của trình soạn thảo xác định tốc độ viết mã. Trải nghiệm trình chỉnh sửa tốt phải bao gồm đánh dấu cú pháp rõ ràng, định nghĩa và tự động hoàn thành.

Các khung cung cấp một môi trường có cấu trúc giúp tăng tốc đáng kể quá trình phát triển. Chúng đi kèm với các chức năng được định cấu hình sẵn và các thư viện có thể tái sử dụng mà các nhà phát triển có thể tận dụng để viết các hợp đồng thông minh một cách hiệu quả mà không cần phải viết từng dòng mã từ đầu.
Sự hỗ trợ của phần mềm giống như Remix có thể giúp các nhà phát triển bắt đầu phát triển nhanh chóng mà không cần thiết lập môi trường cục bộ của riêng họ. Hiện tại, trải nghiệm phát triển dựa trên đám mây này chỉ khả dụng cho các hợp đồng thông minh phụ trợ. Nó cũng cần được cải thiện để phù hợp với sự phát triển của Dapp, bao gồm cả hợp đồng thông minh và giao diện người dùng.
Warp không hoạt động tốt. Kakarot sẽ là giải pháp duy nhất cho EVM tương thích với StarkNet. Kakarot cung cấp trải nghiệm phát triển Solidity rất mượt mà. Tương thích với tất cả các công cụ Ethereum hiện có như Trình biên dịch, Remix và Hardhat.
Kakarot cung cấp một EVM được viết ở Cairo. Là một EVM, Kakarot có thể thực thi các chương trình mã byte EVM, cho phép các hợp đồng thông minh Ethereum chạy trên StarkNet.
✍️ Kiểm tra
Thử nghiệm là một khía cạnh quan trọng của quá trình phát triển hợp đồng thông minh, đảm bảo chất lượng, chức năng và độ tin cậy của hợp đồng thông minh. Quá trình này bao gồm việc xác minh rằng mỗi tính năng hoạt động như mong đợi và xác định bất kỳ lỗi hoặc sự cố nào cần khắc phục trước khi triển khai. Bằng cách tiến hành kiểm tra kỹ lưỡng, các nhà phát triển có thể tin tưởng rằng phần mềm sẽ hoạt động chính xác trong nhiều tình huống và điều kiện khác nhau. Quá trình này không chỉ ngăn ngừa các lỗi tiềm ẩn có thể ảnh hưởng đến trải nghiệm người dùng mà còn giúp duy trì tính toàn vẹn và bảo mật của hợp đồng thông minh. Thử nghiệm cũng thông báo cho các nhà phát triển về khả năng tối ưu hóa, do đó góp phần cải tiến liên tục các hợp đồng thông minh.
Tenderly là một trong những công cụ sửa lỗi tốt nhất để phát triển hợp đồng thông minh. Nó cung cấp các chức năng mô phỏng thực thi hợp đồng thông minh, gỡ lỗi, phân tích gas, fork và cảnh báo để giúp các nhà phát triển xây dựng Dapps tốt hơn. Tuy nhiên, Tenderly không hỗ trợ bất kỳ ZK Rollup nào.
Chúng tôi hy vọng rằng trong tương lai gần, chúng ta có thể thấy nhiều công cụ gỡ lỗi và phát triển hợp đồng thông minh hơn hỗ trợ ZK Rollup, điều này sẽ giúp thúc đẩy sự phát triển và ứng dụng hơn nữa của công nghệ chuỗi khối.
🚢 triển khai
Quá trình triển khai là rất quan trọng trong vòng đời phát triển hợp đồng thông minh. Các công cụ triển khai tốt cung cấp trải nghiệm tự động, nhất quán và đáng tin cậy để triển khai các hợp đồng thông minh từ môi trường phát triển đến môi trường trực tuyến. Các công cụ triển khai tốt có thể giảm bớt đáng kể gánh nặng của các tác vụ triển khai thủ công, dẫn đến thời gian phân phối nhanh hơn và ít lỗi do con người hơn.

Các bước triển khai của StarkNet được chia thành hai bước: Khai báo và Triển khai nên mất nhiều thời gian.
✨Các tính năng mới của lớp 2
Các giải pháp lớp 2 đóng một vai trò quan trọng trong việc giải quyết các thách thức về khả năng mở rộng, hiệu quả và trải nghiệm người dùng. ZK Rollup vẫn đang ở giai đoạn đầu, nhưng đã cho thấy tiềm năng lớn để mở ra những khả năng mới cho các nhà phát triển.
Bằng cách cung cấp các cải tiến mang tính đột phá như State-diff, giao tiếp Lớp 1 và Lớp 2 liền mạch và trừu tượng hóa tài khoản, ZK Rollup cho phép các nhà phát triển tạo ra các dự án sáng tạo nhằm vượt qua ranh giới của những gì có thể với chuỗi khối. Những tính năng nâng cao này không chỉ nâng cao khả năng của các ứng dụng phi tập trung mà còn mở đường cho việc áp dụng chính thống công nghệ chuỗi khối.
trạng thái khác biệt
Kỷ nguyên StarkNet và zkSync sử dụng các kỹ thuật phân biệt trạng thái, theo lý thuyết, có thể dẫn đến mức phí thấp hơn. Họ chỉ công bố sự khác biệt về trạng thái chứ không phải đầu vào giao dịch, điều này cho phép nén dữ liệu và giảm chi phí lưu trữ. Điều này sẽ có lợi cho các nhà phát triển trò chơi.
Layer 1 <>Polygon zkEVM xuất bản tất cả các đầu vào giao dịch trên chuỗi, dựa trên việc giảm chi phí lưu trữ dữ liệu dự kiến trong vài năm tới.
Giao tiếp lớp 2<>Hầu hết các bản tổng hợp ZK đều cung cấp Lớp 1<>Chức năng giao tiếp lớp 2. Ví dụ: zkSync Era cung cấp lớp 1
Ví dụ quản trị giao tiếp lớp 2. Trên Lớp 1, hợp đồng có thể bắt đầu thực hiện hợp đồng Lớp 2. Trên Lớp 2, hợp đồng Lớp 2 chỉ có thể gửi tin nhắn đến hợp đồng Lớp 1. Sau đó, chúng tôi có thể xử lý tin nhắn đã nhận trên Lớp 1. Tương tự như vậy, Polygon đã cung cấp một ví dụ mã hóa trên Nft-bridge sử dụng giao tiếp xuyên chuỗi để chia sẻ thông tin giữa L1 và L2.
Tóm tắt tài khoản
Tóm tắt tài khoản là một tính năng thú vị khác. zkSync Era cung cấp AA gốc. Các tài khoản trong Kỷ nguyên zkSync có thể bắt đầu giao dịch, như EOA, nhưng cũng có thể triển khai logic tùy ý trong đó, như hợp đồng thông minh. Vì zkSync thực hiện AA một cách tự nhiên nên các tài khoản không cần thêm hợp đồng ủy quyền. Ngay cả EOA bình thường cũng có thể có các giao dịch mà không cần thanh toán phí gas, điều này không thể thực hiện được chỉ trong EIP-4337. Polygon zkEVM và Scroll triển khai AA tương thích với EVM. StarkNet cũng đang nghiên cứu trừu tượng hóa tài khoản. Nó tìm cách trừu tượng chữ ký và thanh toán trừu tượng.
💭 Những cải tiến trong tương lai đối với trải nghiệm của nhà phát triển
Trong nghiên cứu này, chúng tôi cảm thấy rằng các dự án ZK Rollup này đã nỗ lực rất nhiều để liên tục cải tiến sản phẩm và hỗ trợ các nhà phát triển. Tuy nhiên, xem xét rằng chúng tôi vẫn đang ở giai đoạn đầu của ứng dụng blockchain và đối mặt với cơ sở nhà phát triển tương đối nhỏ, việc cải thiện trải nghiệm của nhà phát triển chắc chắn sẽ giúp dự án thu hút các nhà phát triển trong tương lai và cuối cùng định hình tương lai của ngành.
Dưới đây là một số gợi ý phổ biến để cải thiện hỗ trợ chu trình phát triển:
1, Tài liệu:
Tài liệu chất lượng cao: Tài liệu toàn diện, rõ ràng và cập nhật là rất quan trọng để cải thiện trải nghiệm của nhà phát triển. Đảm bảo tài liệu đầy đủ, rõ ràng, có các ví dụ và được cập nhật thường xuyên.
Thiết kế API trực quan: API phải nhất quán, trực quan và được ghi chép đầy đủ. Đánh giá thiết kế API dựa trên tính rõ ràng và khả năng tiếp cận của tài liệu API cũng như mức độ dễ dàng thực hiện các tác vụ thông thường.
Nhật ký thay đổi và tham chiếu API đầy đủ: Cung cấp tham chiếu API chi tiết, bao gồm các chức năng, tham số, giá trị trả về và mã lỗi. Duy trì nhật ký thay đổi để theo dõi các bản cập nhật, tính năng mới, sửa lỗi và các tính năng không dùng nữa.
Nghiên cứu điển hình: Giới thiệu các ví dụ về ứng dụng sản phẩm để truyền cảm hứng và hướng dẫn các nhà phát triển cách giải quyết vấn đề hiệu quả.
Trải nghiệm tích hợp mượt mà: Giảm thời gian khởi động cho các nhà phát triển mới bằng cách đơn giản hóa việc thiết lập môi trường, giải thích các khái niệm cốt lõi và tạo điều kiện thuận lợi cho việc tạo các ứng dụng cơ bản.
2. Tính sẵn sàng và hiệu quả:
Khả năng sử dụng của các công cụ: Đảm bảo các công cụ được cung cấp thân thiện với người dùng và trực quan. Tính dễ sử dụng được đo lường bằng cách đánh giá thời gian các nhà phát triển cần để thực hiện các tác vụ thông thường.
Thông báo lỗi và hỗ trợ gỡ lỗi: Cải thiện trải nghiệm của nhà phát triển với các thông báo lỗi hữu ích và hỗ trợ gỡ lỗi mạnh mẽ. Bạn có thể đo lường điều này bằng cách cố ý tạo ra các lỗi phổ biến, sau đó kiểm tra mức độ hữu ích của các phản hồi của hệ thống.
Khả năng tích hợp và tương thích: Đánh giá mức độ tích hợp của công cụ hoặc nền tảng với các công cụ thường được sử dụng khác trong hệ sinh thái.
3. Minh bạch và cập nhật:
Trạng thái sản phẩm: Cập nhật kịp thời về các vấn đề vận hành, lịch bảo trì và ngừng hoạt động hệ thống giúp các nhà phát triển lập kế hoạch công việc hiệu quả.
Với những tiến bộ công nghệ nhanh chóng trong không gian Web3, việc duy trì trải nghiệm của nhà phát triển ở mức cao nhất quán theo cách có thể mở rộng và bền vững là một thách thức đáng kể đối với các dự án Web3.
Để giải quyết thách thức này, chúng tôi khuyên các dự án nên khám phá hai hướng: tận dụng AI để tăng cường tự động hóa và năng suất, giảm nhu cầu về nguồn nhân lực dồi dào và tận dụng sức mạnh của cộng đồng để khuyến khích đóng góp.
Hỗ trợ bởi AI: Việc tạo và duy trì khối lượng lớn tài liệu có thể tốn nhiều tài nguyên. Các mô hình ngôn ngữ lớn có thể giúp các nhà phát triển viết và duy trì tài liệu chất lượng cao. Ngoài ra, các bot Hỏi & Đáp do AI cung cấp có thể cung cấp câu trả lời kịp thời và chính xác cho các truy vấn của nhà phát triển, nâng cao hơn nữa trải nghiệm của họ.
Khuyến khích sự tham gia của cộng đồng: Để thúc đẩy sự tham gia của cộng đồng, các dự án có thể đưa ra nhiều biện pháp khuyến khích khác nhau, bao gồm cả khuyến khích tài chính và phi tài chính. Ví dụ: các chương trình dạng tiền thưởng có thể được mở rộng để bao gồm các đóng góp về mã, kiểm tra cơ sở mã, cải tiến tài liệu, nỗ lực dịch thuật và phản hồi trực tiếp vô giá đến trực tiếp từ người dùng, phản ánh những hiểu biết sâu sắc có thể hướng dẫn các nhóm dự án cải thiện sản phẩm. . Cách tiếp cận này không chỉ có khả năng cải thiện chất lượng tài nguyên mà còn có thể giúp giảm chi phí bảo trì. Công nhận những đóng góp và trao tín dụng cho những người đóng góp thông qua các kênh cộng đồng tích cực như Discord, Substack, v.v.


