Validator Testnet Solana - Panduan Cepat
Instalasi & Peluncuran Validator
bash
curl -fsSL https://storage.slv.dev/slv/install | sh
slv validator init
slv validator deploycurl -fsSL https://storage.slv.dev/slv/install | sh
slv validator init
slv validator deployDeploy Validator Firedancer di Testnet Solana
π Prasyarat
Siapkan server dengan Ubuntu 24.04 LTS yang terpasang melalui instalasi bersih.
π Tentang Penanganan Kunci
Untuk deployment SLV Firedancer yang baru, unstaked-keypair.json selalu digunakan sebagai kunci identity pada awalnya demi keamanan.
Ini adalah praktik terbaik untuk mencegah masalah kritis seperti voting ganda.
β
Pengaturan Identity Setelah Deployment
Setelah deployment, pastikan untuk mengatur kunci identity yang sah dengan perintah berikut:
bash
slv v set:identity -n testnet --pubkey <name>slv v set:identity -n testnet --pubkey <name>Menyiapkan Server Bare Metal
Meskipun node Solana dapat dijalankan di VPS atau mesin virtual (VM), mencapai performa dan stabilitas yang optimal tidaklah mudah dalam praktiknya. Solana secara resmi merekomendasikan penggunaan server bare metal, yang memberikan performa jauh lebih tinggi daripada lingkungan tervirtualisasi.
Karena lingkungan testnet memiliki beban yang lebih rendah dibandingkan mainnet, kami telah memastikan operasi yang stabil menggunakan server dengan CPU Ryzen 16 core dan RAM DDR5 128GB. Konfigurasi server ini membantu mengurangi biaya operasional, sehingga direkomendasikan.
Saat Anda menjalankan perintah
slv v init, Anda akan ditanya apakah server bare metal Anda sudah disiapkan:bash
β slv v init
? Select Solana Network (testnet) βΊ testnet
? π‘οΈ Do you have a Solana Node Compatible Server? (no)
β― yes
noβ slv v init
? Select Solana Network (testnet) βΊ testnet
? π‘οΈ Do you have a Solana Node Compatible Server? (no)
β― yes
noTutorial ini mengasumsikan Anda memilih
yes.Jika Anda belum menyiapkan server bare metal, silakan lihat Panduan Penyiapan Server Bare Metal untuk menyelesaikan penyiapannya.
Masukkan Nama Pengguna Default Server
Umumnya, nama pengguna default adalah
ubuntu atau root.bash
? What's the user for the server? (ubuntu) βΊ ubuntu? What's the user for the server? (ubuntu) βΊ ubuntuMasukkan Alamat IP Server
Masukkan alamat IP server.
bash
? What's the IP address of the server? βΊ? What's the IP address of the server? βΊAtur Kunci RSA untuk SSH
β» Silakan atur path ke kunci RSA Anda. Path default adalah
~/.ssh/id_rsa.
Saat ini, hanya path default yang didukung, jadi silakan atur apa adanya.bash
? What's the path to your RSA key? (~/.ssh/id_rsa) βΊ ~/.ssh/id_rsa
π Checking SSH connection...
βοΈ SSH connection succeeded? What's the path to your RSA key? (~/.ssh/id_rsa) βΊ ~/.ssh/id_rsa
π Checking SSH connection...
βοΈ SSH connection succeededSelanjutnya, SLV akan memeriksa koneksi ke server. Jika koneksi berhasil, langkah berikutnya akan ditampilkan.
Pilih Tipe Validator Solana
Pilih tipe validator Solana.
bash
? Select Validator Type (firedancer-jito)
agave
jito
jito-bam
firedancer-agave
β― firedancer-jito? Select Validator Type (firedancer-jito)
agave
jito
jito-bam
firedancer-agave
β― firedancer-jitoBuat atau Atur Kunci Identity Validator Solana
Anda dapat membuat kunci identity baru atau mengatur kunci identity yang sudah ada.
Contoh ini menunjukkan cara mengatur kunci identity yang sudah ada dengan nama "epics-test".
bash
? Do you want to create a new identity key now? (Y/n) βΊ No
? Please Enter Your Identity Public Key βΊ TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp
? Enter Inventory Name (TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp) βΊ epics-test
β οΈ Please place your identity key in
~/.slv/keys/TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp.json
.
.
βοΈ Success
β Inventory updated to ~/.slv/inventory.yml
β Successfully created solv user on x.x.x.x? Do you want to create a new identity key now? (Y/n) βΊ No
? Please Enter Your Identity Public Key βΊ TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp
? Enter Inventory Name (TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp) βΊ epics-test
β οΈ Please place your identity key in
~/.slv/keys/TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp.json
.
.
βοΈ Success
β Inventory updated to ~/.slv/inventory.yml
β Successfully created solv user on x.x.x.xLetakkan kunci identity Anda di
~/.slv/keys/<your-pubkey>.json. Setelah itu, SLV akan membuat pengguna solv menggunakan kata sandi.Deteksi Wilayah Otomatis
Selanjutnya, sistem akan melakukan ping ke setiap block engine dari node yang telah Anda konfigurasi untuk mendeteksi wilayah terdekat secara otomatis. Dengan mengukur nilai ping yang sebenarnya, Anda dapat memilih wilayah yang optimal.
bash
π Measuring latencies from x.x.x.x to testnet regions...
Pinging Dallas (dallas.testnet.block-engine.jito.wtf)...
Pinging New York (ny.testnet.block-engine.jito.wtf)...
β
New York: 74.341 ms
β
Dallas: 114.722 ms
π― Nearest region: πΊπΈ New York
Latency: 74.341 ms
Block Engine: https://ny.testnet.block-engine.jito.wtf
Shred Receiver: 64.130.35.224:1002
Relayer: http://ny.testnet.relayer.jito.wtf:8100
NTP Server: ntp.dallas.jito.wtfπ Measuring latencies from x.x.x.x to testnet regions...
Pinging Dallas (dallas.testnet.block-engine.jito.wtf)...
Pinging New York (ny.testnet.block-engine.jito.wtf)...
β
New York: 74.341 ms
β
Dallas: 114.722 ms
π― Nearest region: πΊπΈ New York
Latency: 74.341 ms
Block Engine: https://ny.testnet.block-engine.jito.wtf
Shred Receiver: 64.130.35.224:1002
Relayer: http://ny.testnet.relayer.jito.wtf:8100
NTP Server: ntp.dallas.jito.wtfBuat atau Atur Kunci Akun Vote Validator Solana
Anda dapat membuat kunci akun vote baru atau mengatur kunci akun vote yang sudah ada.
Contoh ini menunjukkan cara mengatur kunci akun vote yang sudah ada.
bash
? Do you want to create a new vote account key now? (Y/n) βΊ No
? Please Enter Your Vote Account Public Key > <your-vote-account>? Do you want to create a new vote account key now? (Y/n) βΊ No
? Please Enter Your Vote Account Public Key > <your-vote-account>Konfigurasi kini telah disimpan ke
~/.slv/inventory.testnet.validators.yml.Deploy Validator
Setelah Anda mengonfirmasi konfigurasi, deployment akan dimulai.
bash
slv v deploy -n testnetslv v deploy -n testnetPertama, konfirmasi konfigurasi akan ditampilkan.
Pilih Yes untuk melanjutkan.
bash
Your Testnet Validators Settings:
ββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ
β Identity Key β TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp β
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
β Vote Key β 6XdQ6szHJjm1t3XbgahSS6WVEhsrs5fniZbLgfkN1QWn β
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
β Authority Key β authAccount β
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
β IP β x.x.x.x. β
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
β Validator Type β jito β
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
β Version β 3.0.7-jito β
ββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ
? Do you want to continue? (Y/n) βΊ YesYour Testnet Validators Settings:
ββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ
β Identity Key β TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp β
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
β Vote Key β 6XdQ6szHJjm1t3XbgahSS6WVEhsrs5fniZbLgfkN1QWn β
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
β Authority Key β authAccount β
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
β IP β x.x.x.x. β
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
β Validator Type β jito β
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
β Version β 3.0.7-jito β
ββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ
? Do you want to continue? (Y/n) βΊ YesSelesai! Validator Solana Anda kini sudah di-deploy. Perlu waktu beberapa saat hingga tersinkronisasi dengan jaringan Solana.
Debugging & Pemantauan
Setelah deployment, Anda dapat melakukan debugging dan pemantauan di dalam node RPC Solana.
Anda dapat memeriksa status node RPC Solana dengan perintah berikut:
bash
$ solv m$ solv msolv adalah alias untuk agave-validator -l /mnt/ledger.
Pengaturan ini ditambahkan ke ~/.profile saat deployment node RPC.Ganti Kunci Identity
Setelah deployment, Anda perlu mengganti kunci unstaked dengan kunci identity yang sah.
bash
slv v set:identity -n testnet --pubkey epics-testslv v set:identity -n testnet --pubkey epics-testPerintah ini akan mengatur kunci identity dari komputer lokal Anda yang berada di:
~/.slv/keys/<name>.jsonMulai Ulang Firedancer
Jika ada masalah dengan validator, Anda dapat memulai ulang Firedancer dengan perintah berikut.
Opsi
--rm akan menghentikan validator, menghapus direktori ledger dan snapshot, mengunduh snapshot menggunakan snapshot finder, lalu menjalankan validator.bash
slv v restart -n testnet --pubkey <name> --rmslv v restart -n testnet --pubkey <name> --rmPerintah Validator SLV
bash
slv validator --help
Usage: slv validator
Version: 0.9.700
Description:
π οΈ Manage Solana Validator Nodes π οΈ
Options:
-h, --help - Show this help.
Commands:
init - π Initialize a new validator configuration
deploy - π¦ Deploy Validators
list - π List validators
set:identity - πͺͺ Set Validator Identity
set:unstaked - π΄ Set Validator Identity to Unstaked Key
setup:firedancer - π₯ Setup/Update Firedancer Validator
update:firedancer - π Update Firedancer Version
build:solana-cli - π οΈ Build Solana CLI from Source
install:solana - β‘οΈ Install Solana CLI Binary
update:script - βοΈ Update Validator Startup Config
update:jinja - π§© Update Jinja Template
start - π’ Start Validator
stop - π΄ Stop Validator
restart - β»οΈ Restart Validator
cleanup - π§Ή Cleanup Validator - Remove Ledger/Snapshot Unnecessary Files
get:snapshot - πΎ Download Snapshot with aria2c
gen:vote-account - π³οΈ Generate Vote Account
switch - π Switch Validator Identity - No DownTime Migrationslv validator --help
Usage: slv validator
Version: 0.9.700
Description:
π οΈ Manage Solana Validator Nodes π οΈ
Options:
-h, --help - Show this help.
Commands:
init - π Initialize a new validator configuration
deploy - π¦ Deploy Validators
list - π List validators
set:identity - πͺͺ Set Validator Identity
set:unstaked - π΄ Set Validator Identity to Unstaked Key
setup:firedancer - π₯ Setup/Update Firedancer Validator
update:firedancer - π Update Firedancer Version
build:solana-cli - π οΈ Build Solana CLI from Source
install:solana - β‘οΈ Install Solana CLI Binary
update:script - βοΈ Update Validator Startup Config
update:jinja - π§© Update Jinja Template
start - π’ Start Validator
stop - π΄ Stop Validator
restart - β»οΈ Restart Validator
cleanup - π§Ή Cleanup Validator - Remove Ledger/Snapshot Unnecessary Files
get:snapshot - πΎ Download Snapshot with aria2c
gen:vote-account - π³οΈ Generate Vote Account
switch - π Switch Validator Identity - No DownTime Migration