Memilih backend

Keychain mengekspos satu antarmuka dasar SolanaSigner di setiap backend, sehingga pada sebagian besar backend pilihannya bersifat operasional, bukan arsitektural: Anda bisa menggantinya nanti melalui konfigurasi. Pengecualiannya adalah bentuk transaksi. Crossmint dan mode native auto Fordefi menandatangani dan menyiarkan transaksi di sisi server, sedangkan mode native manual Fordefi menulis ulang transaksi sebelum menandatanganinya, sehingga berpindah ke atau dari salah satu dari backend tersebut akan mengubah cara Anda memanggil signer. Karena itu, mulailah dari kebutuhan Anda, bukan dari suatu produk. Dua pertanyaan menentukan sebagian besar hal ini: di mana kunci privat berada, dan siapa yang diizinkan untuk mengotorisasi tanda tangan dengannya?

Setiap backend kecuali Ledger tersedia dalam keempat bahasa (Rust, TypeScript, Python, dan Go). Ledger hanya mendukung 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, dan kontrol kustodi serta persetujuan apa yang wajib Anda miliki. Alur di bawah ini memetakan kendala tersebut ke sebuah backend.

Panduan ini membahas penandatanganan di sisi backend (server-side). Jika pengguna akhir Anda menandatangani transaksi mereka sendiri di browser, gunakan wallet melalui Wallet Standard sebagai gantinya. Lihat Signing in Production.

Alur keputusan

Choosing a Keychain backend

Pengembangan lokal dan pengujian tidak memerlukan semua ini: gunakan backend Memory untuk prototipe, lalu beralih ke salah satu backend produksi di atas melalui konfigurasi.

Telusuri pertanyaan-pertanyaan

Apakah Anda menandatangani untuk aplikasi Anda sendiri, atau untuk pengguna akhir Anda?

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 atas nama 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 dihasilkan, atau Anda memerlukan kustodian teregulasi yang memegang kunci, gunakan backend MPC / kustodi institusional: Fireblocks, Dfns, Para, Utila, atau Fordefi. Backend ini memecah atau menyimpan kunci dan ikut menandatangani 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 harus memegang kunci dalam infrastruktur berbasis hardware 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 sendiri infrastruktur kunci, atau Anda menggunakan multi-cloud atau on-prem, gunakan HashiCorp Vault. Anda yang menjalankan dan mengauditnya; kunci tetap berada di dalam mesin Transit dan menandatangani sesuai permintaan.

Model kustodi

Backend dikelompokkan ke dalam enam model kustodi. Alur di atas akan mengarahkan Anda ke salah satunya.

  • Kustodi mandiri (in-process): aplikasi Anda memegang kunci privat mentah. Praktis untuk pengembangan, tetapi tidak cocok untuk produksi. Backend: Memory.
  • Kustodi mandiri (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 dalam infrastruktur berbasis hardware; kunci tidak pernah meninggalkan layanan dan kebijakan IAM Anda mengontrol siapa yang dapat menandatangani. Backend: AWS KMS, GCP KMS.
  • MPC & kustodi institusional: kunci dipecah atau dikustodi oleh penyedia, yang ikut menandatangani sesuai kebijakan Anda (persetujuan, batas). Backend: Fireblocks, Dfns, Para, Utila, Fordefi.
  • Wallet embedded & terkelola: penyedia mengelola wallet atas nama Anda, sering kali untuk onboarding pengguna akhir. Backend: Privy, Turnkey, CDP, Crossmint, Openfort.

Perbandingan Backend

BackendModel kustodiTerbaik untukCatatan
MemoryKustodi mandiri (in-process)Pengembangan lokal, pengujian, CIKunci mentah dalam proses; jangan gunakan di produksi
LedgerKustodi mandiri (hardware wallet)Penandatanganan operator interaktif dari tool RustHanya Rust, fitur opt-in ledger, belum diaudit; setiap tanda tangan dikonfirmasi di perangkat
HashiCorp VaultManajemen kunci self-hostedTim yang menjalankan infrastruktur kunci sendiriMesin Transit; Anda mengoperasikan dan mengauditnya
AWS KMSCloud KMS / HSMBackend yang berjalan di AWSKunci tidak pernah meninggalkan KMS; IAM mengontrol penandatanganan
GCP KMSCloud KMS / HSMBackend yang berjalan di GCPKunci tidak pernah meninggalkan KMS; IAM mengontrol penandatanganan
FireblocksKustodi MPC / institusionalTreasury, bursa, kustodi teregulasiMesin kebijakan dan alur kerja persetujuan
DfnsInfrastruktur wallet MPCWallet terprogram dengan kontrol kebijakanPenandatanganan Ed25519
ParaWallet MPCAplikasi yang menginginkan wallet berbasis MPCKunci API + ID wallet
UtilaKustodi MPC + co-signerWallet Solana yang dikelola UtilasignMessage tidak didukung; Anda menyiarkan tx
FordefiKustodi MPC / institusionalPenyimpanan institusional dengan kontrol kebijakanBlack box: Anda yang mengirim. Native auto: Fordefi menulis ulang dan mengirim. Native manual: Fordefi menulis ulang, Anda mengirim hasilnya
PrivyWallet tertanamAplikasi konsumen yang onboarding pengguna ke walletWallet tertanam yang dikelola aplikasi
TurnkeyManajemen kunci non-kustodialPenandatanganan terprogram dengan gerbang kebijakanManajemen kunci non-kustodial
CDPWallet terkelola (Coinbase)Aplikasi di Coinbase Developer PlatformsignMessage hanya menerima payload UTF-8
CrossmintWallet terkelolaMarketplace dan aplikasi wallet terkelolaHanya mengirim: menyiarkan di sisi server, dapat menulis ulang untuk sponsor gas; signMessage tidak didukung
OpenfortWallet backend tertanamWallet sisi serverKunci tersimpan di TEE

Bentuk kapabilitas

Selain kustodi, setiap backend memiliki satu bentuk transaksi, dan bentuk itu 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 ke jaringan. 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

Sebuah aplikasi sering kali membutuhkan lebih dari satu backend sekaligus. Karena antarmukanya sama, Anda dapat menjalankan backend yang berbeda untuk tiap 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?

© 2026 Yayasan Solana. Semua hak dilindungi.