Rome SDK
Antarmuka Solidity bertipe untuk memanggil program Solana dari kontrak EVM, plus SDK Rust di balik layanan off-chain Rome.
SDK Rome menyediakan antarmuka Solidity bertipe untuk berinteraksi dengan program Solana dari smart contract EVM. Ini adalah toolkit pengembang untuk membangun aplikasi lintas runtime di Rome.
SDK
Rome memiliki SDK untuk tiga audiens — pembangun aplikasi (TypeScript), pengembang kontrak (Solidity), dan operator infrastruktur (Rust).
SDK TypeScript (@rome-protocol/sdk)
Untuk pengembang dapp dan frontend — SDK yang paling sering dipakai oleh pembuat aplikasi sebagai titik awal. @rome-protocol/sdk membungkus jalur penulisan Rome agar aplikasi web mengirim transaksi Rome dengan benar: submitRomeTx (jalur penulisan yang benar plus penanganan gas/biaya), derivasi PDA / ATA, CPI invoke / invoke_signed encoder, binding precompile, dan sebuah /bridge subpath. Instal dari repo terlebih dahulu (npm publish menunggu):
npm install github:rome-protocol/rome-sdk-ts#v0.2.1import { submitRomeTx } from '@rome-protocol/sdk';
// Kirim penulisan EVM Rome apa pun melalui jalur penulisan yang benar (menangani encoding gas/biaya).Aplikasi referensi publik — rome-dex dan cardo — menggunakan SDK ini.
Dua jalur, satu SDK. submitRomeTx adalah jalur EVM (MetaMask). Untuk jalur Solana — dompet Phantom/Solana yang menjalankan aplikasi EVM Anda — submitRomeTxSolanaLane menirunya: pengguna menandatangani transaksi Solana dan Rome menjalankannya sebagai transaksi EVM dari identitas turunan mereka, tanpa kunci EVM. Nilai berpindah masuk dan keluar melalui buildFundLeg / buildSweepLeg sebagai wrapper ERC-20 (mis. wUSDC), bukan native msg.value — pengirim sintetis tidak menyimpan apa pun saat diam — dan sintetis pertama kali disediakan otomatis pada penggunaan pertama. Lihat Bangun aplikasi dua jalur dan Panggil EVM dari Solana.
SDK Solidity (@rome-protocol/rome-solidity)
Untuk pengembang Solidity. Menyediakan antarmuka precompile, wrapper ERC-20/SPL, derivasi PDA, dan utilitas CPI. Publish npm masih menunggu; saat ini Anda menggunakan ini dari rome-solidity repo publik (dependensi git atau file yang disalin).
import {ISystemProgram, ICrossProgramInvocation, IHelperProgram, IWithdraw}
from "@rome-protocol/rome-solidity/contracts/interface.sol";
import {SPL_ERC20} from "@rome-protocol/rome-solidity/contracts/erc20spl/erc20spl.sol";
import {RomeEVMAccount} from "@rome-protocol/rome-solidity/contracts/rome_evm_account.sol";SDK Rust (rome-sdk)
Untuk operator infrastruktur. Workspace Rust yang menangani penyusunan transaksi, interaksi Solana, penentuan harga gas, dan pengindeksan blok. Digunakan oleh Proxy dan Hercules.
SDK Solidity: Apa Saja yang Termasuk
Antarmuka Precompile
Hubungkan sebuah antarmuka ke alamat precompile-nya:
Operasi Token SPL
Gunakan IHelperProgram (0xff…09) untuk primitif SPL yang ditandatangani user-PDA:
Pada jalur cache, operasi yang setara ada di ISplCached (0xff…05) dan IAssociatedSplCached (0xff…06). Lihat interface.sol untuk semua overload; sebuah kontrak menggunakan satu jalur secara konsisten.
Derivasi PDA
Cross-Program Invocation
ERC-20 di atas Token SPL
Deserialisasi Borsh
Metadata Metaplex
Arsitektur SDK Rust
SDK Rust adalah workspace Cargo. Crate intinya:
rome-sdk
API Inti: Rome struct, config, tipe transaksi (RheaTx, RemusTx, RomulusTx)
rome-evm-client
klien rollup EVM, TxBuilder, ResourceFactory, integrasi emulator
rome-solana
tower Solana, klien RPC, batching dan pelacakan transaksi
rome-utils
utilitas RLP, hex, JSON-RPC, autentikasi
rome-obs
observabilitas OpenTelemetry (trace, metrik, log)
rome-meteora
adapter pool Meteora DEX AMM untuk penetapan harga gas
rome-jito-bundler
pembuat bundle Jito untuk pengiriman atomik multi-transaksi
Tipe Transaksi
Pooling Sumber Daya
SDK meng-pool keypair Solana (payer) dan indeks akun holder untuk pengiriman transaksi paralel:
Roadmap SDK
Sudah Dibangun dan Berfungsi
Wrapper token SPL dan antarmuka precompile
Swap Meteora DAMM v1 via CPI
Oracle Gateway V1 + V2 (Pyth Pull, Switchboard V3)
Helper System Program, deserialisasi Borsh
ERC20SPL Factory + kontrak bridge
Berikutnya
Deploy Solidity — deploy kontrak pertama Anda menggunakan SDK
Panggil Solana dari EVM — gunakan CPI untuk berinteraksi dengan program Solana
Alamat Kontrak — alamat kontrak SDK yang telah di-deploy
Terakhir diperbarui
Apakah ini membantu?