Tham gia vào lộ trình Cairo
TL;DR
- Cairo tiếp tục phát triển. Để thuận tiện cho cộng đồng, chúng tôi đã tạo một bảng công khai mô tả các tính năng thú vị sắp tới.
- Cú pháp hợp đồng mới sẽ sớm được ra mắt cùng với Starknet alpha v0.12.0, yêu cầu thay đổi mã tối thiểu và làm phong phú đáng kể ngôn ngữ hợp đồng thông minh.
- Với việc Cairo 1.1.0 trên Starknet Mainnet và v2 sắp ra mắt Starknet, chúng tôi đã đạt được một cột mốc quan trọng trong sự trưởng thành của ngôn ngữ. Giữa các tài liệu , cuốn sách và discord của Starknet , bạn phải có đủ nguồn lực để bắt đầu và di chuyển từ Cairo 0.
Giới thiệu
Cairo v1 đã phát triển đáng kể kể từ những ngày đầu alpha, đạt được tính năng tương đương với Cairo 0 và tích lũy các tính năng mới ở trên cùng (hiện đã có các vòng lặp cơ bản và nhiều chức năng khác đang được triển khai). Mục tiêu của chúng tôi trong bài đăng này là làm sáng tỏ hơn về lộ trình ngắn hạn của Cairo: những gì hiện đang được thực hiện và những gì các nhà phát triển có thể mong đợi trong những tuần và tháng tới. Trong tương lai, bạn có thể cập nhật những phát triển hoặc kế hoạch mới nhất cho ngôn ngữ này bằng cách theo dõi bảng lộ trình cairo trên Github.
Tại sao lại là Cairo?
Bên cạnh những tiến bộ lớn trong ngôn ngữ cấp cao, chúng tôi cho rằng điều quan trọng là phải nhấn mạnh lợi ích cơ bản của Cairo và lý do tại sao chúng tôi nghĩ đó là nền tảng cho tương lai của việc mở rộng quy mô blockchain.
Ngay từ khi thành lập, Cairo đã được thiết kế với mục đích duy nhất là trở thành ngôn ngữ hiệu quả nhất để viết các chương trình có thể chứng minh được. Kiến trúc của Cairo VM, như được mô tả trong bài viết gốc, được thiết kế để tạo ra các bằng chứng STARK một cách hiệu quả cho việc thực thi các chương trình Cairo, khiến nó trở thành nền tảng lý tưởng cho Bản tổng hợp hiệu lực. Cairo v2, ngôn ngữ mới mà chúng ta có ngày nay, được xây dựng trên những nền tảng này nhưng được thiết kế để phục vụ cộng đồng các nhà phát triển rộng lớn, về mặt công thái học, an toàn và dễ học và viết. Sự phát triển mà Cairo đã trải qua trong hai năm qua đã biến nó từ một ngôn ngữ cấp thấp thích hợp thành một ngôn ngữ thân thiện với nhà phát triển cấp cao, mang lại lợi thế khi nói đến bằng chứng và hiệu quả mở rộng quy mô.
Chỉ cần nói Cairo
Không còn nói “Cairo 1 – phiên bản trình biên dịch vX.YZ”. Từ nay về sau chỉ cần nói Cairo. Vâng!
Với trình biên dịch Cairo mới, chúng tôi tuân theo tiêu chuẩn lập phiên bản ngữ nghĩa ; nghĩa là, các phiên bản trình biên dịch bao gồm ba chữ số và sự thay đổi ở chữ số quan trọng nhất biểu thị những thay đổi vi phạm. Với phiên bản Cairo tiếp theo, chúng tôi đã có những thay đổi đáng chú ý trong cú pháp hợp đồng thông minh (được mô tả ở phần sau của bài viết), vì vậy điều đúng đắn cần làm là chuyển phiên bản sang Cairo v2. Để tránh ký hiệu rườm rà, chúng tôi sẽ ngừng nói Cairo 1 và từ bây giờ trở đi, xác định phiên bản của ngôn ngữ bằng phiên bản trình biên dịch (duy nhất). Ngôn ngữ gốc, vẫn có thể được sử dụng trong tương lai ở các bối cảnh khác nhau bên ngoài Starknet, sẽ được gọi là “Cairo 0”.
Điều gì tiếp theo cho Cairo?
Trong các phần sau, chúng tôi xem xét những phát triển chính sắp tới trong ngôn ngữ và giải thích chúng ảnh hưởng như thế nào đến trải nghiệm của nhà phát triển ở Cairo.
Tính năng sắp tới
Mặc dù sự ngang bằng về đặc điểm với Cairo 0 là một cột mốc quan trọng nhưng nó chắc chắn không phải là đích đến cuối cùng. Ngôn ngữ cấp cao luôn có thể được cải thiện và nhiều tính năng khác đang được triển khai. Bạn có thể xem lộ trình để xem các tính năng đang được xử lý và theo dõi các hồ sơ tồn đọng. Một vài đề cập đáng chú ý là:
- Thành phần : giai đoạn tiếp theo trong cú pháp hợp đồng mới, cho phép hợp đồng nhập các thành phần được xác định trong thư viện bên ngoài
- Keccak và Secp-k1 : Đã có trong Cairo v2, những thứ này sẽ cho phép xác minh chữ ký Ethereum trên phiên bản sắp tới của Starknet.
- Hỗ trợ số nguyên đã ký
- Hoạt động đường cong Secp-r1 : Điều này sẽ cho phép sử dụng phần cứng gốc để ký các giao dịch, điều này sẽ mang lại UX đơn giản hơn nhiều để tương tác với Starknet
- Chuỗi : Kiểu gốc cho chuỗi (dài), cho phép thao tác chuỗi tiêu chuẩn. Đây là một tính năng cơ bản, cũng có nhu cầu cao từ các dự án trò chơi và NFT.
- Trình lặp : những điều này sẽ cho phép chúng ta làm phong phú cú pháp vòng lặp và lặp qua các mảng/nhịp thuận tiện hơn nhiều
Cairo v2 – Cú pháp hợp đồng mới
Cú pháp hợp đồng thông minh hiện tại của Starknet hầu hết kế thừa từ thiết kế Cairo 0 trước đó. Thiết kế này có một số vấn đề mà chúng tôi muốn giải quyết. Mục tiêu của chúng tôi khi chuyển sang cú pháp mới là tăng tính an toàn bằng cách làm cho hành vi của hợp đồng trở nên rõ ràng hơn. Bằng cách giới thiệu nhiều cấu trúc hơn cho các chức năng, bộ lưu trữ và sự kiện bên ngoài của hợp đồng, chúng tôi có thể giảm đáng kể xác suất xảy ra lỗi. Điều này sẽ giúp bảo vệ các giao thức khỏi bị hack và mất tiền. Ngoài ra, cú pháp mới cho phép chúng tôi giới thiệu khả năng mở rộng , một tính năng được cộng đồng yêu cầu cao, cho phép các nhà phát triển dễ dàng sử dụng các thành phần được viết trong thư viện bên ngoài.
Cú pháp mới yêu cầu phải có những thay đổi đột phá. Mặc dù chúng tôi chọn tránh phá vỡ các thay đổi nhiều nhất có thể ở giai đoạn này, nhưng sau các cuộc thảo luận nội bộ và cộng đồng, chúng tôi đã kết luận rằng đây là con đường đúng đắn sẽ mang lại lợi ích trong tương lai.
Những thay đổi này sẽ được thảo luận chi tiết trong một bài đăng mang tính kỹ thuật hơn được xuất bản trên diễn đàn cộng đồng (tham khảo bài viết này để có cái nhìn tổng quan toàn diện về những thay đổi sắp tới). Ở đây, chúng tôi chỉ muốn nhấn mạnh rằng chỉ cần sửa đổi “lớp ngoài cùng” trong hợp đồng của bạn (định nghĩa về các chức năng và sự kiện bên ngoài) . Mã Cairo v1 hiện tại của bạn chỉ yêu cầu những điều chỉnh nhỏ (xem tài liệu để biết hướng dẫn di chuyển nhanh ). Mặt khác, lợi ích của cú pháp mới là rất đáng kể: Việc sử dụng các thành phần từ thư viện bên ngoài (một tính năng quan trọng khi làm việc trên các dự án lớn) sẽ trở nên nhàm chán và sẽ không còn yêu cầu các giải pháp đặc biệt nữa.
Đảm bảo khả năng tương thích ngược
Một số thay đổi sắp tới được mô tả trong bài đăng (đặc biệt là cú pháp hợp đồng mới) sẽ đồng nghĩa với việc phá vỡ các thay đổi trong ngôn ngữ. Mặc dù, sau Cairo v2, chúng tôi đã bỏ qua phần lớn các thay đổi đột phá, nhưng việc cam kết về khả năng tương thích ngược từ thời điểm này trở đi vẫn còn sớm. Điều đó cho thấy, các dự án phát triển hợp đồng thông minh trên Starknet đòi hỏi sự ổn định và kiểm tra cẩn thận, và điều này là một điểm quan trọng đối với chúng tôi. Để giải quyết những lo ngại này, chúng tôi cung cấp những đảm bảo về tính ổn định sau đây:
- Bất kỳ lớp nào được khai báo trên Starknet sẽ tiếp tục hoạt động như trước và không bị ảnh hưởng bởi những thay đổi trong ngôn ngữ
- Mọi hợp đồng được triển khai trên Starknet sẽ tiếp tục hoạt động như trước và không bị ảnh hưởng bởi những thay đổi về ngôn ngữ
- Đối với mỗi lần nâng cấp ngôn ngữ vi phạm, các hợp đồng được viết ở phiên bản trước sẽ tiếp tục được khai báo trên Starknet trong thời gian ít nhất sáu tháng.
Ví dụ: nếu bạn đang phát triển dự án của mình (hoặc sắp triển khai/trong giai đoạn kiểm tra) với Cairo phiên bản X và Cairo Y được phát hành với những thay đổi đột phá, các hợp đồng được viết bằng phiên bản X sẽ vẫn được chấp nhận trên Starknet trong ít nhất sáu tháng . Nghĩa là, bạn có thời gian ít nhất sáu tháng để triển khai các hợp đồng của mình trên Starknet, tại thời điểm đó, chúng sẽ được bảo vệ vĩnh viễn theo điểm 1 & 2.
Khi nào tôi nên di cư?
Với cú pháp hợp đồng mới được phát hành (và có sẵn trên Starknet trong phiên bản 0.12.0 sắp tới) và phần lớn các thay đổi quan trọng đã xảy ra, Cairo hiện đã đủ ổn định và phong phú để hỗ trợ các ứng dụng phức tạp cũng như chuyển logic Cairo 0 hiện có. Ngoài ra, đảm bảo khả năng tương thích ngược trên Starknet đảm bảo rằng ngay cả khi có những thay đổi quan trọng trong ngôn ngữ, bạn sẽ có đủ thời gian (ít nhất sáu tháng) để hoàn tất việc phát triển hoặc kiểm tra và triển khai hợp đồng của mình.
Bản tóm tắt
Cairo tiếp tục phát triển và đã đạt đến mức bỏ qua ngôn ngữ gốc rất nhiều. Nếu bạn chưa có thì bây giờ là lúc để tham gia. Chúng tôi hoan nghênh cộng đồng nhà phát triển tham gia tích cực vào các cuộc thảo luận, trực tiếp trên kho trình biên dịch bằng cách nêu vấn đề hoặc đăng trên kênh cairo discord hoặc diễn đàn cộng đồng Starknet . Hy vọng rằng bài đăng này (cùng với bài đăng mang tính kỹ thuật hơn ) đã giúp làm sáng tỏ những thay đổi dự kiến và xóa bỏ phần lớn nghi ngờ về tương lai của Cairo.