نشر عقود Solidity

يغطي هذا الدليل نشر عقود Solidity الذكية على Rome EVM باستخدام Hardhat وFoundry.

المتطلبات الأساسية

  • تم تثبيت Node.js v18+ (Hardhat) أو Foundry

  • عنوان Rome EVM ممول (انظر بداية سريعة)

  • مفتاحك الخاص مُصدَّرًا كمتغير بيئة

export PRIVATE_KEY="0xYOUR_PRIVATE_KEY"

إعدادات الشبكة

الشبكة
عنوان RPC
معرّف السلسلة

محلي

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 كيلوبايت

تمت زيادة الحد مقارنةً بحد Ethereum البالغ 24 كيلوبايت في وضع OP-Geth

حد حجم المعاملة

80 كيلوبايت لكل holder

تُقسَّم عمليات النشر الكبيرة عبر حسابات holder بشكل شفاف

ميزانية الحوسبة

حوالي 1.4M CU (ذرّي)

استخدم الوضع التكراري للعقود الثقيلة

إصدار Solidity

0.8.28 موصى به

الإصدارات الأقدم تعمل، لكن 0.8.28 يتوافق مع SDK

الأخطاء الشائعة

الخطأ
السبب
الإصلاح

أموال غير كافية للغاز

عنوان EVM لا يحتوي على رصيد

أودِع SOL عبر واجهة الإيداع

nonce منخفض جدًا

nonce قديم في المحفظة

أعد تعيين حساب MetaMask أو حدّد nonce يدويًا

execution reverted

فشلت منطقية العقد

تصحيح الأخطاء باستخدام eth_call أو forge test --fork-url

transaction underpriced

سعر الغاز أقل من الحد الأدنى

ارفع سعر الغاز في المعاملة

ما التالي

آخر تحديث

هل كان هذا مفيدا؟