Khả năng kết hợp nguyên tử
Các chương trình gọi lẫn nhau thông qua cross-program invocation trong cùng một giao dịch. Nếu bất kỳ bước nào thất bại, toàn bộ giao dịch sẽ được hoàn tác, nên chiến lược đa giao thức không bao giờ bị quyết toán dở dang.
Nhà phát triển DeFi
Mọi chương trình Solana đều đọc và ghi cùng một trạng thái, nên một lệnh hoán đổi, một khoản trả nợ và một lần cập nhật oracle có thể chạy trong cùng một giao dịch nguyên tử. Bắt đầu từ một ứng dụng Anchor hoạt động được, tích hợp thanh khoản trực tiếp và triển khai theo các thực hành cấp production.
npx -y create-solana-dapp@latest -t solana-foundation/templates/kit/nextjs-anchorVì sao chọn Solana
Các chương trình gọi lẫn nhau thông qua cross-program invocation trong cùng một giao dịch. Nếu bất kỳ bước nào thất bại, toàn bộ giao dịch sẽ được hoàn tác, nên chiến lược đa giao thức không bao giờ bị quyết toán dở dang.
Mỗi giao dịch khai báo trước các tài khoản mà nó đọc và ghi. Runtime thực thi song song các giao dịch không đụng đến cùng các tài khoản có thể ghi, nên một thị trường đang bận không làm đình trệ các thị trường không liên quan.
Các giao dịch ghi vào một tài khoản đang bị tranh chấp sẽ cạnh tranh phần của tài khoản đó trong block. Hãy định giá phí ưu tiên dựa trên các tài khoản bạn ghi, thay vì mức trung bình toàn mạng.
Thời gian slot trên mainnet đang được rút ngắn theo từng giai đoạn, và Alpenglow sẽ thay thế giao thức bỏ phiếu và finality hiện tại. Hãy theo dõi cả hai trước khi tinh chỉnh thời hạn báo giá, timeout và cửa sổ thanh lý.
Bộ công cụ cho nhà phát triển
Lộ trình mặc định cho một giao thức mới: Anchor cho chương trình, LiteSVM và Surfpool để kiểm thử, Codama cho client và Kit cho ứng dụng.
01Viết chương trình
Anchor là framework được khuyến nghị cho hầu hết các chương trình, tích hợp sẵn xác thực tài khoản, tạo IDL và các hàm hỗ trợ CPI. Hãy dùng Pinocchio, một thư viện không phụ thuộc, cho các đường dẫn nóng mà mỗi đơn vị tính toán đều quan trọng.
02Kiểm thử
Chạy các bài kiểm thử nhanh trong cùng tiến trình với LiteSVM hoặc Mollusk. Sau đó chạy kiểm thử tích hợp trên Surfpool, một mạng cục bộ tải các tài khoản mainnet theo yêu cầu, để bạn có thể kiểm thử với các pool và oracle thực.
03Tạo client
Tạo client TypeScript và Rust có kiểu dữ liệu từ IDL của chương trình, để các trình xây dựng lệnh và bộ giải mã tài khoản luôn đồng bộ với mỗi lần triển khai.
04Xây dựng ứng dụng
@solana/kit là SDK JavaScript tiêu chuẩn. Plugin ví của nó tìm các ví đã cài đặt thông qua Wallet Standard, không cần các gói adapter riêng cho từng ví.
Thành phần cơ bản
Các giao thức này công bố tài liệu dành cho nhà phát triển về chương trình và API của họ. Hãy đọc tài liệu và báo cáo kiểm toán của từng giao thức trước khi định tuyến tiền của người dùng qua giao thức đó.
Định tuyến các lệnh hoán đổi qua thanh khoản của Solana bằng API aggregator, hoặc yêu cầu các lệnh thô để kết hợp một lệnh hoán đổi vào giao dịch của riêng bạn.
Tạo pool, cung cấp thanh khoản tập trung và báo giá trực tiếp từ các AMM onchain.
Cung cấp tài sản thế chấp, đi vay và đọc trạng thái reserve thông qua các SDK của thị trường cho vay.
Mở, quản lý và thanh lý các vị thế đòn bẩy, hoặc tự thiết kế thị trường perps hoàn toàn onchain của riêng bạn.
Đưa các bản cập nhật giá đã ký vào giao dịch của bạn, và kiểm tra độ tin cậy cũng như độ cũ của dữ liệu trước khi dùng một mức giá.
Chấp nhận token liquid staking làm tài sản thế chấp, hoặc chuyển SOL vào các stake pool nhận phần thưởng validator.
Quyết toán bằng các stablecoin được bảo chứng bằng tiền pháp định và phát hành gốc trên Solana.
Chuyển USDC gốc bằng CCTP của Circle, hoặc bridge các tài sản và thông điệp khác giữa các chuỗi.
Phát hành tài sản có hành vi tích hợp sẵn mà giao thức của bạn phải xử lý: transfer hook, số dư sinh lãi, số tiền UI theo tỷ lệ và chuyển khoản bảo mật.
Chỉ là ví dụ. Việc liệt kê một giao thức không phải là sự bảo chứng của Solana Foundation.
Phân phối giao dịch
Lưu lượng DeFi đạt đỉnh khi thị trường biến động, đúng lúc người dùng cần giao dịch của họ được xử lý. Hãy tích hợp những điều này vào client của bạn trước khi lên mainnet.
Mô phỏng để đo đơn vị tính toán, đặt giới hạn sát và định giá phí ưu tiên dựa trên mức phí gần đây của các tài khoản bạn ghi.
Giao dịch v1 nâng giới hạn kích thước; address lookup table nén các danh sách tài khoản dài. Mỗi lựa chọn đều có đánh đổi đối với các tuyến phức tạp.
Stake-weighted QoS dành riêng năng lực của leader cho các giao dịch được chuyển tiếp bởi các validator có stake. Hãy chọn nhà cung cấp RPC hỗ trợ tính năng này.
Gửi các lệnh hoán đổi của người dùng qua cơ chế chống sandwich, và thực thi giới hạn trượt giá trong chương trình chứ không chỉ ở giao diện.
Theo dõi thời hạn blockhash, phát lại cho đến khi giao dịch được xử lý hoặc hết hạn, và xác nhận ở mức commitment mà logic của bạn cần.
Bảo mật
Một chương trình DeFi có thể nắm giữ tiền của người dùng ngay từ lần triển khai đầu tiên. Hãy kiểm soát ai có thể thay đổi nó, chứng minh những gì đã được triển khai và giám sát hoạt động của nó.
Giữ quyền nâng cấp chương trình và quyền quản trị trong một multisig Squads, kèm khóa thời gian cho các thay đổi.
Cho phép người dùng và bên tích hợp xác nhận rằng chương trình đã triển khai khớp với mã nguồn công khai.
Thực hiện kiểm toán độc lập trước khi lên mainnet và chạy chương trình bug bounty. Solana Foundation tài trợ các đánh giá bảo mật STRIDE và công cụ miễn phí cho các đội ngũ trong hệ sinh thái.
Microscope giải mã các lệnh của chương trình và các đề xuất Squads thành bảng điều khiển và cảnh báo tự lưu trữ.
Đặt câu hỏi kỹ thuật, xem xét thiết kế và tìm các đội ngũ để cùng xây dựng.