Rome SDK
واجهات Solidity مُنظَّمة النوع لاستدعاء برامج Solana من عقود EVM، بالإضافة إلى Rust SDK الذي يشغّل خدمات Rome خارج السلسلة.
توفر حزمة تطوير Rome واجهات Solidity ذات أنواع للتفاعل مع برامج Solana من عقود EVM الذكية. إنها مجموعة أدوات المطورين لبناء التطبيقات عبر بيئات التشغيل على Rome.
حِزم تطوير البرمجيات
لدى Rome حِزم تطوير برمجيات لثلاث فئات — مطورو التطبيقات (TypeScript)، ومطورو العقود (Solidity)، ومشغلو البنية التحتية (Rust).
حزمة تطوير TypeScript (@rome-protocol/sdk)
لمطوري التطبيقات اللامركزية والواجهة الأمامية — الحزمة التي يبدأ بها معظم مطوري التطبيقات. @rome-protocol/sdk تغلف مسار الكتابة في Rome بحيث يرسل تطبيق الويب معاملات Rome بشكل صحيح: submitRomeTx (مسار الكتابة الصحيح بالإضافة إلى معالجة الغاز/الرسوم)، اشتقاق PDA / ATA، وCPI invoke / invoke_signed المشفِّرات، وروابط الـ precompile، و /bridge المسار الفرعي. التثبيت من المستودع أولًا (نشر npm قيد الانتظار):
npm install github:rome-protocol/rome-sdk-ts#v0.4.0import { submitRomeTx } from '@rome-protocol/sdk';
// أرسل أي كتابة Rome EVM عبر مسار الكتابة الصحيح (يتولى ترميز الغاز/الرسوم).التطبيقات المرجعية العامة — rome-dex و cardo — تستهلك هذه الحزمة.
كلا المسارين، حزمة واحدة. submitRomeTx هو مسار EVM (MetaMask). بالنسبة إلى مسار Solana — محفظة Solana تقود تطبيق EVM الخاص بك — submitRomeTxV1 يحاكيه: يقوم الوكيل بتجميع معاملة Solana v1 واحدة للاستدعاء، وتوقّع المحفظة مرتين بالمفتاح نفسه (رسالة تفويض قابلة للقراءة، ثم المعاملة)، ويشغّل Rome الاستدعاء كمعاملة EVM من الهوية المشتقة للمستخدم، من دون مفتاح EVM. أما الاستدعاء الذي لا ينسجم في معاملة واحدة فيُرحَّل بواسطة الوكيل مع نفس توقيع التفويض، و fundSyntheticGas يضيف الغاز الأصلي الذي يستهلكه استدعاء مُرحَّل. تنتقل القيمة إلى الداخل والخارج عبر buildFundLeg / buildSweepLeg كغلاف ERC-20 (مثلاً wUSDC)، وليس msg.value الأصلي msg.value — لا يحتفظ المُرسِل الاصطناعي بأي شيء في حالة السكون — ويُزوَّد الاصطناعي للمرة الأولى مرة واحدة، صراحةً، عبر buildCreatePdaCall. أما submitRomeTxSolanaLaneالسابق، الذي ينشئ معاملة Solana قديمة على جهة العميل، فما يزال موجودًا في الحزمة. انظر أنشئ تطبيقًا ثنائي المسار و استدعِ EVM من Solana.
حزمة Solidity (@rome-protocol/rome-solidity)
لمطوري Solidity. توفّر واجهات precompile، وواجهات تغليف ERC-20/SPL، واشتقاق PDA، وأدوات CPI. نشر npm لا يزال قيد الانتظار؛ حاليًا تستخدم هذه من rome-solidity المستودع العام (اعتماد git أو ملفات منسوخة).
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";حزمة Rust (rome-sdk)
لمشغلي البنية التحتية. مساحة عمل Rust تتولى تجميع المعاملات، والتفاعل مع Solana، وتسعير الغاز، وفهرسة الكتل. تُستخدم بواسطة Proxy وHercules.
حزمة Solidity: ما المتضمن
واجهات Precompile
اربط الواجهة بعنوان precompile الخاص بها:
عمليات SPL Token
استخدم IHelperProgram (0xff…09) للبدائيات SPL الموقعة بواسطة PDA للمستخدم:
في المسار المخبأ، توجد العمليات المكافئة على ISplCached (0xff…05) و IAssociatedSplCached (0xff…06). انظر interface.sol لجميع الأشكال الزائدة؛ يستخدم العقد مسارًا واحدًا بشكل متسق.
اشتقاق PDA
استدعاء بين البرامج
ERC-20 فوق رموز SPL
إلغاء تسلسل Borsh
بيانات Metaplex الوصفية
حزمة Rust: البنية
حزمة Rust هي مساحة عمل Cargo. الحزم الأساسية فيها:
rome-sdk
واجهة برمجة التطبيقات الأساسية: Rome بنية، وتهيئة، وأنواع المعاملات (RheaTx, RemusTx, RomulusTx)
rome-evm-client
عميل تجميع EVM، وTxBuilder، وResourceFactory، وتكامل المحاكي
rome-solana
برج Solana، وعميل RPC، وتجميع المعاملات وتتبعها
rome-utils
أدوات RLP، وhex، وJSON-RPC، والمصادقة
rome-obs
قابلية الملاحظة عبر OpenTelemetry (التتبعات، المقاييس، السجلات)
rome-meteora
محولات مجمعات Meteora DEX AMM لتسعير الغاز
rome-jito-bundler
منشئ حزم Jito للإرسال الذري متعدد المعاملات
أنواع المعاملات
تجميع الموارد
تجمع الحزمة أزواج مفاتيح Solana (المدفوعين) وفهارس حسابات الحاملين للإرسال المتوازي للمعاملات:
خارطة طريق الحزمة
مبني ويعمل
غلافات SPL Token وواجهات precompile
عمليات swap في Meteora DAMM v1 عبر CPI
Oracle Gateway V1 + V2 (Pyth Pull، Switchboard V3)
مساعدات System Program، وإلغاء تسلسل Borsh
ERC20SPL Factory + عقود الجسر
ما التالي
نشر Solidity — انشر عقدك الأول باستخدام الحزمة
استدعِ Solana من EVM — استخدم CPI للتفاعل مع برامج Solana
عناوين العقود — عناوين عقود الحزمة المنشورة
آخر تحديث
هل كان هذا مفيدا؟