Solana Mainnet RPC - Panduan Cepat

Pendahuluan

Untuk men-deploy RPC mainnet Solana, Anda akan menggunakan alat baris perintah SLV. Panduan cepat ini menjelaskan cara menggunakan alat baris perintah SLV untuk men-deploy RPC mainnet Solana dengan plugin Geyser Yellowstone.
Ubuntu 24.04 LTS harus sudah terpasang dengan instalasi bersih di server Anda.

Menyiapkan Server Bare Metal

Meskipun klien Solana dapat dijalankan di VPS atau mesin virtual (VM), mencapai performa optimal dan operasi yang stabil tidaklah mudah. Node RPC dan validator khususnya beroperasi dalam kondisi beban tinggi, sehingga sangat penting untuk menyiapkan lingkungan server yang sesuai.
Solana secara resmi merekomendasikan penggunaan server baremetal.
Node RPC sangat bervariasi tergantung pada beban kerjanya.
Standard RPC (SendTx / Geyser gRPC) dan Index RPC (pengindeksan penuh) berbeda secara signifikan, terutama dalam kebutuhan memori dan penyimpanan.
Kebutuhan perangkat keras RPC (pedoman)
KomponenNode RPCIndex RPC (referensi)
CPU24 core+ @ 2.8GHz+ / AMD Gen3+ / Intel Ice Lake+ / ekstensi SHA / AVX232 core+ (clock tinggi direkomendasikan)
RAM512GB+1152GB+
DiskNVMe Gen3 x4 atau lebih baik / pemisahan Accounts / Ledger / Snapshots direkomendasikanKapasitas lebih besar + TBW tinggi / pemisahan direkomendasikan
Jaringan1Gbps atau lebih tinggi1Gbps atau lebih tinggi (bandwidth lebih besar lebih baik)
GPUTidak diperlukanTidak diperlukan
Catatan:
Kecepatan clock dan throughput efektif dianggap lebih penting daripada jumlah core.
Index RPC dapat terhambat oleh memori dan penyimpanan, jadi pastikan kapasitasnya cukup dan IOPS-nya tinggi.
Jika pengindeksan diperlukan, kami merekomendasikan 768GB atau lebih, dan 1152GB atau lebih untuk operasi yang stabil.
SLV Metal menyediakan server baremetal yang dirancang untuk memberikan performa tertinggi sesuai anggaran Anda.
Saat menjalankan perintah slv metal list, Anda dapat menemukan opsi RPC yang dirancang khusus untuk node RPC Solana.
bash
slv metal list
? πŸ›‘οΈ Select SLV BareMetal Type (APP)
  πŸ“¦ APP - For Trade Bot,Testnet Validator, DApp and More!
  πŸš€ MV - For Solana Mainnet Validator
❯ πŸ›‘οΈβš‘οΈ RPC - For Solana RPC Node
Jika Anda belum menyiapkan server baremetal, silakan ikuti Panduan Penyiapan Server Baremetal.
Selain itu, lihat juga sumber berikut:

Deploy Node RPC Solana

Pertama, inisialisasi konfigurasi RPC Solana. Silakan pilih jaringan Solana yang Anda inginkan.
bash
slv rpc init
? Select Solana Network (mainnet)
  testnet
  devnet
❯ mainnet
Selanjutnya, konfirmasikan apakah Anda memiliki server yang kompatibel dengan node Solana.
bash
? πŸ›‘οΈ Do you have a Solana Node Compatible Server? (yes)
❯ yes
  no
Tutorial ini mengasumsikan Anda memilih yes.

Atur Pengguna Server dan Alamat IP

Atur pengguna server, alamat IP, dan path kunci RSA.
bash
? What's the user for the server? (root) β€Ί root
? Enter the server IP address β€Ί x.x.x.x
? What's the path to your RSA key? (~/.ssh/id_rsa)

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
πŸ” Checking SSH connection...
βœ”οΈŽ SSH connection succeeded

πŸ“ Measuring latencies from x.x.x.x to mainnet regions...
  Pinging Amsterdam (amsterdam.mainnet.block-engine.jito.wtf)...
  Pinging Dublin (dublin.mainnet.block-engine.jito.wtf)...
  Pinging Frankfurt (frankfurt.mainnet.block-engine.jito.wtf)...
  Pinging London (london.mainnet.block-engine.jito.wtf)...
  Pinging New York (ny.mainnet.block-engine.jito.wtf)...
  Pinging Salt Lake City (slc.mainnet.block-engine.jito.wtf)...
  Pinging Singapore (singapore.mainnet.block-engine.jito.wtf)...
  Pinging Tokyo (tokyo.mainnet.block-engine.jito.wtf)...
  βœ… Singapore: 0.291 ms
  βœ… London: 154.071 ms
  βœ… Dublin: 167.267 ms
  βœ… Frankfurt: 149.081 ms
  βœ… Amsterdam: 154.501 ms
  βœ… New York: 228.624 ms
  βœ… Salt Lake City: 278.016 ms
  βœ… Tokyo: 376.816 ms

🎯 Nearest region: πŸ‡ΈπŸ‡¬ Singapore
   Latency: 0.291 ms
   Block Engine: https://singapore.mainnet.block-engine.jito.wtf
   Shred Receiver: 202.8.11.224:1002
   Relayer: http://singapore.mainnet.relayer.jito.wtf:8100
   NTP Server: ntp.singapore.jito.wtf

Buat Keypair Identity

Jika Anda belum memiliki keypair identity, Anda dapat membuat yang baru.
bash
? Do you want to create a new identity key now? (Y/n) β€Ί Yes
πŸ”‘ Generating new identity key...
✨ Generated Key: p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
✨ Moved Key to: ~/.slv/keys/p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV.json

Pilih Solana CLI

Pilih versi Solana CLI.
bash
? Select Solana CLI (jito)
  agave
❯ jito
  firedancer-agave
  firedancer-jito

Pilih Jenis RPC

Pilih jenis RPC.
bash
? Select an RPC type
❯ Geyser gRPC
  Index RPC
  SendTx RPC
  Index RPC + gRPC
Dalam tutorial ini, kita memilih Geyser gRPC.

Konfirmasi Konfigurasi

Terakhir, konfirmasikan konfigurasi.
bash
βœ”οΈŽ Success
βœ” Inventory updated to ~/.slv/inventory.mainnet.rpcs.yml
βœ” Successfully created solv user on p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
βœ”οΈŽ mainnet_rpcs inventory file has been saved to ~/.slv/inventory.mainnet.rpcs.yml
Now you can deploy with:

$ slv rpc deploy -n mainnet -p p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
Setelah itu, pengguna solv dibuat di server bare metal, dan konfigurasi RPC Solana disimpan ke ~/.slv/inventory.mainnet.rpcs.yml.

Deploy Node RPC Solana

Setelah Anda mengonfirmasi konfigurasi, deployment akan dimulai.
bash
slv rpc deploy -n mainnet -p p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
bash
Your mainnet RPC Nodes Settings:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Identity Key β”‚ p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Name         β”‚ p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ IP           β”‚ x.x.x.x.                                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Region       β”‚ singapore                                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ RPC Type     β”‚ Geyser gRPC                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Version      β”‚ 3.0.7-jito                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
.
.
.
Successfully Deployed RPC on mainnet

You can monitor your Node with the following steps:

Log in to your server with SSH:
ssh [email protected]

Then, run the following command to monitor your node:
$ solv m
Selesai! Node RPC Solana Anda kini sudah di-deploy. Proses sinkronisasi dengan jaringan Solana akan memakan waktu.

Debugging & Pemantauan

Setelah deploy, Anda dapat memeriksa status node RPC Solana dengan perintah berikut:
bash
ssh solv@<your-server-ip>
solv m
solv adalah alias untuk agave-validator -l /mnt/ledger. Pengaturan ini ditambahkan ke ~/.profile saat deployment node RPC.

Perintah RPC SLV

bash
Usage:   slv rpc
Version: 0.9.700

Description:

  πŸ› οΈ Manage Solana RPC Nodes πŸ› οΈ

Options:

  -h, --help  - Show this help.

Commands:

  init                - πŸš€ Initialize a new RPC node configuration
  deploy              - πŸ“¦ Deploy RPC Nodes
  list                - πŸ“‹ List RPC Nodes
  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 RPC Startup Config
  update:geyser       - ⚑️ Update Geyser Version
  start               - 🟒 Start RPC
  stop                - πŸ”΄ Stop RPC
  restart             - ♻️ Restart RPC
  cleanup             - 🧹 Cleanup RPC - Remove Ledger/Snapshot Unnecessary Files
  get:snapshot        - πŸ’Ύ Download Snapshot with aria2c
  update:allowed-ips  - πŸ›‘οΈ Update allowed IPs for mainnet RPC nodes