部署 Solidity 合约

本指南介绍如何使用 Hardhat 和 Foundry 在 Rome EVM 上部署 Solidity 智能合约。

前置条件

  • 已安装 Node.js v18+(Hardhat)或 Foundry

  • 一个已充值的 Rome EVM 地址(见 快速开始)

  • 你的私钥已导出为环境变量

export PRIVATE_KEY="0xYOUR_PRIVATE_KEY"

网络配置

网络
RPC URL
链 ID

本地

http://localhost:9090

1001

Devnet(montispl)

https://montispl.devnet.romeprotocol.xyz

200002

Testnet(Martius)

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

121214

Testnet(Caelian)

https://caelian-i.testnet.romeprotocol.xyz

121215

Hardhat

设置

mkdir my-rome-project && cd my-rome-project
npm init -y
npm install --save-dev hardhat @nomicfoundation/hardhat-toolbox
npx hardhat init

hardhat.config.js

部署

在区块浏览器上验证

Foundry

设置

部署

调用已部署合约

使用 Rome Solidity SDK

对于与 Solana 程序交互的合约,请安装 Rome Solidity SDK:

部署限制

约束
限制
说明

最大合约大小

480 KB

在 OP-Geth 模式下,从以太坊的 24 KB 提升而来

交易大小限制

每个持有者 80 KB

较大的部署会透明地拆分到多个持有者账户中

计算预算

约 140 万 CU(原子)

对于重型合约,请使用迭代模式

Solidity 版本

推荐使用 0.8.28

更早版本也可用,但 0.8.28 与 SDK 最匹配

常见错误

错误
原因
修复

gas 资金不足

EVM 地址没有余额

通过充值界面存入 SOL

nonce 过低

钱包中的 nonce 已过期

重置 MetaMask 账户或手动指定 nonce

执行被回滚

合约逻辑执行失败

使用以下命令调试 eth_callforge test --fork-url

交易 gas 价格过低

Gas 价格低于最低要求

提高交易中的 gas 价格

下一步

最后更新于

这有帮助吗?