Việc triển khai hợp đồng Kỷ nguyên hiện chỉ có thể thực hiện được thông qua dòng lệnh, hơi phức tạp.
Sau một hồi tìm hiểu, tôi cơ bản đã quen với tình huống này. Sau đây, chúng tôi sẽ giúp bạn sắp xếp quy trình xác minh và triển khai hoàn chỉnh, đồng thời lấy việc triển khai hợp đồng đơn giản nhất làm ví dụ để giúp mọi người bắt đầu dễ dàng hơn.
bước chân:
1. Chuẩn bị môi trường
2. Soạn mã hợp đồng
3. Triển khai hợp đồng xác minh

Bộ ba mảnh môi trường
Tham khảo tài liệu chính thức của Era để cài đặt bộ môi trường ba phần:
Môi trường máy tính của mọi người đối với Node, NVM và Yarn rất phức tạp. Nếu gặp lỗi, bạn có thể tự tìm trên Google hoặc đặt câu hỏi cho ChatGPT:
https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html#preconditions
Khởi tạo và cài đặt SDK
Tiếp tục tham khảo tài liệu chính thức và tiến hành như sau:
1. Tạo một thư mục độc quyền mới (lệnh mk & cd)
2. Khởi tạo môi trường (lệnh Yarn init -y)
3. Cài đặt SDK và các phần phụ thuộc (lệnh thêm sợi)

tập tin cấu hình cấu hình
Tạo tệp hardhat.config.ts trong thư mục hiện tại. Mã tôi sử dụng như sau (bạn có thể sao chép hoàn toàn trong ALT của hình ảnh) Lưu ý: Bạn có thể cần phải cài đặt gói zksolc một lần nữa (đây là cách Tôi đã khắc phục lỗi khi biên dịch). Nếu bạn sửa đổi Phiên bản zksolc, chẳng hạn như thay đổi sang phiên bản chính thức được đề xuất 1.3.10, cũng sẽ được tự động tải xuống một lần.
Ở đây bạn cần môi trường dòng lệnh của mình để có thể truy cập mạng bên ngoài một cách bình thường! Ví dụ: bật “chế độ nâng cao” của Surge

Hợp đồng thông minh tối giản
Hỏi: Hợp đồng thông minh đơn giản nhất trông như thế nào?
Trả lời: Hợp đồng chỉ chứa tên hợp đồng và không có gì khác. Ví dụ: hợp đồng trong ảnh chụp màn hình chỉ xác định phiên bản hợp đồng và tên hợp đồng, nhưng nó thực sự là hợp đồng thông minh hợp pháp (bạn có thể sao chép mã từ hình ảnh ALT)
Ba bước:
1. Tạo thư mục hợp đồng mới (triển khai hợp đồng mkdir)
2. Chỉnh sửa file hợp đồng (mini.sol)
3. Biên soạn hợp đồng

Biên soạn hợp đồng
Về lý thuyết, việc biên dịch rất đơn giản, chỉ cần một lệnh để chụp ảnh màn hình. Nhưng trên thực tế, khả năng báo lỗi ở đây là cực kỳ cao.
Nếu báo lỗi bạn có thể kiểm tra 2 chỗ sau:
1. Môi trường dòng lệnh có thể truy cập mạng bên ngoài hay không (phương pháp phát hiện: Curl http://google.com)
2. Cài đặt lại zksolc và thử lại (https://twitter.com/gm365/status/1644303144518848512…)
Nếu mọi việc suôn sẻ thì quá trình biên dịch thành công như trong hình.





Triển khai hợp đồng
Có hai bước để triển khai một hợp đồng:
1. Tạo tệp triển khai/triển khai.ts và sửa đổi nó
2. Lệnh `yarn hardhat triển khai-zksync` triển khai hợp đồng
Tôi đã sửa đổi tệp triển khai.ts, bạn có thể sao chép mã từ ALT. Vui lòng lưu ý hai vị trí được đánh dấu ❗️ trong hình, bạn cần sửa đổi tùy theo tình huống.
1. Triển khai khóa riêng của ví EOA của hợp đồng.
2. Tên hợp đồng bạn đã xác định ở bước trước (WTF ở đây).
Thực hiện lệnh triển khai. Nếu mọi việc suôn sẻ, bạn sẽ thấy địa chỉ hợp đồng sau khi triển khai thành công trong khoảng mười giây.


Xác minh mã nguồn hợp đồng
Sau khi quá trình triển khai hoàn tất, bạn cũng có thể chọn mở nguồn mã hợp đồng của mình bằng cách xác minh nó trong trình duyệt blockchain.
Sau khi tìm thấy địa chỉ hợp đồng của bạn:
1. Phiên bản Zksolc: Đây là 1.3.5 (chọn theo cài đặt thực tế của bạn)
2. Phiên bản Solc: Đây là 0.8.17 (mục cài đặt trong file hardhat.config.ts)
3. Tên hợp đồng (WTF tại đây)
4. Mã hợp đồng (sao chép và dán)

Tóm tắt
Nếu mọi việc suôn sẻ, xin chúc mừng bạn đã hoàn thành việc triển khai hợp đồng thông minh đầu tiên trên chuỗi Era.
Khi bạn học được kỹ năng cơ bản này, bạn sẽ dễ dàng triển khai các hợp đồng phức tạp hơn trong tương lai.
Vì chúng tôi viết hợp đồng đơn giản nhất nên chi phí triển khai của hợp đồng này cũng cực kỳ thấp (tôi đã chi 0,21 USD cho việc thử nghiệm tại đây).
Ngoài ra, đây là một số tài nguyên có thể hữu ích:
1. Tài liệu chính thức: https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html…
2. Hướng dẫn của bên thứ ba: https://mirror.xyz/catpad.eth/X8lq1Qci1qjyW6Fo-e64xJfY-LJZkScGD66AD4vcHmI…
3. Phần giới thiệu về triển khai hợp đồng Era mà tôi đã viết trước đây: https://twitter.com/gm365/status/1644299731236171778…
lạc đề
zkSync không tương thích hoàn toàn với EVM và các cơ chế triển khai hợp đồng khác nhau của nó khiến không thể sử dụng Remix và các phương pháp khác để vận hành trực tiếp hợp đồng triển khai trên trang web (ThirdWeb hiện cũng không thể hoàn tất quá trình triển khai, mặc dù nó được hiển thị trên trang web rằng nó có thể được triển khai trên Era thông qua hợp đồng mẫu của họ. Nhưng thực tế điều đó là không thể, họ chỉ thừa nhận điều đó ở DC).
Tôi hy vọng nhóm zkSync sẽ tiếp tục làm việc chăm chỉ để việc triển khai hợp đồng trở nên dễ dàng hơn trong tương lai.