Konsep Utama
Terminologi dan konsep esensial untuk membangun di atas Rome Protocol.
Konsep Solana
Program โ Setara dengan smart contract di Solana. Program adalah executable stateless yang di-deploy on-chain. Rome EVM sendiri adalah sebuah program Solana.
Akun โ Semua state di Solana berada dalam akun. Setiap akun memiliki pemilik (program), saldo (lamports), dan data. Berbeda dengan Ethereum, kode dan state disimpan dalam akun yang terpisah.
PDA (Program Derived Address) โ Alamat deterministik yang diturunkan dari seed dan program ID. PDA memungkinkan program untuk "memiliki" akun tanpa private key. Rome menggunakan PDA untuk memetakan alamat Ethereum ke akun Solana.
CPI (Cross-Program Invocation) โ Satu program Solana memanggil program lain dalam transaksi yang sama. Inilah cara kontrak Rome EVM berinteraksi dengan Jupiter, Kamino, SPL Token, dan program Solana lainnya.
SPL Token โ Program token standar Solana. Setara dengan ERC-20 di Ethereum. Semua token fungible di Solana (USDC, SOL, dll.) adalah token SPL.
Token-2022 โ Program token SPL generasi berikutnya dengan ekstensi seperti Transfer Hooks, Confidential Transfers, dan Permanent Delegates.
Transfer Hook โ Ekstensi Token-2022 yang memanggil program pada setiap transfer token. Rome memungkinkan smart contract EVM bertindak sebagai transfer hook.
ATA (Associated Token Account) โ Akun token deterministik untuk pasangan wallet + mint tertentu. Setiap pengguna memiliki satu ATA per token yang mereka miliki.
Lamports โ Satuan terkecil dari SOL. 1 SOL = 1.000.000.000 lamport (10^9).
Compute Units (CU) โ Setara dengan gas Ethereum di Solana. Setiap transaksi memiliki budget komputasi (default ~200K CU, maks ~1.4M CU). Operasi mengonsumsi CU.
Konsep Rome
Program Rome EVM โ Program Solana yang berisi interpreter bytecode EVM. Di-deploy pada program ID tertentu per lingkungan.
Chain ID โ Setiap aplikasi di Rome mendapatkan chain ID EVM-nya sendiri. Ini menciptakan lingkungan EVM terisolasi yang berbagi state Solana yang mendasarinya.
Eksekusi Atomik (VmAt) โ Transaksi EVM yang dieksekusi sepenuhnya dalam satu transaksi Solana. Digunakan untuk sebagian besar operasi.
Eksekusi Iteratif (VmIt) โ Transaksi EVM yang dibagi ke beberapa transaksi Solana, mengeksekusi ~500 opcode per langkah. Digunakan untuk operasi intensif komputasi seperti pairing BN254.
Akun Holder โ Buffer on-chain yang menyimpan transaksi EVM berukuran besar (hingga 80 KB) yang melebihi batas ukuran transaksi Solana 1.232 byte. Dikelola secara transparan oleh SDK.
StateHolder โ Akun on-chain yang menyimpan state VM terserialisasi di antara langkah eksekusi iteratif.
Rome Proxy โ Server JSON-RPC (port 9090) yang menerjemahkan panggilan API Ethereum menjadi transaksi Solana. MetaMask dan Hardhat Anda terhubung di sini.
Hercules โ Block indexer yang memantau event Rome EVM di Solana dan menghasilkan data blok yang kompatibel dengan Ethereum.
Rhea โ Bridge mempool yang meneruskan transaksi dari OP-Geth ke Solana (digunakan hanya dalam mode OP-Geth).
Pembayar โ Keypair Solana yang menandatangani dan membayar transaksi Solana atas nama pengguna EVM. Dikelola oleh Proxy melalui pool payer.
Konsep Token
ERC20SPL โ Kontrak pembungkus ERC-20 yang merepresentasikan token SPL di dalam Rome EVM. Wrapper membaca saldo langsung dari akun token SPL yang mendasarinya โ tanpa state terpisah.
ERC20SPLFactory โ Kontrak factory yang mendeploy wrapper ERC20SPL untuk token SPL apa pun pada bridge pertama.
Registri Token Kanonik โ Memetakan setiap aset ke satu mint SPL kanonik untuk mencegah representasi yang terfragmentasi (misalnya, USDC selalu dipetakan ke mint SPL native Circle).
Precompile
Precompile Ethereum Standar โ ecrecover (0x01), SHA-256 (0x02), RIPEMD-160 (0x03), identity (0x04), BN254 ecAdd/ecMul/ecPairing (0x06-0x08), Blake2f (0x09).
System Program Precompile (0xFF...07) โ derivasi PDA, konversi base58, pembuatan akun dari Solidity.
CPI Precompile (0xFF...08) โ invocation lintas program dari Solidity. Panggil program Solana apa pun dengan invoke() atau invoke_signed().
Withdraw Precompile (0x42...16) โ tarik SOL atau token SPL kembali dari EVM ke Solana.
Tipe Transaksi
RheaTx โ Satu transaksi EVM pada satu rollup. Jenis yang paling umum.
RemusTx โ Beberapa transaksi EVM di berbagai rollup, dieksekusi secara atomik. Jika satu transaksi gagal, semuanya di-revert.
RomulusTx โ Gabungan transaksi EVM + instruksi native Solana dalam satu operasi atomik. Jenis yang paling kuat โ gabungkan Solidity dan Solana dalam satu transaksi.
Mode Deployment
Mode Single-State โ Pengguna terhubung langsung ke Rome Proxy. Setup lebih sederhana, latensi lebih rendah. Blok EVM diproduksi oleh Hercules dan disimpan di PostgreSQL.
Mode OP-Geth โ Pengguna terhubung ke OP-Geth untuk kompatibilitas penuh dengan RPC Ethereum. Rhea menjembatani mempool ke Solana. Hercules memasok blok ke OP-Geth melalui Engine API.
Berikutnya
Model Eksekusi โ pendalaman cara transaksi EVM dieksekusi di Solana
Interoperabilitas Token โ bagaimana token ERC-20 dan SPL saling berinteraksi
Batasan โ batasan dan ambang penting
Terakhir diperbarui
Apakah ini membantu?