Tóm tắt
Các chương trình cốt lõi cung cấp chức năng mạng lưới cơ bản: quản lý tài khoản (System Program), đồng thuận (Vote, Stake), tối ưu hóa giao dịch (Compute Budget, Address Lookup Table) và quyền riêng tư (ZK ElGamal Proof). Bao gồm tài liệu tham khảo lệnh System Program và liên kết mã nguồn cho tất cả 7 chương trình.
System Program
System Program (11111111111111111111111111111111) là chương trình duy nhất có
thể tạo tài khoản mới. Tất cả tài khoản mới ban đầu thuộc sở hữu của System
Program, mặc dù quyền sở hữu thường được chuyển giao ngay khi tạo. System
Program tiêu thụ
DEFAULT_COMPUTE_UNITS
(150 CU) cho mỗi lệnh.
Tài liệu tham khảo lệnh System Program
| Lệnh | Mô tả |
|---|---|
CreateAccount | Tạo tài khoản mới. Phân bổ space byte, gán owner và chuyển lamports từ người thanh toán. Tài khoản mới và người thanh toán phải ký. |
CreateAccountWithSeed | Giống như CreateAccount, nhưng suy ra địa chỉ tài khoản mới từ pubkey của một tài khoản, chuỗi seed và chương trình sở hữu. Tài khoản có pubkey được dùng để suy ra địa chỉ và người thanh toán phải ký. |
Assign | Đặt chủ sở hữu của tài khoản. Tài khoản phải ký. Không thực hiện gì nếu đã là chủ sở hữu đó. |
AssignWithSeed | Giống như Assign, nhưng cho địa chỉ suy ra từ seed. Tài khoản có pubkey được dùng để suy ra địa chỉ phải ký. |
Transfer | Chuyển lamport giữa các tài khoản. Người gửi phải ký. |
TransferWithSeed | Giống như Transfer, nhưng từ địa chỉ suy ra từ seed. Tài khoản có pubkey được dùng để suy ra địa chỉ phải ký. |
Allocate | Đặt độ dài dữ liệu của tài khoản. Tài khoản phải ký, có dữ liệu trống và thuộc sở hữu của System Program. Tối đa 10 MiB. |
AllocateWithSeed | Giống như Allocate, nhưng cho địa chỉ suy ra từ seed. Cũng gán chủ sở hữu. Tài khoản có pubkey được dùng để suy ra địa chỉ phải ký. |
AdvanceNonceAccount | Nâng cấp giá trị nonce lên blockhash hiện tại. Quyền nonce phải ký. |
InitializeNonceAccount | Khởi tạo tài khoản làm tài khoản nonce với quyền đã cho. Tài khoản phải miễn phí rent. |
AuthorizeNonceAccount | Thay đổi quyền nonce. Quyền hiện tại phải ký. |
WithdrawNonceAccount | Rút lamport từ tài khoản nonce. Quyền phải ký. Nếu không đóng, số dư còn lại phải đủ để trả rent. |
UpgradeNonceAccount | Nâng cấp tài khoản nonce từ định dạng phiên bản cũ lên phiên bản hiện tại. Tài khoản phải có thể ghi và chứa phiên bản nonce cũ. |
Tất cả các chương trình cốt lõi
| Chương trình | ID chương trình | Mô tả | Nguồn |
|---|---|---|---|
| System | 11111111111111111111111111111111 | Tạo tài khoản, chuyển SOL, phân bổ dữ liệu và gán quyền sở hữu | Nguồn |
| Vote | Vote111111111111111111111111111111111111111 | Tạo và quản lý tài khoản theo dõi trạng thái bỏ phiếu và phần thưởng của validator | Nguồn |
| Stake | Stake11111111111111111111111111111111111111 | Tạo và quản lý ủy quyền stake cho các validator | Nguồn |
| Config | Config1111111111111111111111111111111111111 | Lưu trữ dữ liệu cấu hình trên chuỗi với kiểm soát truy cập dựa trên khóa | Nguồn |
| Compute Budget | ComputeBudget111111111111111111111111111111 | Đặt giới hạn đơn vị tính toán và phí ưu tiên cho các giao dịch | Nguồn |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | Quản lý bảng tra cứu địa chỉ cho các giao dịch tham chiếu nhiều tài khoản | Nguồn |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | Xác minh bằng chứng không-tri-thức cho dữ liệu mã hóa ElGamal | Nguồn |
Các chương trình loader
Mỗi chương trình được sở hữu bởi một chương trình loader. Các loader xử lý việc triển khai, nâng cấp và thực thi các chương trình mà chúng sở hữu. Xem Chương trình Loader để biết danh sách đầy đủ các loader và địa chỉ của chúng.
Is this page helpful?