Solana Stream SDK Kini Sepenuhnya Mendukung Peningkatan Solana v3

Solana Stream SDK Kini Sepenuhnya Mendukung Peningkatan Solana v3

Solana Stream SDK Kini Sepenuhnya Mendukung Peningkatan Solana v3
ELSOUL LABO B.V. (Kantor pusat: Amsterdam, Belanda; CEO: Fumitake Kawasaki) dan Validators DAO telah merilis versi baru Solana Stream SDK sumber terbuka, sekarang sepenuhnya diperbarui untuk mendukung upgrade Solana v3. Baik edisi Rust maupun TypeScript telah diperbarui untuk memastikan akses yang andal dan berperforma tinggi ke aliran data waktu nyata Solana, termasuk Shreds dan Geyser gRPC, di era Alpenglow mendatang.
Crate Rust solana-stream-sdk sekarang mendukung Solana v3 dengan versi 0.6.1, sementara paket TypeScript / Node.js @validators-dao/solana-stream-sdk telah diperbarui ke versi 0.12.0. Bersama-sama mereka menyediakan fondasi terpadu untuk pemrosesan stream berperforma tinggi saat Solana beralih ke arsitektur generasi berikutnya.

Latar Belakang: Mengapa Solana v3 dan Alpenglow Memerlukan Pembaruan di Sisi Klien

Solana v3 menandai transisi besar menuju arsitektur konsensus Alpenglow baru. Alpenglow menggantikan kombinasi TowerBFT + Proof of History yang ada dengan jalur konsensus baru yang dirancang untuk meningkatkan responsivitas jaringan secara dramatis. Di bawah Alpenglow, waktu finalisasi diperkirakan akan berkurang dari sekitar 12 detik saat ini menjadi sekitar 100–150 milidetik. Pergeseran ini secara mendasar mengubah kecepatan produksi blok dan karakteristik propagasi data waktu nyata di seluruh jaringan.
Pada saat yang sama, validator dan operator RPC menghadapi peningkatan tuntutan operasional di bawah v3, dengan siklus build dan pembaruan konfigurasi yang lebih sering. Validators DAO telah memodernisasi lingkungan sisi server melalui tool seperti SLV, tetapi transisi ini juga menyoroti titik kritis:
Perangkat lunak klien juga harus diperbarui ke v3. Jika tidak, peningkatan performa jaringan tidak dapat diwujudkan sepenuhnya.
Hal ini terutama berlaku untuk aliran waktu nyata seperti Shreds dan Geyser gRPC. Klien yang tidak mengikuti spesifikasi baru atau karakteristik runtime cenderung mengalami akumulasi latensi atau kehilangan konsistensi dari waktu ke waktu. Seiring node RPC dan validator beralih ke v3, perangkat lunak klien kini harus bermigrasi secara paralel.
Tujuan dari pembaruan Solana Stream SDK ini adalah untuk menjembatani kesenjangan itu dan menyediakan fondasi siap pakai untuk aplikasi waktu nyata di era Alpenglow.

Apa yang Baru di Solana Stream SDK v0.6.1 (Rust) dan v0.12.0 (TypeScript)

Solana Stream SDK telah dirancang sejak awal untuk mendukung Shreds dan Geyser gRPC. Dalam rilis ini, SDK telah diperbarui dengan beberapa perbaikan untuk memastikan performa yang stabil pada Solana v3 dan kesiapan untuk runtime berbasis Alpenglow.

Rust Crate v0.6.1

Edisi Rust dirancang sebagai implementasi referensi performa tinggi untuk trader, indexer, dan beban kerja waktu nyata yang membutuhkan throughput maksimum. Pembaruan utama meliputi:
  • Dukungan untuk perubahan protokol dalam seri Solana v3
  • Pemrosesan aliran Shreds dan Geyser gRPC secara efisien melalui runtime asinkron Rust
  • Wrapper yang disempurnakan untuk definisi protobuf terkait Shreds, membuat logika pemrosesan aliran lebih mudah untuk diterapkan
  • Jalur eksekusi multi-threaded yang dioptimalkan untuk meminimalkan akumulasi latensi bahkan di bawah throughput tinggi yang berkelanjutan
Edisi Rust direkomendasikan untuk pengguna yang perlu sepenuhnya memanfaatkan Shreds dan Geyser gRPC pada tingkat performa tertinggi.

TypeScript / Node.js v0.12.0

Edisi TypeScript dirancang untuk menjaga ergonomi pengembangan Node.js sambil menggabungkan pemrosesan stream yang didukung Rust di balik layar. Dalam v0.12.0, perbaikan berikut telah diterapkan:
  • Antarmuka event-driven yang ada tetap dipertahankan sepenuhnya (seperti emitter.on) untuk menghindari breaking change
  • Integrasi Rust dan NAPI-RS untuk pemrosesan stream internal, memungkinkan Node.js untuk memproses Shreds dengan andal ketika @grpc/grpc-js sebelumnya mencapai batasnya
  • Penanganan yang diperbarui untuk aliran Geyser gRPC dan Shreds untuk memastikan kompatibilitas dengan Solana v3
Bagi sebagian besar pengguna, upgrade ke v0.12.0 cukup dilakukan dengan memperbarui versi di package.json—tidak diperlukan perubahan kode.

Mengapa Node.js Saja Tidak Dapat Mengimbangi Shreds

ShredStream adalah sumber data frekuensi tertinggi dan latensi terendah di ekosistem Solana. Shreds memberikan visibilitas waktu nyata yang tak tertandingi terhadap aktivitas jaringan, tetapi juga menuntut throughput pemrosesan yang sangat tinggi dari klien.
Klien Node.js yang dibangun pada @grpc/grpc-js menghadapi bottleneck struktural:
  • Event loop adalah single-threaded, jadi deserialisasi protobuf dan callback pengguna memblokir satu sama lain
  • Ketika pesan tiba dengan cepat, thread JavaScript menjadi jenuh dan antrean pemrosesan terbentuk
  • Flow control HTTP/2 memperkecil receive window ketika buffer terisi, akhirnya menghentikan aliran dan menyebabkan jaringan seolah melambat atau tidak ada data
Dalam banyak kasus yang diamati, masalahnya bukan jaringan atau server ShredStream; penyebabnya adalah klien Node.js yang tertinggal secara internal.
Keterbatasan ini melekat pada Node.js ketika menangani Shreds tanpa filter dalam skala besar.
Rust + NAPI-RS mengatasi keterbatasan tersebut.

Bagaimana Rust + NAPI-RS Mempercepat Pemrosesan Stream di Node.js

Edisi TypeScript dari Solana Stream SDK memindahkan pekerjaan berat ke Rust sambil mempertahankan API JavaScript yang familier.
  • Manajemen koneksi gRPC, penerimaan stream, dan deserialisasi protobuf dijalankan secara asinkron dalam Rust
  • Node.js menerima data yang telah diproses melalui stream atau event emitter standar, memungkinkan kode yang ada untuk terus bekerja seperti sebelumnya
  • NAPI-RS meminimalkan overhead antara Rust dan Node.js, memungkinkan throughput multithreaded yang sesungguhnya di balik antarmuka JavaScript
Akibatnya, aplikasi yang ditulis dengan Solana Stream SDK dapat menangani throughput Shred dan Geyser gRPC yang jauh lebih besar dibandingkan dengan pendekatan Node.js saja menggunakan @grpc/grpc-js, sambil mempertahankan karakteristik latensi yang stabil bahkan di bawah lalu lintas yang berat.

Mengapa Dukungan Shreds dan Geyser gRPC dalam Satu SDK Penting

Data waktu nyata Solana dapat dilihat dalam dua lapisan yang saling melengkapi:
  • Shreds:<br> Fragmen berlatensi sangat rendah yang dipancarkan langsung dari pemimpin, menawarkan visibilitas sedini mungkin tentang aktivitas rantai
  • Geyser gRPC:<br> Stream terstruktur untuk slot, transaksi, dan pembaruan akun, menyediakan model data yang bersih dan dapat diprediksi
Solana Stream SDK memungkinkan pengembang untuk mulai dengan Geyser gRPC untuk memahami struktur data, kemudian beralih ke Shreds untuk skenario latensi sangat rendah—tanpa mengganti tool atau menulis ulang pipeline.
Karena Alpenglow mempercepat produksi blok dan konfirmasi, pendekatan dua lapisan ini menjadi lebih berharga.

Memulai: Sumber Daya dan Lingkungan Pengujian

Solana Stream SDK sepenuhnya open source, dan kode sampel untuk Shreds dan Geyser gRPC tersedia di GitHub.
Untuk pengujian dunia nyata, ERPC menawarkan uji coba gratis satu hari untuk endpoint ShredStream dan Geyser gRPC berperforma tinggi, memungkinkan pengembang untuk memvalidasi perilaku v3 dalam kondisi kelas produksi.
Situs web resmi ERPC: https://erpc.global/id

Bergabung dengan Komunitas Validators DAO

Pertanyaan, umpan balik, dan diskusi tentang Solana v3, Alpenglow, desain aliran waktu nyata, atau perbaikan SDK sangat kami nantikan di komunitas Validators DAO.
Discord resmi Validators DAO: https://discord.gg/C7ZQSrCkYR
Saat Solana beralih ke era Alpenglow, jaringan Solana akan mencapai tingkat performa waktu nyata yang belum pernah terjadi sebelumnya. Validators DAO dan ELSOUL LABO akan terus menyediakan tool sumber terbuka berkualitas tinggi untuk membantu pengembang membangun aplikasi waktu nyata generasi berikutnya di Solana.
Terima kasih atas dukungan yang terus diberikan.