BARU: Helius mengakuisisi Light Protocol
cara membuat transaksi solana
Blog/Pengembangan

Solana Dev 101 - Cara Membuat Transaksi Solana

Engineer Pengalaman DeveloperOwen Venter di XOwen Venter di LinkedIn
Bacaan 5 menit
Daftar Isi

Pendahuluan

GM! Dalam blog ini, kita akan mempelajari cara membuat dan mengirim transaksi dengan JavaScript di Solana sebagai bagian dari Seri Solana Dev 101. Panduan ini cocok untuk pemula, jadi jangan khawatir jika Anda baru mengenal Solana atau teknologi blockchain.

Jika memiliki pertanyaan, jangan ragu untuk bergabung dengan Discord Helius atau menandai Helius di X  untuk mendapatkan bantuan.‍

Prasyarat

Untuk memulai, Node.js dan npm harus sudah terinstal di komputer Anda. Jika perlu, Anda dapat mengunduhnya di sini.

Kita juga perlu menginstal library Solana web3.js, yaitu rangkaian alat dan library JavaScript yang dirancang untuk berinteraksi dengan blockchain Solana.

Anda dapat menginstalnya dengan npm melalui terminal menggunakan kode berikut:

Kode
npm install @solana/web3.js

‍Langkah 1: Menyiapkan Koneksi

Pertama, mari buat koneksi ke klaster Solana. Kita akan menggunakan Helius untuk terhubung ke klaster devnet. Anda perlu membuat akun Helius dan API key. Keduanya dapat dibuat secara gratis melalui dashboard Anda.

Kode
const solanaWeb3 = require('@solana/web3.js');
const connection = new solanaWeb3.Connection('<https://rpc-devnet.helius.xyz/?api-key=><api_key>','confirmed',);

Langkah 2: Membuat Dompet Baru

Sekarang kita memerlukan dompet yang akan digunakan untuk mengirim transaksi. Dompet hanyalah sepasang public key dan private key yang dapat dibuat dengan mudah. Public key merupakan alamat dompet Anda, sedangkan private key digunakan untuk menandatangani transaksi. Anda dapat membaca lebih lanjut tentang kriptografi public key di sini.

Kita dapat membuat dompet sistem file baru. Pasangan kunci dompet ini akan disimpan di komputer lokal Anda. Jika sudah menginstal alat Solana CLI, Anda dapat menjalankan perintah berikut di terminal untuk mendapatkan dompet baru.

Kode
solana-keygen new

Jika belum, Anda perlu menginstal Solana CLI Tool Suite. Informasi lebih lanjut tentang cara melakukannya tersedia dalam dokumentasi Solana di sini: https://docs.solana.com/cli/install-solana-cli-tools

Selanjutnya, kita dapat memuat dompet ini ke dalam kode:

Kode
const sender=solanaWeb3.Keypair.fromSecretKey(new Uint8Array([61,23,....,60,49]));

Anda dapat menyalin secret key dari dompet sistem file JSON yang dibuat pada langkah sebelumnya, lalu menggunakannya.

Langkah 3: Mengisi Saldo Dompet

Untuk mengirim transaksi, kita memerlukan sejumlah SOL di dompet. Setiap transaksi di Solana memerlukan sedikit biaya agar dapat diproses.

Untuk keperluan pengujian, kita akan menggunakan faucet Devnet untuk mengisi saldo dompet. Gunakan faucet Helius di dashboard Anda atau ikuti petunjuk ini untuk meminta SOL Devnet melalui CLI. Masukkan public key dari dompet yang baru saja Anda buat, lalu minta sejumlah SOL.

Langkah 4: Membuat Transaksi

Setelah dompet memiliki saldo, kita dapat membuat transaksi. Dalam contoh ini, kita akan membuat transaksi dan menambahkan instruksi transfer ke transaksi tersebut. Kita akan menggunakannya untuk mentransfer 0,1 SOL ke dompet pilihan kita.

Transaksi dapat melakukan berbagai hal tergantung pada instruksi yang diberikan. Dalam contoh ini, kita akan mengirim SOL menggunakan instruksi transfer.

Kode
// Set up the address to send to
const receiver = new solanaWeb3.PublicKey("86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY");

// Create a transaction    
const transaction = new solanaWeb3.Transaction().add(solanaWeb3.SystemProgram.transfer({
fromPubkey: sender.publicKey,toPubkey: receiver,
lamports: solanaWeb3.LAMPORTS_PER_SOL * 0.01,}),);

‍Dalam kode di atas, kita membuat objek PublicKey baru menggunakan dompet pilihan kita. Objek PublicKey diperlukan untuk membuat transaksi, bukan hanya alamatnya. Instruksi transfer juga menerima 3 parameter:

  1. fromPubkey: public key akun pengirim.
  2. toPubkey: public key akun penerima.
  3. lamports: jumlah lamport (unit mata uang terkecil di Solana) yang akan ditransfer. solanaWeb3.LAMPORTS_PER_SOL menunjukkan 1 SOL.

Langkah 5: Menandatangani dan Mengirim Transaksi

Setelah transaksi dibuat, kita perlu menandatanganinya dan mengirimkannya ke jaringan.

Library Solana Web3 memiliki fungsi bernama sendAndConfirmTransaction() yang memudahkan kita melakukan semua ini.

Metode sendAndConfirmTransaction mengirim transaksi ke jaringan, menunggu konfirmasi, dan mengembalikan signature transaksi.

Kode
// Sign and confirm the transaction      
const signature = await solanaWeb3.sendAndConfirmTransaction(connection,transaction,[sender],);      
console.log('Transaction: ', signature);

Metode sendAndConfrimTransaction menerima tiga parameter:

  1. connection: Ini adalah objek koneksi jaringan Solana yang kita buat menggunakan koneksi RPC Helius. Parameter ini menentukan koneksi yang akan digunakan untuk mengirim dan mengonfirmasi transaksi.
  2. transaction: Ini adalah objek transaksi yang baru saja kita buat dan berisi instruksi transfer.
  3. [sender]: Ini adalah array yang berisi semua akun penanda tangan transaksi. Dalam kasus ini, array tersebut memiliki satu elemen, yaitu sender, yang mewakili akun yang menandatangani dan mengotorisasi transaksi.

Selesai!

Kita baru saja membuat dan mengirim transaksi di Solana menggunakan JavaScript.

Anda dapat menggunakan node sendTransaction.js untuk menjalankan skrip.

Kesimpulan

Membuat dan mengirim transaksi di Solana dengan JavaScript merupakan proses yang mudah berkat library JavaScript Solana yang lengkap. Hanya dengan beberapa baris kode, kita dapat berinteraksi dengan blockchain Solana, yang membuka berbagai kemungkinan baru.

Ini adalah contoh dasar yang menunjukkan struktur dan alur pembuatan serta pengiriman transaksi. Aplikasi di dunia nyata mungkin melibatkan transaksi yang lebih kompleks dan memerlukan langkah keamanan tambahan.

Semoga panduan ini bermanfaat. Selamat membuat kode!

Anda dapat menemukan kode lengkapnya di sini.

Referensi

‍

Berlangganan Helius

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