Tadi malam aku membaca halaman alamat kontrak resmi dari awal sampai akhir. Di belakang setiap kontrak ada nomor versinya, dan rencana untuk jaringan uji Sepolia serta jaringan utama dipisahkan menjadi 2 baris. Halaman itu singkat, tapi informasinya tidak sedikit, dan alamatnya sendiri adalah bukti: aset pengujian dan aset asli dipisahkan sejak dari pintu masuk.
Tiga komponen—Vault Registry, ProtocolParams, dan adapter—masing-masing menggantung tiga kelompok penanda: versi Vault Core, versi parameter off-chain, dan versi kumpulan partisipan. Pada awalnya aku tidak terlalu memperhatikan angka-angka itu; kupikir nomor versi adalah urusan pengembang. @BabylonLabs_io
Lalu ketika aku membaca penjelasan dua lingkungan itu berdampingan, barulah aku mengerti apa yang sebenarnya mereka kunci: saat pendaftaran vault dilakukan, mengikuti aturan pengikatan berdasarkan versi. Satu vault, sejak dibuat, sudah “terkunci” pada parameter dari waktu itu; upgrade berikutnya tidak bisa mengubah aturan awal secara diam-diam.
Biasanya setelah nomor versi akan ada tanggal dan catatan deployment. Sebelum dan sesudah upgrade bisa dibandingkan satu per satu perbedaannya. Parameter deployment pada 2 lingkungan—jaringan uji dan jaringan utama—masing-masing punya nilai sendiri. Inilah alasan bidang versi harus dicatat terpisah. Penguncian versi membawa satu masalah nyata: alur yang sudah diverifikasi di jaringan uji, ketika dipindahkan ke alamat jaringan utama tidak bisa langsung ditiru begitu saja, melainkan harus menjalani proses deployment dan verifikasi ulang.
Pihak resmi mencantumkan dua set lingkungan secara terpisah. Itu sendiri adalah peringatan: di lingkungan aset, setiap deployment adalah batas kepercayaan yang berdiri sendiri. Perilaku kontrak yang sudah diverifikasi di jaringan uji hanya dapat membuktikan kontrak di jaringan uji itu. $BABY
Dulu aku selalu mengira kalau cukup menjalankan yang di jaringan uji lalu langsung beralih ke jaringan utama. Setelah membaca ulang, barulah terlihat bahwa nilai label lingkungan dan nomor versi di halaman alamat tidak kalah dengan dokumentasi fungsional. Intinya: saat membaca materi TBV, pertama pastikan itu membahas lingkungan yang mana, lalu lihat nomor versinya, dan baru kemudian baca deskripsi fungsinya.
Di antara alamat jaringan uji dan alamat jaringan utama, yang berada di sela-selanya adalah seluruh rangkaian deployment dan verifikasi—bukan sesuatu yang bisa beres hanya dengan sekali klik. Di ekosistem, isolasi lingkungan adalah desain, bukan kelalaian.
Kembali ke halaman alamat tadi malam itu: dua baris alamat adalah dua dunia. Label lingkungan dan nomor versi, jauh lebih layak dibaca lebih dulu daripada deskripsi fungsi. #baby