BARU: Helius mengakuisisi Light Protocol
apa itu dompet pintar solana
Blog/Pengembangan

Apa Itu Dompet Pintar Solana? Panduan Perbandingan & Implementasi

Growth di CrossmintDwight Torculas di XDwight Torculas di LinkedIn
Bacaan 8 menit

Dompet pintar tertanam (juga dikenal sebagai dompet Abstraksi Akun) kini tersedia bagi developer di Solana. Artinya, aplikasi dapat menawarkan proses onboarding dan pengalaman pengguna yang lebih sederhana.

Pada saat yang sama, developer mendapatkan fleksibilitas, keamanan, dan kepatuhan yang lebih baik — yang pada akhirnya menghadirkan pengalaman onchain yang lebih aman dan ramah pengguna. 

Tidak seperti akun yang tidak dapat dieksekusi (akun data) dan dompet tertanam tradisional, dompet pintar dapat diprogram sehingga menghadirkan fitur generasi baru: subsidi gas, beberapa penanda tangan per dompet, batas pengeluaran, dan lainnya.

Dalam artikel ini, Anda akan mempelajari perbedaan utama antara dompet pintar tertanam di Solana dan solusi dompet lainnya.

Anda juga akan memahami cara kerja dompet pintar di Solana serta cara mengimplementasikan dompet pintar tertanam ke dalam aplikasi Anda.

Apa itu dompet pintar?

Dompet pintar adalah akun program yang dapat dieksekusi dan berisi kode yang dapat dieksekusi. Tidak seperti dompet tradisional yang hanya berupa pasangan kunci dan dikendalikan oleh satu kunci privat, dompet pintar di Solana diimplementasikan sebagai program dengan logika dan fitur khusus.  

Apa manfaat dompet pintar?

Dompet pintar menghilangkan kebutuhan akan frasa seed beserta risiko kehilangannya. Sebagai gantinya, pengguna dapat menetapkan satu atau beberapa "penanda tangan" atau kunci untuk mengendalikan dompet.

Fleksibilitas ini memungkinkan opsi pengelolaan kunci yang lebih ramah pengguna, seperti biometrik (misalnya Face ID, Touch ID, atau passkey), serta skema keamanan tingkat lanjut (misalnya multisig) atau kontrol tingkat perusahaan (misalnya kunci admin sisi server).

Dompet pintar memungkinkan transaksi tanpa biaya karena developer dapat mensubsidi biaya dengan SOL atau token SPL lain seperti USDC dan dengan mudah menyembunyikan kompleksitasnya dari pengguna akhir — sehingga menghadirkan pengalaman pengguna yang lebih familier seperti web2.  

Artinya, Anda dapat membangun aplikasi tanpa permintaan persetujuan transaksi, tanpa frasa seed atau kunci privat yang berisiko hilang, serta dengan keamanan terprogram yang diterapkan oleh program (smart contract).

Dompet Pintar Tertanam vs. Dompet Tertanam vs. Akun yang Tidak Dapat Dieksekusi

Dompet Pintar TertanamDompet TertanamTidak Dapat Dieksekusi
ImplementasiSmart contract dengan logika khususAkun non-smart contract yang tertanam dalam aplikasiAplikasi mandiri atau ekstensi browser
Kontrol AkunFleksibel - pengguna dapat menetapkan satu atau beberapa penanda tangan (mulai dari EOA seperti Phantom hingga passkey dan dompet dengan login sosial) dengan aturan terprogram opsionalPasangan kunci yang dilindungi login sosial (biasanya dalam klaster TEE atau MPC)Dikendalikan langsung oleh pasangan kunci milik pengguna
Model KustodianFleksibel. Dapat diatur menjadi kustodi mandiri oleh pengguna, kustodian oleh developer, atau bahkan hibrida dengan kedua mode sekaligusBiasanya nonkustodian - tetapi beberapa metode pemulihan dapat mengubahnya menjadi kustodianKustodi mandiri oleh pengguna akhir
Pengelolaan KunciBeragam metode otorisasi (MPC, pemulihan sosial, dan lainnya)Biasanya dikelola oleh aplikasiFrasa seed/kunci privat dikelola pengguna
Otorisasi TransaksiLogika verifikasi khusus (multisig, penguncian waktu, batas)Aplikasi menandatangani dengan kunci privat tertanamPengguna secara eksplisit menyetujui setiap transaksi
Pembayaran BiayaMendukung abstraksi dan subsidi biaya sehingga pembayaran dapat dilakukan dengan token SPL lain seperti USDC atau USDTPengguna membayar semua biaya transaksi. Memerlukan on-ramp di setiap aplikasiPengguna membayar semua biaya transaksi
Model KeamananKeamanan diterapkan dalam kode smart contract sumber terbuka, dengan batasan terprogram opsionalKeamanan bergantung pada kode sumber tertutup dari penyedia dompet tertanamKeamanan bergantung pada kode sisi klien yang bersumber tertutup
Opsi PemulihanPemulihan terprogram (sosial, kunci wali)Metode pemulihan yang disediakan aplikasiHanya pemulihan berbasis frasa seed
Kontrol PengeluaranBatas pengeluaran dan alur persetujuan yang dapat diprogramBeberapa dompet tertanam mendukung kebijakan transaksi sisi server (perhatian - jika diterapkan secara tidak tepat, kebijakan ini dapat menciptakan arsitektur kustodian)Tidak ada
Pertimbangan RegulasiFleksibel - kustodi dapat diprogram sehingga dompet dapat beradaptasi dengan perubahan regulasiKonsultasikan dengan penyedia dompet terkaitPengawasan lebih rendah - dikendalikan pengguna
Fitur PerusahaanKontrol akses berbasis peran, alur persetujuanBeberapa dompet tertanam memiliki kontrol sisi server yang terbatasTidak ada
Ketergantungan pada vendorRendah. Dompet pintar berbasis program sumber terbuka. Pengguna dapat dimigrasikan dari satu penyedia infrastruktur tanpa mengubah alamat mereka.Tinggi. Satu-satunya cara untuk meninggalkan dompet tertanam adalah meminta setiap pengguna memulihkan kunci privatnya - tindakan ini dapat tidak aman dan mungkin mengharuskan pengguna melakukan langkah manualRendah. Bergantung pada pengguna

Kasus Penggunaan Umum Dompet Pintar

Dompet Pintar Solana berguna ketika Anda memerlukan arsitektur kustodian yang fleksibel, seperti:

  • Dompet kas perusahaan yang dikelola oleh beberapa karyawan
  • Dompet agen AI dalam kasus penggunaan keuangan agentik, ketika pemilik agen memerlukan satu kunci dan agen itu sendiri memerlukan kunci lainnya
  • Neobank dan aplikasi keuangan tempat pengguna menerapkan kustodi mandiri, tetapi memilih untuk mengizinkan bank menarik dana (misalnya pembayaran berulang)

Karakteristik utama penanda tangan yang didelegasikan adalah cakupan izinnya terhadap dompet dapat dibatasi, misalnya melalui pembatasan pengeluaran atau kelas aset.

Bagaimana cara kerja dompet pintar secara khusus di Solana?

Dompet pintar di Solana beroperasi melalui kombinasi program onchain dan infrastruktur offchain, dengan beberapa karakteristik unik khusus Solana:

Arsitektur Berbasis Program

Tidak seperti akun yang tidak dapat dieksekusi (akun data), dompet pintar Solana (atau akun program yang dapat dieksekusi) biasanya diimplementasikan sebagai program onchain yang mengendalikan satu atau beberapa akun (PDA).

Otorisasi Transaksi

Alih-alih menggunakan satu kunci privat, dompet pintar menggunakan logika autentikasi khusus:

  • Beberapa penanda tangan dapat diwajibkan (fungsi multisig)
  • Beragam metode autentikasi dapat didukung (kunci, biometrik, sosial)
  • Penguncian waktu dan batas pengeluaran dapat diterapkan secara terprogram

Pendelegasian Akun

Pengguna dapat mendelegasikan izin tertentu ke alamat yang berbeda sehingga tersedia kontrol yang lebih terperinci atas tindakan yang dapat dilakukan setiap kunci/perangkat.

Kompatibel dengan Transaksi Berversi

Dompet pintar menggunakan format transaksi berversi standar Solana.

Apa itu abstraksi akun?

Abstraksi Akun (AA) memungkinkan developer membuat akun smart contract yang dapat disesuaikan dan melampaui Akun yang Tidak Dapat Dieksekusi yang terikat pada satu pasangan kunci, sehingga memungkinkan pengalaman pengguna yang lebih fleksibel.

AA memungkinkan logika validasi khusus, sehingga akun dapat menerapkan fitur keamanan seperti pemulihan sosial, persyaratan multisig, atau batas pengeluaran tanpa bergantung pada aturan default blockchain. 

Tujuan utama AA adalah membuat teknologi blockchain tidak terlihat oleh pengguna dengan menghilangkan hambatan teknis (seperti biaya transaksi dan frasa seed), sekaligus mempertahankan manfaat kustodi mandiri.

Bagaimana cara kerja transaksi tanpa biaya di Solana?

Keunggulan utama dompet pintar untuk transaksi tanpa biaya adalah abstraksi berlangsung pada tingkat akun, bukan memerlukan implementasi khusus dApp. Hal ini menciptakan pengalaman yang lebih mulus sehingga pengguna mungkin tidak menyadari adanya biaya transaksi.

Artinya, developer dapat menerapkan:

Abstraksi Biaya Bawaan

Dompet pintar dapat mengintegrasikan subsidi biaya langsung ke dalam arsitekturnya. Kontrak dompet itu sendiri dapat menentukan aturan tentang pihak yang membayar biaya dan kondisi pembayarannya.

Mata Uang Biaya yang Fleksibel

Jika Anda tidak ingin mensubsidi biaya transaksi pengguna, mereka dapat membayarnya dengan SOL atau token seperti USDC atau USDT.

Mekanisme Persetujuan

Dompet pintar dapat menerapkan logika verifikasi khusus untuk menentukan kapan transaksi bersubsidi diizinkan, misalnya dengan pembatasan frekuensi atau pembatasan pada aplikasi tertentu.

Cara Menambahkan Dompet Pintar Solana ke Aplikasi Anda dengan Crossmint

Ada banyak cara untuk mengintegrasikan Dompet Pintar ke aplikasi Anda: sisi klien, sisi server, atau dengan arsitektur dua kunci untuk agen AI.

Dalam tutorial berikut, Anda akan mempelajari cara men-deploy dompet pintar pertama Anda di sisi server.

Prasyarat

Pertama, buat akun developer di Crossmint Staging Console. 

Kemudian, buka Settings > General pada proyek dan ubah jenis dompet menjadi “Smart Wallets”.

Anda dapat memperoleh Kunci API dengan membuka Integrate > API Keys dan memilih “Create new key” di bagian “Server-side keys”.

Di bawah kategori Wallets API, pilih cakupan berikut:

  • wallets.create
  • wallets.read
  • wallets:signatures.create
  • wallets:transactions.create
  • wallets:transactions.read
  • wallets:transactions.sign

Klik “Create server key” untuk menyimpan kunci bagi langkah berikutnya.

Buat Dompet Pintar Pertama Anda

Buat sebuah file (misalnya, createWallet.ts) dan masukkan kode berikut:

Kode
const apiKey = "YOUR_API_KEY";
const walletType = "solana-smart-wallet";
const adminSigner = {
    // In production, you may want to use an MPC solution, like
    // crossmint-managed MPC keys
    type: "solana-keypair",
};

async function createWallet() {
    const response = await fetch("https://staging.crossmint.com/api/2022-06-09/wallets", {
        method: "POST",
        headers: {
            "X-API-KEY": apiKey,
            "Content-Type": "application/json",
        },
        body: JSON.stringify({
            type: walletType,
            config: {
                adminSigner,
            },
        }),
    });

    return await response.json();
}

createWallet()
    .then((json) => console.log(json))
    .catch((err) => console.error(`error: ${err}`));

Sebelum menjalankannya, isi YOUR_API_KEY dengan kunci yang diperoleh pada langkah sebelumnya.

Sekarang, jalankan skrip:

Kode
npx tsx createWallet.ts

API akan memberikan respons berisi detail dompet baru Anda.

Simpan alamat dompet tersebut karena Anda akan menggunakannya pada langkah berikutnya.

Berinteraksi dengan Dompet Anda

Setelah dompet disiapkan di server Anda, mari berinteraksi dengannya.

Mulailah dengan mengunjungi Crossmint Testnet USDXM Faucet, lalu tempelkan alamat dompet dari langkah sebelumnya untuk menerima USDXM uji coba di Solana.

Setelah memiliki sejumlah token, mari periksa saldo dompet (checkBalance.ts):

Kode
const apiKey = "YOUR_API_KEY";
const walletAddress = "YOUR_WALLET_ADDRESS"; // From previous step
const tokens = ["sol", "usdc", "usdxm"]; // Tokens to fetch balances for
const chains = ["solana"]; // Chains to query balances from

async function getWalletBalance() {
    const url = new URL(`https://staging.crossmint.com/api/v1-alpha2/wallets/${walletAddress}/balances`);
    url.search = new URLSearchParams({
        tokens: tokens.join(','),
        chains: chains.join(',')
    }).toString();

    const response = await fetch(url, {
        method: "GET",
        headers: {
            "X-API-KEY": apiKey,
            "Content-Type": "application/json",
        },
    });

    return await response.json();
}

getWalletBalance()
    .then((json) => console.log(json))
    .catch((err) => console.error(`error: ${err}`));

Selamat, kini dompet pintar Anda telah di-deploy di server!

Selanjutnya, Anda dapat menjelajahi dokumentasi untuk mempelajari cara melakukan transaksi pertama, menambahkan penanda tangan yang didelegasikan, dan lainnya.

Kesimpulan

Dompet Pintar akan menghadirkan generasi baru aplikasi yang dibangun di Solana untuk meningkatkan onboarding, pengalaman pengguna, keamanan, dan kepatuhan.

Di Crossmint, kami antusias mendukung beragam kasus penggunaan, mulai dari IP, program loyalitas, hingga agen AI, melalui API sederhana dan alat tanpa kode kami untuk dompet, pembayaran, dan tokenisasi yang dapat diskalakan secara andal hingga jutaan pengguna. Kini, dengan peluncuran Dompet Pintar Tertanam Solana, kami juga mendukung fintech dan aplikasi agen AI.

Jika Anda ingin mempelajari lebih lanjut cara menerapkan Dompet Pintar Solana dalam proyek Anda, hubungi kami, dan kami akan dengan senang hati membantu.

Referensi Tambahan

Berlangganan Helius

Ikuti perkembangan terbaru dalam pengembangan Solana dan dapatkan pembaruan saat kami memublikasikan postingan

Gambar diperbesar