Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Starknet-Foundry #33

Open
wants to merge 26 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<img src="https://img.shields.io/twitter/follow/Web3Arabs?style=social"/>
</a> <a href="https://github.com/Web3Arabs/starknet-course">
<img src="https://img.shields.io/github/stars/Web3Arabs/starknet-course?style=social"/>
</a>
</a>
<a href="https://web3arabs.com/courses/3d88b1a4-ad68-400b-94d3-df89a5f95cfd/lessons/">
<img src="https://img.shields.io/badge/Course-Website-yellow"/> </a>

Expand All @@ -33,15 +33,15 @@

## 📚 الموارد الأساسية

يمكنك إستخدام الكورسات وورشات العمل الشاملة التي نقوم بنشرها، بالإضافة إلى الوثائق والكتب التي قام بإنشائها مجتمع Starknet،
يمكنك إستخدام الكورسات وورشات العمل الشاملة التي نقوم بنشرها، بالإضافة إلى الوثائق والكتب التي قام بإنشائها مجتمع Starknet،
والتي تغطي كل ما تحتاجه للبدء في تعلم إثبات ZK-Stark ولغة Cairo ومن ثم البناء على Starknet 🐺

- <a href="https://web3arabs.com/courses/3d88b1a4-ad68-400b-94d3-df89a5f95cfd/lessons">كورس إثبات المعرفة الصفرية ZK-STARK وشبكة Starknet</a>.
- <a href="https://youtube.com/playlist?list=PL7TQUwuCLstpWpNts5QYzJFyV44Qldz3J&si=inpaOue4cSD8f97c">قائمة تشغيل المعسكر التدريبي باللغة العربية على اليوتيوب</a>.
- <a href="https://docs.starknet.io/">وثائق وكتاب Starknet</a>.
- <a href="https://book.cairo-lang.org/">وثائق وكتاب لغة Cairo</a>.

## 🤝 المساهمة
## 🤝 المساهمة

نحن نبحث دائمًا عن مطورين متحمسين للانضمام إلى مجتمعنا والمساهمة في كورس **Starknet** باللغة العربية. [راجع دليل المساهمة الخاص بنا](CONTRIBUTING.md) للحصول على مزيد من المعلومات حول كيفية البدء.

Expand All @@ -60,6 +60,7 @@
<td align="center" valign="top" width="20%"><a href="https://github.com/ArDapps"><img src="https://avatars.githubusercontent.com/u/91119772?v=4?s=100" width="150px;" alt="Bahaa @ ArDapps"/><br /><sub><b>Bahaa @ ArDapps</b></sub></a><br /><a href="https://github.com/Web3Arabs/starknet-course/commits?author=ArDapps" title="Code">💻</a></td>
<td align="center" valign="top" width="20%"><a href="https://github.com/8kma"><img src="https://avatars.githubusercontent.com/u/104277512?v=4?s=100" width="150px;" alt="Khalil"/><br /><sub><b>Khalil</b></sub></a><br /><a href="https://github.com/Web3Arabs/starknet-course/commits?author=8kma" title="Code">💻</a></td>
<td align="center" valign="top" width="20%"><a href="https://github.com/manx90"><img src="https://avatars.githubusercontent.com/u/170921146?v=4?s=100" width="150px;" alt="manx90"/><br /><sub><b>manx90</b></sub></a><br /><a href="https://github.com/Web3Arabs/starknet-course/commits?author=manx90" title="Code">💻</a></td>
<td align="center" valign="top" width="20%"><a href="https://github.com/malakbenh"><img src="https://avatars.githubusercontent.com/u/94281659?s=400&u=e41ad7cc87c67321d5064582a579fe1c8fbbd78a?v=4?s=100" width="300px;" alt="Malak"/><br /><sub><b>Malak</b></sub></a><br /><a href="https://github.com/Web3Arabs/starknet-course/commits?author=malakbenh" title="Code">💻</a></td>
</tr>
</tbody>
</table>
Expand Down
94 changes: 94 additions & 0 deletions course/8-Get-Started-with-starkent-foundry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<div dir="rtl">

# دليل المستخدم لـ **Starknet Foundry**

**Starknet Foundry** هي مجموعة أدوات متكاملة لتطوير العقود الذكية على شبكة Starknet، تهدف إلى تسهيل عملية بناء واختبار ونشر هذه العقود.

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

قبل البدء في استخدام **Starknet Foundry**، تأكد من توافر المتطلبات التالية:

- **Scarb**
- **Universal-Sierra-Compiler**
- **Rust** (الإصدار 1.80.1 أو أعلى)

يجب أن تكون جميع الأدوات مثبتة ومضافة إلى متغير البيئة `PATH`.

> **ملاحظة:** يتم تثبيت **Universal-Sierra-Compiler** تلقائيًا عند استخدام `snfoundryup` أو `asdf`. يمكنك أيضًا إنشاء متغير البيئة `UNIVERSAL_SIERRA_COMPILER` لجعلها متاحة لـ `snforge`.

## التثبيت باستخدام **snfoundryup**

`snfoundryup` هو المثبت الرسمي لمجموعة أدوات **Starknet Foundry**.

لتثبيته، نفذ الأمر التالي في الطرفية:

```
curl -L https://raw.githubusercontent.com/foundry-rs/starknet-foundry/master/scripts/install.sh | sh
```

للتحقق من نجاح التثبيت، يمكنك تنفيذ الأوامر التالية:

```
snforge --version
sncast --version
```

## التثبيت باستخدام **asdf**

لإضافة **Starknet Foundry** كإضافة لـ asdf، استخدم الأوامر التالية:

```
asdf plugin add starknet-foundry
```

لتثبيت أحدث إصدار، نفذ:

```
asdf install starknet-foundry latest
```

للحصول على مزيد من المعلومات، يمكنك مراجعة الوثائق الخاصة بـ asdf.

## التثبيت على نظام **Windows**

حتى الآن، يتطلب تثبيت **Starknet Foundry** على Windows خطوات يدوية، لكننا سنبقيها بسيطة:

1. قم بتنزيل الأرشيف المناسب لمعماريات وحدة المعالجة المركزية الخاصة بك.
2. قم بفك ضغط الأرشيف إلى موقع ترغب في تثبيت **Starknet Foundry** فيه. يمكنك استخدام مسار مثل:
```
%LOCALAPPDATA%\Programs\snfoundry
```
3. أضف مسار مجلد `snfoundry\bin` إلى متغير البيئة `PATH`.
4. تحقق من التثبيت بتشغيل الأوامر التالية في نافذة طرفية جديدة:
```
snforge --version
sncast --version
```

## تحديث **Universal-Sierra-Compiler**

إذا كنت بحاجة إلى تحديث **Universal-Sierra-Compiler** يدويًا (على سبيل المثال، عند إصدار نسخة جديدة)، يمكنك استخدام الأمر التالي:

```
curl -L https://raw.githubusercontent.com/software-mansion/universal-sierra-compiler/master/scripts/install.sh | sh
```

## بناء **Starknet Foundry** من الشيفرة المصدرية

إذا واجهتك أي مشاكل في تثبيت **Starknet Foundry** عبر التعليمات المذكورة، يمكنك محاولة بناءه من الشيفرة المصدرية كما يلي:

1. قم بإعداد بيئة تطوير مناسبة.
2. نفذ الأمر التالي:
```
cd starknet-foundry && cargo build --release
```
سيؤدي ذلك إلى إنشاء دليل `target`.
3. انقل دليل `target` إلى الموقع الذي تريده، مثل:
```
~/.starknet-foundry
```
4. تأكد من إضافة `DESIRED_LOCATION/target/release/` إلى متغير البيئة `PATH`.



</div>