Rome SDK
واجهات Solidity مُنظَّمة لاستدعاء برامج Solana من عقود EVM، بالإضافة إلى SDK بلغة Rust الذي يقف خلف خدمات Rome خارج السلسلة.
توفر Rome SDK واجهات Solidity مُنَمْذَجة للتفاعل مع برامج Solana من عقود EVM الذكية. إنها مجموعة أدوات المطورين لبناء تطبيقات متعددة بيئات التشغيل على Rome.
مجموعات SDK
لدى Rome مجموعات SDK لثلاث فئات — مطورو التطبيقات (TypeScript)، ومطورو العقود (Solidity)، ومشغلو البنية التحتية (Rust).
TypeScript SDK (@rome-protocol/sdk)
لمطوري dapp والواجهة الأمامية — مجموعة 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.2.1import { submitRomeTx } from '@rome-protocol/sdk';
// أرسل أي كتابة EVM عبر Rome من خلال مسار الكتابة الصحيح (يتعامل مع ترميز الغاز/الرسوم).العينات المرجعية العامة — rome-dex و cardo — تستهلك هذه المجموعة SDK.
المساران، مجموعة SDK واحدة. submitRomeTx هو مسار EVM (MetaMask). أمّا بالنسبة إلى مسار Solana — محفظة Phantom/Solana تدير تطبيق EVM الخاص بك — submitRomeTxSolanaLane يعكسه: يوقّع المستخدم معاملة Solana وتقوم Rome بتنفيذها كمعاملة EVM من هويته المشتقة، من دون مفتاح EVM. تنتقل القيمة إلى الداخل والخارج عبر buildFundLeg / buildSweepLeg بوصفه غلاف ERC-20 (مثل wUSDC), وليس msg.value الأصلي msg.value — لا يحتفظ المرسل الاصطناعي بأي شيء في حالة السكون — ويتم توفير مرسل اصطناعي أول مرة تلقائيًا عند أول استخدام. انظر ابنِ تطبيقًا ثنائي المسارين و استدعِ EVM من Solana.
Solidity SDK (@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 SDK (rome-sdk)
لمشغلي البنية التحتية. مساحة عمل Rust تتعامل مع تركيب المعاملات، والتفاعل مع Solana، وتسعير الغاز، وفهرسة الكتل. تُستخدم بواسطة Proxy وHercules.
Solidity SDK: ما المضمن
واجهات Precompile
اربط واجهة بعنوان precompile الخاص بها:
عمليات رموز SPL
استخدم IHelperProgram (0xff…09) للأوليات SPL الموقعة بواسطة مستخدم-PDA:
في المسار المخزن مؤقتًا، توجد العمليات المكافئة على ISplCached (0xff…05) و IAssociatedSplCached (0xff…06). انظر interface.sol لجميع الأشكال الزائدة؛ يستخدم العقد مسارًا واحدًا بشكل متسق.
اشتقاق PDA
الاستدعاء عبر البرامج
ERC-20 فوق رموز SPL
فك ترميز Borsh
بيانات Metaplex الوصفية
Rust SDK: البنية
Rust SDK هو مساحة عمل Cargo. حِزَمه الأساسية:
rome-sdk
واجهة برمجة التطبيقات الأساسية: Rome بنية struct، والإعدادات، وأنواع المعاملات (RheaTx, RemusTx, RomulusTx)
rome-evm-client
عميل rollup لـ 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 للإرسال الذري متعدد المعاملات
أنواع المعاملات
تجميع الموارد
تجمع SDK أزواج مفاتيح Solana (الدافعين) وفهارس حسابات المحتفظ بها لإرسال المعاملات بالتوازي:
خارطة طريق SDK
مُنشأ ويعمل
أغلفة رموز SPL وواجهات precompile
مبادلات Meteora DAMM v1 عبر CPI
Oracle Gateway V1 + V2 (Pyth Pull, Switchboard V3)
مساعدات System Program، وفك ترميز Borsh
ERC20SPL Factory + عقود الجسر
ما التالي
نشر Solidity — انشر عقدك الأول باستخدام SDK
استدعِ Solana من EVM — استخدم CPI للتفاعل مع برامج Solana
عناوين العقود — عناوين عقود SDK المنشورة
آخر تحديث
هل كان هذا مفيدا؟