Keychain menyediakan satu antarmuka dasar SolanaSigner di setiap backend, sehingga untuk
sebagian besar backend, pilihan ini bersifat operasional, bukan arsitektural: Anda dapat mengubahnya
nanti melalui konfigurasi. Pengecualiannya adalah bentuk transaksi. Crossmint
dan mode auto native Fordefi menandatangani dan menyiarkan (broadcast) di sisi server, dan mode manual
native Fordefi menulis ulang transaksi sebelum menandatanganinya, sehingga berpindah ke atau dari salah satu
dari keduanya mengubah cara Anda memanggil signer. Karena itu, mulailah dari kebutuhan Anda,
bukan dari produk. Dua pertanyaan menentukan sebagian besar keputusan ini: di mana
kunci privat disimpan, dan siapa yang berhak mengotorisasi tanda tangan dengannya?
Setiap backend kecuali Ledger tersedia dalam keempat bahasa (Rust, TypeScript,
Python, dan Go). Ledger hanya tersedia untuk Rust, di balik fitur opt-in ledger.
Tidak ada satu backend yang terbaik. Masing-masing lebih cocok untuk serangkaian kendala tertentu: cloud yang sudah Anda gunakan, apakah Anda ingin mengoperasikan infrastruktur kunci sendiri, dan kontrol kustodi serta persetujuan apa yang wajib Anda miliki. Alur di bawah ini memetakan kendala-kendala tersebut ke sebuah backend.
Panduan ini membahas penandatanganan backend (sisi server). Jika pengguna akhir Anda menandatangani transaksi mereka sendiri di browser, gunakan wallet melalui Wallet Standard sebagai gantinya. Lihat Signing in Production.
Alur keputusan
Pengembangan lokal dan pengujian tidak memerlukan semua ini: gunakan backend Memory untuk prototipe, lalu beralihlah ke salah satu backend produksi di atas melalui konfigurasi.
Telusuri pertanyaan-pertanyaan
Apakah Anda menandatangani untuk aplikasi Anda sendiri, atau untuk pengguna akhir?
Jika Anda menyediakan wallet yang dimiliki dan dioperasikan oleh pengguna akhir (aplikasi konsumen, alur onboarding), gunakan backend wallet embedded / terkelola: Privy, Turnkey, CDP, Crossmint, atau Openfort. Backend ini mengelola wallet per pengguna beserta autentikasinya untuk Anda.
Jika Anda menandatangani sebagai aplikasi Anda sendiri (fee payer, treasury, otomatisasi backend), lanjutkan ke bawah.
Apakah Anda memerlukan persetujuan multipihak, kustodi institusional, atau kontrol regulasi?
Jika tanda tangan harus melewati kebijakan persetujuan, batas pengeluaran, atau alur kerja kepatuhan sebelum dibuat, atau Anda memerlukan kustodian teregulasi yang memegang kunci, gunakan backend MPC / kustodi institusional: Fireblocks, Dfns, Para, Utila, atau Fordefi. Backend ini membagi atau menyimpan kunci dalam kustodi dan menandatangani bersama sesuai kebijakan Anda.
Jika Anda hanya memerlukan kunci yang menandatangani sesuai permintaan, lanjutkan ke bawah.
Apakah Anda ingin memegang kunci sendiri, atau menyerahkannya kepada penyedia?
Jika penyedia cloud sebaiknya memegang kunci di infrastruktur berbasis perangkat keras dan kebijakan IAM Anda mengontrol siapa yang dapat menandatangani, gunakan KMS dari cloud tersebut:
- Berjalan di AWS → AWS KMS
- Berjalan di GCP → GCP KMS
Jika Anda ingin mengoperasikan infrastruktur kunci sendiri, atau Anda menggunakan multi-cloud atau on-prem, gunakan HashiCorp Vault. Anda yang menjalankan dan mengauditnya; kunci tetap berada di dalam Transit engine dan menandatangani sesuai permintaan.
Model kustodi
Backend dikelompokkan ke dalam enam model kustodi. Alur di atas akan mengarahkan Anda ke salah satunya.
- Self-custody (in-process): aplikasi Anda memegang kunci privat mentah. Praktis untuk pengembangan, tetapi tidak cocok untuk produksi. Backend: Memory.
- Self-custody (hardware wallet): kunci tidak pernah meninggalkan perangkat Ledger, dan seseorang mengonfirmasi setiap tanda tangan pada layarnya. Cocok untuk penandatanganan operator interaktif, bukan layanan tanpa pengawasan. Hanya Rust, opt-in, dan tidak tercakup dalam audit. Backend: Ledger.
- Manajemen kunci self-hosted: Anda mengoperasikan infrastruktur kunci; kunci tetap berada di dalamnya dan menandatangani sesuai permintaan. Backend: HashiCorp Vault.
- Cloud KMS / HSM: penyedia cloud menyimpan kunci di infrastruktur berbasis perangkat keras; kunci tidak pernah meninggalkan layanan dan kebijakan IAM Anda mengontrol siapa yang dapat menandatangani. Backend: AWS KMS, GCP KMS.
- MPC & kustodi institusional: kunci dibagi atau disimpan dalam kustodi oleh penyedia, yang menandatangani bersama sesuai kebijakan Anda (persetujuan, batas). Backend: Fireblocks, Dfns, Para, Utila, Fordefi.
- Wallet embedded & terkelola: penyedia mengelola wallet untuk Anda, sering kali untuk onboarding pengguna akhir. Backend: Privy, Turnkey, CDP, Crossmint, Openfort.
Perbandingan Backend
| Backend | Model kustodi | Terbaik untuk | Catatan |
|---|---|---|---|
| Memory | Kustodi mandiri (in-process) | Pengembangan lokal, pengujian, CI | Kunci mentah di dalam proses; jangan gunakan di produksi |
| Ledger | Self-custody (hardware wallet) | Penandatanganan operator interaktif dari tool Rust | Hanya Rust, fitur opt-in ledger, belum diaudit; setiap tanda tangan dikonfirmasi di perangkat |
| HashiCorp Vault | Manajemen kunci self-hosted | Tim yang menjalankan infrastruktur kunci sendiri | Mesin Transit; Anda mengoperasikan dan mengauditnya |
| AWS KMS | Cloud KMS / HSM | Backend yang berjalan di AWS | Kunci tidak pernah meninggalkan KMS; IAM mengontrol penandatanganan |
| GCP KMS | Cloud KMS / HSM | Backend yang berjalan di GCP | Kunci tidak pernah meninggalkan KMS; IAM mengontrol penandatanganan |
| Fireblocks | Kustodi MPC / institusional | Treasury, bursa, kustodi teregulasi | Mesin kebijakan dan alur kerja persetujuan |
| Dfns | Infrastruktur wallet MPC | Wallet terprogram dengan kontrol kebijakan | Penandatanganan Ed25519 |
| Para | Wallet MPC | Aplikasi yang menginginkan wallet berbasis MPC | Kunci API + ID wallet |
| Utila | Kustodi MPC + co-signer | Wallet Solana yang dikelola Utila | signMessage tidak didukung; Anda menyiarkan tx |
| Fordefi | Kustodi MPC / institusional | Penyimpanan institusional dengan kontrol kebijakan | Black box: Anda yang mengirim. Native auto: Fordefi menulis ulang dan mengirim. Native manual: Fordefi menulis ulang, Anda mengirim hasilnya |
| Privy | Wallet tertanam | Aplikasi konsumen yang onboarding pengguna ke wallet | Wallet tertanam yang dikelola aplikasi |
| Turnkey | Manajemen kunci non-kustodial | Penandatanganan terprogram dengan gerbang kebijakan | Manajemen kunci non-kustodial |
| CDP | Wallet terkelola (Coinbase) | Aplikasi di Coinbase Developer Platform | signMessage hanya menerima payload UTF-8 |
| Crossmint | Wallet terkelola | Marketplace dan aplikasi wallet terkelola | Hanya pengiriman: menyiarkan di sisi server, dapat menulis ulang untuk sponsor gas; signMessage tidak didukung |
| Openfort | Wallet backend tertanam | Wallet sisi server | Kunci tersimpan di TEE |
Bentuk kapabilitas
Selain kustodi, setiap backend memiliki satu bentuk transaksi, dan bentuk itulah yang menentukan cara Anda memanggil signer:
- Sign: penyedia menandatangani byte yang Anda susun dan Anda yang menyiarkannya. Sebagian besar backend, termasuk Ledger dan mode black box Fordefi.
- Rewrite and sign: penyedia menulis ulang transaksi, lalu menandatanganinya tanpa menyiarkan. Lanjutkan dari transaksi yang dikembalikan. Mode native manual Fordefi.
- Sign and broadcast: penyedia menandatangani dan menyiarkan di sisi server, sehingga kegagalan tidak berarti tidak ada yang masuk. Crossmint dan mode native auto Fordefi.
Tabel kapabilitas signer di README setiap bahasa mencantumkan bentuk dari setiap backend; model keamanan menjelaskan apa yang dijamin oleh setiap bentuk.
Skenario enterprise
Satu aplikasi sering kali membutuhkan lebih dari satu backend sekaligus. Karena antarmukanya sama, Anda dapat menjalankan backend yang berbeda untuk setiap peran tanpa mengubah titik pemanggilan, selama backend tersebut memiliki bentuk kapabilitas yang sama.
- Operasi treasury — pisahkan penanda tangan "hot" operasional dari penanda tangan treasury "cold". Dukung treasury dengan MPC custody atau cloud HSM dan wajibkan kebijakan persetujuan sebelum tanda tangan bernilai tinggi.
- Alur kerja persetujuan — backend MPC dan custody (mis. Fireblocks) menerapkan persetujuan multi-pihak sebelum tanda tangan dihasilkan.
- Kepatuhan dan audit — cloud KMS (AWS/GCP) dan Vault menghasilkan log audit penandatanganan; kustodian institusional menambahkan penegakan kebijakan dan pelaporan.
- Lingkungan yang diatur — simpan materi kunci dalam HSM, KMS, atau kustodian institusional agar kunci mentah tidak pernah menyentuh aplikasi Anda.
Lihat Praktik terbaik produksi untuk mengoperasikan backend ini dengan aman.
Is this page helpful?