المواضيع الرائجة
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
قمت بنشر بيئة بايثون كاملة على السلسلة على سولانا
الآن تشغل سكريبتات بايثون الأصلية وكود بايت على سولانا
عنوان البرنامج: pythonKBk7JcXsbwYzMRy2tL8L9tZqUbgekxRfT1bTE
الواجهة الأمامية هنا:
بعض الأمثلة:
الطباعة ("مرحبا سولانا!")
>>> "مرحبا سولانا!"
print(math.sqrt(2.0))
>>> 1.414213
print(time.asctime())
"الخميس 18 ديسمبر 19:26:15 2025"

يتم التعامل مع حسابات سولانا كملفات
وهذا يعني أنه يمكنك القراءة/الكتابة إلى حسابات سولانا ونشر حزم بايثون على حسابات سولانا
مما يسمح بكود بايثون مثل:
f = مفتوح ("/sol/1", "w")
f.write("def greet(name):\n إرجاع 'Hello' + name")
استيراد sol_1 ك my_package
print(my_package.greet("Solana"))
>> "مرحبا سولانا"

معظم الأنظمة المدمجة، Base58/64، Struct، JSON، Time وحزمة رياضيات مشمولة
هناك حزمة Solana تدعم PDAs، واستدعاء السلاسل المتقاطعة، ومعظم مكالمات نظام سولانا
حزمة الوقت تلتف ساعة سولانا
ويعيد البرنامج آخر عبارة غير مقيمة ك return_data بحيث يمكن للبرامج الأخرى استدعاء برنامج بايثون واستخدام النتيجة

يدعم برنامج بايثون تحليل وترجمة وتنفيذ كود بايثون
ومع ذلك، فإن التحليل على السلسلة مكلف جدا. أي سكريبتات بايثون التكرارية المعقدة تصل بسرعة إلى حد وحدة الحوسبة 1.4 ميغابايت
بالنسبة لبرامج بايثون الأكثر تعقيدا، يمكن للمستخدمين ترجمة السكربت إلى بايثون بايتكود خارج السلسلة. ينتج عن ذلك توفير الغاز ~10-100x ويسمح لبرامج بايثون الأكثر تعقيدا بتنفيذ السلسلة
النص التكراري البسيط مثل print(1+2+3) يستهلك 1,328,442/1,399,700 وحدة حوسبة
عند تجميعها في بايت كود، تستهلك 13,579 من 1,339,700 وحدة حوسبة (أرخص بمقدار 100 مرة)
تحتوي الواجهة الأمامية على مترجم WASM بايثون بحيث يمكن للمستخدمين بسهولة ترجمته إلى كود بايت وتنفيذ البرنامج على السلسلة


بدأت برمجة هذا المشروع في عيد الشكر عندما كنت أقتل الوقت وصادفت PikaPython: مفسر بايثون بتقنية C يعمل بذاكرة RAM بسعة 4KB فقط، بدون أي تبعيات
ومن المصادفة أن @solana لديه مكدس 4 كيلوبايت (RAM)، ويدعم C ولا يحتوي على العديد من تبعيات C القياسية
المشروع تم نقله بنسبة 99٪ بواسطة الذكاء الاصطناعي، وتم اختباره بشكل فضفاض فقط من قبلي، لذا يرجى عدم استخدام هذا في أي عمليات مهمة أو في المحافظ الثمينة
ومع ذلك، فهي ساحة ممتعة لاستكشاف سولانا والتعرف على كيفية عمل سولانا
مع المزيد من الحزم ودعم الحزم لتطبيقات التمويل اللامركزي، يمكن أن يصبح هذا أداة مفيدة لتحليل البيانات ونمذجة النماذج الأولية على سولانا
اضطررت لإجراء عدة تعديلات لنقل المشروع إلى ملف سولانا BPF
- BPF لا يدعم الحالة القابلة للكتابة العالمية، لذا اضطررت لنقل جميع المكتبات العالمية إلى الكومة
- BPF لا يدعم أوجاط الدوال >5 (على سلسلة أدوات C)، لذا اضطر لتمرير دوال تحتوي على 5+ وسائط كمؤشرات للهياكل
- مؤشرات الدوال التي تشير خارج مقطع النص ممنوعة، لذا كان لا بد من إعادة هيكلة مصفوفات المؤشرات وأهداف الاستدعاء "غير الآمنة" الأخرى
- كان لا بد من إعادة تنفيذ دوال libc القياسية مثل printf
- تحسين استخدام المكدس ونقل الهياكل الكبيرة إلى الكومة
- نفذ مخصص مخصص يخصص عدة مخازن كبيرة مسبقا
- تنفيذ sysout ك sol_log وإرجاع آخر بيان غير مقيم ك return_data
رابط GitHub أدناه. لا تتردد في المساهمة:

حاليا، الآلة الافتراضية محدودة بوحدات حوسبة 1.4 مليون
في المستقبل، يمكن لمفسر بايثون استخدام الحزم لتمديد حد وحدة البناء إلى حد 12 مليون حساب أو أكثر
وهذا يتطلب ما يلي:
- فحص استخدام وحدة الرؤية داخل المفسر
- تعليق المحلل ووحدة الآلة الافتراضية عندما تبدأ في الاقتراب من حد وحدة التردد 1.4M
- الحفاظ على حالة المحلل/الآلة الافتراضية المخزنة في الكومة إلى حساب
- تحميل الكومة عند استئناف المفسر
ستتضمن الإضافات المستقبلية الأخرى تنفيذ حزم لتطبيقات DeFi الشهيرة حتى يتمكن المستخدمون من التفاعل بسهولة أكبر مع البرامج على السلسلة في بايثون
دعم Pyo3 أو Cython سيسمح للمستخدمين بكتابة حزم بايثون فعالة بسهولة توسع مكتبات سولانا روست الحالية
وأخيرا، نقل numpy المدعوم من PikaPython سيكون مشروعا رائعا
المشروع مجاني ومفتوح المصدر - لا يوجد رمز
فعلت ذلك من أجل حب اللعبة
استمتع - مونشيستي.
137
الأفضل
المُتصدِّرة
التطبيقات المفضلة
