Модель выполнения
Жизненный цикл транзакции
1. Пользователь подписывает транзакцию EVM (MetaMask / ethers.js)
↓
2. Rome Proxy получает её через eth_sendRawTransaction
↓
3. Proxy эмулирует транзакцию вне цепи (эмулятор Mollusk SVM)
→ Оценивает gas, проверяет атомарность, определяет необходимые аккаунты
↓
4. Proxy оборачивает EVM-транзакцию как инструкцию(и) Solana
→ Если tx помещается в одну Solana-транзакцию → Atomic (VmAt)
→ Если tx превышает бюджет CU → Iterative (VmIt)
↓
5. Валидатор Solana выполняет инструкцию(и)
→ Программа Rome EVM интерпретирует байткод EVM
→ Вызовы CPI к другим программам Solana (если есть)
↓
6. Изменения состояния фиксируются в аккаунтах Solana
↓
7. Hercules индексирует событие → формирует блок EVMАтомарное выполнение (VmAt)
Итеративное выполнение (VmIt)
Эмуляция
Сопоставление аккаунтов
Тип
Сиды
Назначение
Аккаунты-держатели
Поддерживаемые типы транзакций
Тип
EIP
Описание
Журналируемое состояние
Что дальше
Последнее обновление
Это было полезно?