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

Быстрый старт

Разверните свой первый контракт Solidity в Rome менее чем за 5 минут.

Разверните свой первый контракт Solidity в Rome менее чем за 5 минут. Это руководство предназначено для Martius, публичной тестовой сети; те же шаги работают и на Hadrian (devnet), просто заменив значения сети.

Предварительные требования

  • Node.js v22.13+

  • MetaMask расширение браузера

  • Кошелек Solana (например, Phantom), настроенный на Devnet

1. Добавьте Martius в MetaMask

Добавьте его вручную (Настройки → Сети → Добавить сеть):

Поле
Значение

Имя сети

Rome Martius

URL RPC

https://martius.testnet.romeprotocol.xyz/

ID цепочки

121214

Символ валюты

USDC

Обозреватель блоков

https://via-martius.testnet.romeprotocol.xyz/

2. Пополните кошелек

Газ оплачивается токеном SPL gas token сети (USDC в Martius). Есть два способа получить его:

Из Solana — получите devnet SOL из Solana faucet (установите для кошелька Solana режим Devnet), затем откройте приложение Rome, подключите оба кошелька и оберните их в газовый токен.

Через мост — отчеканьте тестовый USDC в Ethereum Sepolia из крана Circle, затем перенесите его в Rome через Rome Bridge (CCTP). Для исходящей транзакции вам понадобится немного Sepolia ETH — см. Краны для каждого крана.

Сколько? Развертывания контрактов в Rome несут издержки на стороне аккаунтов Solana, поэтому оценки газа значительно выше, чем предполагает интуиция Ethereum — для быстрого старта контракт оценивается примерно в ~20M gas и обходится примерно в 0.2 USDC за развертывание, а кошельки заранее проверяют примерно вдвое большую оценку. Пополните как минимум 0.5 USDC на газ; 1 USDC оставит комфортный запас.

Если депозит на стороне Solana завершается с предупреждением «insufficient SOL», несмотря на пополненный кошелек, установите для своего кошелька Solana режим Testnet Mode / Devnet (см. Часто задаваемые вопросы).

3. Создайте проект Hardhat

Примите значения по умолчанию при появлении запроса — Hardhat 3, текущий каталог и шаблон TypeScript + Node Test Runner + viem — и дайте ему установить зависимости. В шаблон включен пример Counter контракта с тестами; они не мешают этому руководству.

4. Настройте Hardhat для Rome

Отредактируйте сгенерированный hardhat.config.ts и добавьте сети Rome внутри defineConfig({ ... }):

configVariable("PRIVATE_KEY") разрешается из окружения, поэтому экспортируйте свой приватный ключ MetaMask:

(Для всего, что кроме одноразового ключа, лучше использовать зашифрованное хранилище, поставляемое с toolbox: npx hardhat keystore set PRIVATE_KEY.)

5. Напишите контракт

Создайте contracts/HelloRome.sol:

6. Разверните

Создайте scripts/deploy.ts:

Развернуть в Martius:

Ожидаемый вывод (ваш адрес будет отличаться):

Откройте развернутый адрес в обозревателе чтобы увидеть инструкции Solana, лежащие за вашей транзакцией. Теперь ваш контракт Solidity работает в Solana.

Что дальше

Распространенные ошибки

Ошибка
Причина
Исправление

недостаточно средств

Недостаточно газового токена — кошельки заранее проверяют примерно 2× оценку газа

Пополните как минимум 0.5 USDC на газ (см. шаг 2) через приложение Rome или мост

слишком маленький nonce

Несоответствие nonce транзакции

Сбросьте учетную запись (MetaMask → Настройки → Дополнительно → Очистить активность)

выполнение отменено

Выполнение контракта завершилось сбоем

Проверьте логику контракта; используйте eth_call для отладки

Тайм-аут соединения

RPC недоступен

Проверьте URL RPC

Последнее обновление

Это было полезно?