For the complete documentation index, see llms.txt. This page is also available as Markdown.

Konsep Kunci

Terminologi dan konsep penting untuk membangun di atas Rome Protocol.

Konsep Solana

Program โ€” Padanan smart contract milik Solana. Program adalah executable tanpa state yang di-deploy on-chain. Rome EVM itu sendiri adalah program Solana.

Akun โ€” Semua state di Solana berada di dalam akun. Setiap akun memiliki pemilik (program), saldo (lamports), dan data. Tidak seperti Ethereum, kode dan state disimpan di akun yang terpisah.

PDA (Program Derived Address) โ€” Alamat deterministik yang diturunkan dari seed dan ID program. 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.

Token SPL โ€” Program token standar Solana. Padanan ERC-20 di Ethereum. Semua token yang dapat dipertukarkan 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.

Hook Transfer โ€” Ekstensi Token-2022 yang memanggil program pada setiap transfer token. Rome memungkinkan smart contract EVM bertindak sebagai hook transfer.

ATA (Associated Token Account) โ€” Akun token deterministik untuk pasangan wallet + mint tertentu. Setiap pengguna memiliki satu ATA per token yang mereka pegang.

Lamports โ€” Unit terkecil SOL. 1 SOL = 1.000.000.000 lamports (10^9).

Unit Komputasi (CU) โ€” Padanan gas Ethereum di Solana. Setiap transaksi memiliki anggaran komputasi (default sekitar 200K CU, maksimum sekitar 1,4M CU). Operasi mengonsumsi CU.

Konsep Rome

Program Rome EVM โ€” Program Solana yang berisi interpreter bytecode EVM. Di-deploy pada ID program tertentu per lingkungan.

ID Rantai โ€” Setiap aplikasi di Rome mendapatkan chain ID EVM-nya sendiri. Ini menciptakan lingkungan EVM terisolasi yang berbagi state Solana yang sama di bawahnya.

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 sekitar 500 opcode per langkah. Digunakan untuk operasi yang intensif komputasi seperti pairing BN254.

Akun Holder โ€” Buffer on-chain yang menyimpan transaksi EVM 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 yang diserialisasi di antara langkah-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 โ€” Pengindeks blok yang memantau event Rome EVM di Solana dan menghasilkan data blok yang kompatibel dengan Ethereum.

Rhea โ€” Jembatan mempool yang meneruskan transaksi dari OP-Geth ke Solana (hanya digunakan dalam mode OP-Geth).

Payer โ€” Sepasang kunci Solana yang menandatangani dan membayar transaksi Solana atas nama pengguna EVM. Dikelola oleh Proxy melalui kumpulan payer.

Konsep Token

ERC20SPL โ€” Kontrak pembungkus ERC-20 yang merepresentasikan token SPL di dalam Rome EVM. Pembungkus membaca saldo langsung dari akun token SPL yang mendasarinya โ€” tanpa state terpisah.

ERC20SPLFactory โ€” Kontrak factory yang men-deploy pembungkus ERC20SPL untuk token SPL apa pun pada bridge pertama.

Registry Token Kanonis โ€” Memetakan setiap aset ke satu mint SPL kanonis 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).

Precompile Program Sistem (0xFF...07) โ€” derivasi PDA, konversi base58, pembuatan akun dari Solidity.

Precompile CPI (0xFF...08) โ€” pemanggilan lintas-program dari Solidity. Panggil program Solana mana pun dengan invoke() atau invoke_signed().

Precompile Penarikan (0x42...16) โ€” tarik SOL atau token SPL dari EVM kembali ke Solana.

Jenis Transaksi

RheaTx โ€” Satu transaksi EVM pada satu rollup. Jenis yang paling umum.

RemusTx โ€” Beberapa transaksi EVM di berbagai rollup, dieksekusi secara atomik. Jika ada satu transaksi yang gagal, semuanya di-revert.

RomulusTx โ€” Transaksi EVM gabungan + instruksi Solana native 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. Penyiapan lebih sederhana, latensi lebih rendah. Blok EVM dihasilkan oleh Hercules dan disimpan di PostgreSQL.

Mode OP-Geth โ€” Pengguna terhubung ke OP-Geth untuk kompatibilitas RPC Ethereum penuh. Rhea menjembatani mempool ke Solana. Hercules memasok blok ke OP-Geth melalui Engine API.

Apa Selanjutnya

Terakhir diperbarui

Apakah ini membantu?