> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/ar/albda/quickstart.md).

# دليل البدء السريع

انشر أول عقد Solidity لك على Rome في أقل من 5 دقائق.

انشر أول عقد Solidity الخاص بك على Rome في أقل من 5 دقائق. يستهدف هذا الدليل [**هادريان**](/ar/alshbkat/hadrian.md)، سلسلة الشبكة التجريبية العامة. [روبيكون](/ar/alshbkat/rubicon.md) هي سلسلة الشبكة الرئيسية، حيث تكون رسوم الغاز USDC حقيقية؛ جرّب كل شيء على سلسلة تجريبية أولًا.

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

* [Node.js](https://nodejs.org/) v22.13+
* [MetaMask](https://metamask.io/) إضافة متصفح
* محفظة سولانا مضبوطة على **Devnet**، فقط إذا موّلت من سولانا (الخطوة 2). استدعاء العقود من محفظة سولانا يحتاج إلى محفظة توقّع معاملات Solana v1، وهو ما يتم تغطيته في [أتح عقدك لمستخدمي Solana](/ar/adlh-almtw-ryn/open-to-solana-users.md).

## 1. أضف Hadrian إلى MetaMask

أضفه يدويًا (الإعدادات → الشبكات → إضافة شبكة):

| الحقل         | القيمة                                          |
| ------------- | ----------------------------------------------- |
| اسم الشبكة    | Rome Hadrian                                    |
| عنوان RPC     | `https://hadrian.testnet.romeprotocol.xyz/`     |
| معرّف السلسلة | `200010`                                        |
| رمز العملة    | `USDC`                                          |
| مستكشف الكتل  | `https://via-hadrian.testnet.romeprotocol.xyz/` |

## 2. موّل محفظتك

تُدفع رسوم الغاز برمز الغاز الخاص بالسلسلة، وهو USDC على Hadrian. وعلى Hadrian يكون مدعومًا بواسطة USDC الخاص بـ Solana Devnet من Circle (السك `4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU`), لذلك فإن devnet SOL ليس غازًا. لا يوجد صنبور Rome. هناك طريقتان للحصول على USDC على Hadrian:

**من سولانا** — احصل على USDC الخاص بـ Solana Devnet من [صنبور Circle](https://faucet.circle.com/) (اختر Solana Devnet) وعلى مقدار قليل من devnet SOL لرسوم سولانا من [صنبور سولانا](https://faucet.solana.com/)، مع ضبط محفظة سولانا الخاصة بك على Devnet. ثم استخدم [جسر Rome](/ar/alttbyqat-ala-rome/bridge-api.md) مع كون Hadrian هو الوجهة ومساره الخاص بسولانا، مع استخدام عنوان محفظة EVM الخاصة بك كمستلم؛ حيث تطلب الجسر من محفظة EVM تلك توقيع معاملة مطالبة على Hadrian، ما يحول USDC إلى غاز.

**عن طريق الربط من سلسلة EVM** — قم بصك USDC تجريبي على Ethereum Sepolia من [صنبور Circle](https://faucet.circle.com/)، ثم انقله إلى Rome باستخدام [جسر Rome](/ar/alttbyqat-ala-rome/bridge-api.md) (CCTP). ستحتاج إلى قدر قليل من ETH على Sepolia لمعاملة جهة المصدر — انظر [الصنابير](/ar/almward/faucets.md) لكل صنبور.

**كم؟** الكتابة على Rome تكلف أكثر مما توحي به حدوس Ethereum، لأن معظم رسوم الغاز تُستخدم لإنشاء حسابات Solana: مستلم لم يُستخدم من قبل، حساب توكن جديد، عقد منشور. استخدم `eth_estimateGas`، وهو ما تفعله الأدوات القياسية، ولا تُثبّت أبدًا 21000. يشمل التقدير إنشاء الحساب، وتفرض Rome رسوم الغاز التي تستخدمها المعاملة فعليًا (وفي القياسات على Hadrian لم تكن أبدًا أكثر من التقدير)، كما أن `submitRomeTx` تضيف 1.3× إلى التقدير كهامش، وهذا لا يكلف شيئًا لأن الرسوم تُحتسب فقط على الغاز المستخدم. موّل على الأقل **0.5 USDC من الغاز**؛ 1 USDC يترك هامشًا مريحًا. الأرقام في [دعم JSON-RPC](/ar/almrja/json-rpc.md) توضح تكلفة كل عملية كتابة على حدة.

إذا فشل إيداع من جهة سولانا مع تحذير "insufficient SOL" رغم أن المحفظة ممولة، فاضبط محفظة سولانا على Testnet Mode / Devnet (انظر [الأسئلة الشائعة](/ar/almward/faq.md)).

## 3. أنشئ مشروع Hardhat

```bash
mkdir rome-hello && cd rome-hello
npx hardhat --init
```

اقبل الإعدادات الافتراضية عند الطلب — Hardhat 3، والمجلد الحالي، والقالب TypeScript + Node Test Runner + viem — ودعه يثبت الاعتمادات. القالب يأتي بمثال `Counter` عقد مع اختبارات؛ لن تتداخل مع هذا الدليل.

## 4. اضبط Hardhat لـ Rome

حرّر الملف المُولّد `hardhat.config.ts` وأضف شبكات Rome داخل `defineConfig({ ... })`:

```typescript
  networks: {
    hadrian: {
      type: "http",
      chainType: "l1",
      chainId: 200010,
      url: "https://hadrian.testnet.romeprotocol.xyz/",
      accounts: [configVariable("PRIVATE_KEY")],
    },
  },
```

`configVariable("PRIVATE_KEY")` يتم حلّه من البيئة، لذا صدّر المفتاح الخاص بـ MetaMask الخاص بك:

```bash
export PRIVATE_KEY="0xYOUR_PRIVATE_KEY"
```

(بالنسبة لأي شيء يتجاوز مفتاحًا مؤقتًا، فالأفضل استخدام مخزن المفاتيح المشفّر المرفق مع الأداة: `npx hardhat keystore set PRIVATE_KEY`.)

## 5. اكتب عقدًا

أنشئ `contracts/HelloRome.sol`:

```solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.28;

contract HelloRome {
    string public greeting = "Hello from Solana!";
    uint256 public counter;

    event Greeted(address indexed sender, uint256 count);

    function greet() external returns (string memory) {
        counter++;
        emit Greeted(msg.sender, counter);
        return greeting;
    }

    function setGreeting(string calldata _greeting) external {
        greeting = _greeting;
    }
}
```

## 6. انشر

أنشئ `scripts/deploy.ts`:

```typescript
import hardhat from "hardhat";

async function main() {
  const { viem } = await hardhat.network.connect();
  const publicClient = await viem.getPublicClient();

  const hello = await viem.deployContract("HelloRome");
  console.log("HelloRome deployed to:", hello.address);

  const hash = await hello.write.greet();
  await publicClient.waitForTransactionReceipt({ hash });

  console.log("Counter:", (await hello.read.counter()).toString());
  console.log("Greeting:", await hello.read.greeting());
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});
```

انشر إلى Hadrian:

```bash
npx hardhat run scripts/deploy.ts --network hadrian
```

الناتج المتوقع (سيختلف عنوانك):

```
HelloRome deployed to: 0x09c437e305eeb698e1776cff23ca16c1bb25aabd
Counter: 1
Greeting: Hello from Solana!
```

افتح العنوان المنشور في [المستكشف](https://via-hadrian.testnet.romeprotocol.xyz/) لرؤية تعليمات Solana خلف معاملتك. أصبح عقد Solidity الخاص بك يعمل الآن على سولانا.

## ما التالي

* [انشر Solidity](/ar/adlh-almtw-ryn/deploy-solidity.md) — نشر Hardhat وFoundry بعمق
* [استدعِ Solana من EVM](/ar/adlh-almtw-ryn/call-solana-from-evm.md) — استدعِ برامج Solana من Solidity عبر CPI
* [العمارة](/ar/albda/architecture.md) — كيف ينفذ Rome بيئة EVM داخل Solana

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

| الخطأ                   | السبب                                               | الإصلاح                                                                                                       |
| ----------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `أموال غير كافية`       | لا يوجد رمز غاز كافٍ لحد الغاز مضروبًا في سعر الغاز | موّل ما لا يقل عن 0.5 USDC من الغاز (انظر الخطوة 2) باستخدام [جسر Rome](/ar/alttbyqat-ala-rome/bridge-api.md) |
| `nonce منخفض جدًا`      | عدم تطابق nonce الخاص بالمعاملة                     | أعد ضبط الحساب (MetaMask → الإعدادات → متقدم → مسح النشاط)                                                    |
| `تم التراجع عن التنفيذ` | فشل تنفيذ العقد                                     | تحقق من منطق العقد؛ استخدم `eth_call` للتصحيح                                                                 |
| انتهاء مهلة الاتصال     | RPC غير قابل للوصول                                 | تحقق من عنوان RPC                                                                                             |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rome.builders/ar/albda/quickstart.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
