Chọn backend

Keychain cung cấp một giao diện SolanaSigner thống nhất trên mọi backend, vì vậy việc lựa chọn mang tính vận hành, không phải kiến trúc — bạn có thể thay đổi sau thông qua cấu hình. Vì lý do đó, hãy bắt đầu từ yêu cầu của bạn, không phải từ một sản phẩm. Hai câu hỏi quyết định phần lớn: khóa riêng tư được lưu ở đâu, và ai được phép ủy quyền chữ ký với nó?

Không có backend nào là tốt nhất. Mỗi backend phù hợp hơn với một tập hợp các ràng buộc nhất định — đám mây bạn đang vận hành, liệu bạn có muốn tự quản lý hạ tầng khóa hay không, và các kiểm soát giám sát và phê duyệt mà bạn cần tuân thủ. Luồng bên dưới ánh xạ các ràng buộc đó tới một backend.

Hướng dẫn này đề cập đến việc ký phía backend (server-side). Khi người dùng cuối ký giao dịch của họ trên trình duyệt, hãy sử dụng ví thông qua Wallet Standard — xem Ký trong Môi trường Production.

Luồng quyết định

Choosing a Keychain backend

Quá trình phát triển và kiểm thử cục bộ không cần bất kỳ điều nào trong số này — hãy sử dụng backend Memory để tạo mẫu, sau đó chuyển sang một trong các backend production ở trên thông qua cấu hình.

Đi qua từng câu hỏi

Bạn đang ký cho ứng dụng của chính mình, hay cho người dùng cuối?

Nếu bạn cấp ví mà người dùng cuối sở hữu và vận hành (ứng dụng tiêu dùng, các luồng giới thiệu), hãy sử dụng backend ví nhúng / được quản lý — Privy, Turnkey, CDP, Crossmint, hoặc Openfort. Những backend này quản lý ví theo từng người dùng và xác thực thay cho bạn.

Nếu bạn đang ký với tư cách là ứng dụng của chính mình — một fee payer, một treasury, hoặc hệ thống tự động hóa backend — hãy tiếp tục bên dưới.

Bạn có cần phê duyệt đa bên, lưu ký tổ chức, hoặc kiểm soát tuân thủ không?

Nếu các chữ ký phải được thông qua chính sách phê duyệt, hạn mức chi tiêu, hoặc quy trình tuân thủ trước khi được tạo ra — hoặc bạn cần một custodian được quản lý theo quy định nắm giữ khóa — hãy sử dụng backend MPC / lưu ký tổ chức: Fireblocks, Dfns, Para, hoặc Utila. Các giải pháp này phân tách hoặc lưu ký khóa và đồng ký theo chính sách của bạn.

Nếu bạn chỉ cần một khóa ký theo yêu cầu, hãy tiếp tục bên dưới.

Bạn muốn tự nắm giữ khóa, hay để nhà cung cấp nắm giữ?

Nếu bạn muốn nhà cung cấp đám mây nắm giữ khóa trong hạ tầng được hỗ trợ bởi phần cứng và chính sách IAM của bạn kiểm soát ai có thể ký, hãy sử dụng KMS của đám mây đó:

  • Chạy trên AWS → AWS KMS
  • Chạy trên GCP → GCP KMS

Nếu bạn muốn tự vận hành hạ tầng khóa — hoặc bạn đang dùng đa đám mây hay on-prem — hãy sử dụng HashiCorp Vault. Bạn tự vận hành và kiểm toán; khóa được lưu bên trong Transit engine và ký theo yêu cầu.

Các mô hình lưu ký

Các backend được nhóm thành năm mô hình lưu ký. Quy trình ở trên sẽ đưa bạn đến một trong số đó.

  • Tự lưu ký (in-process) — ứng dụng của bạn nắm giữ khóa riêng tư thô. Tiện lợi cho môi trường phát triển, nhưng không phù hợp cho môi trường sản xuất. Backend: Memory.
  • Quản lý khóa tự vận hành — bạn tự vận hành hạ tầng khóa; khóa được lưu bên trong đó và ký theo yêu cầu. Backend: HashiCorp Vault.
  • Cloud KMS / HSM — nhà cung cấp đám mây lưu trữ khóa trong hạ tầng được hỗ trợ bởi phần cứng; khóa không bao giờ rời khỏi dịch vụ và chính sách IAM của bạn kiểm soát ai có thể ký. Backends: AWS KMS, GCP KMS.
  • MPC & lưu ký tổ chức — khóa được phân tách hoặc lưu ký qua một nhà cung cấp, đơn vị này đồng ký theo chính sách của bạn (phê duyệt, hạn mức). Backends: Fireblocks, Dfns, Para, Utila.
  • Ví nhúng & được quản lý — nhà cung cấp quản lý ví thay mặt bạn, thường để onboard người dùng cuối. Backends: Privy, Turnkey, CDP, Crossmint, Openfort.

So sánh Backend

BackendMô hình lưu kýPhù hợp nhất choGhi chú
MemoryTự lưu ký (trong tiến trình)Phát triển cục bộ, kiểm thử, CIKhóa thô trong tiến trình — không dùng trong môi trường production
HashiCorp VaultQuản lý khóa tự lưu trữNhóm vận hành hạ tầng khóa riêngTransit engine; bạn tự vận hành và kiểm toán
AWS KMSCloud KMS / HSMBackend chạy trên AWSKhóa không bao giờ rời khỏi KMS; IAM kiểm soát việc ký
GCP KMSCloud KMS / HSMBackend chạy trên GCPKhóa không bao giờ rời khỏi KMS; IAM kiểm soát việc ký
FireblocksMPC / lưu ký tổ chứcQuỹ, sàn giao dịch, lưu ký có kiểm soátPolicy engine và quy trình phê duyệt
DfnsHạ tầng ví MPCVí lập trình với kiểm soát chính sáchKý Ed25519
ParaVí MPCỨng dụng muốn dùng ví được hỗ trợ bởi MPCAPI key + wallet ID
UtilaMPC custody + đồng kýVí Solana được quản lý bởi UtilasignMessage không được hỗ trợ; bạn tự phát sóng tx
PrivyVí nhúngỨng dụng tiêu dùng onboarding người dùng vào víVí nhúng do ứng dụng quản lý
TurnkeyQuản lý khóa phi lưu kýKý lập trình có kiểm soát chính sáchQuản lý khóa phi lưu ký
CDPVí được quản lý (Coinbase)Ứng dụng trên Coinbase Developer PlatformsignMessage chỉ nhận payload UTF-8
CrossmintVí được quản lýMarketplace và ứng dụng ví được quản lýsmartmpc; signMessage không được hỗ trợ
OpenfortVí backend nhúngVí phía serverKhóa lưu trữ trong TEE

Các kịch bản doanh nghiệp

Một ứng dụng thường cần nhiều hơn một trong số các tính năng này cùng một lúc. Vì giao diện hoàn toàn giống nhau, bạn có thể chạy một backend khác nhau cho từng vai trò mà không cần thay đổi các điểm gọi.

  • Vận hành ngân quỹ — tách biệt bộ ký "nóng" vận hành với bộ ký "lạnh" của ngân quỹ. Hỗ trợ ngân quỹ bằng lưu ký MPC hoặc HSM đám mây và yêu cầu chính sách phê duyệt trước khi thực hiện chữ ký có giá trị cao.
  • Quy trình phê duyệt — các backend MPC và lưu ký (ví dụ: Fireblocks) thực thi phê duyệt đa bên trước khi tạo chữ ký.
  • Tuân thủ và kiểm toán — KMS đám mây (AWS/GCP) và Vault phát sinh nhật ký kiểm toán ký; các tổ chức lưu ký thêm chức năng thực thi chính sách và báo cáo.
  • Môi trường được quản lý — lưu trữ tài liệu khóa trong HSM, KMS hoặc tổ chức lưu ký để khóa thô không bao giờ tiếp xúc với ứng dụng của bạn.

Xem Các phương pháp hay nhất cho môi trường sản xuất để vận hành các backend này một cách an toàn.

Is this page helpful?