جهاز TRON الظاهري (TVM)

Justin Sun Officially Releases Tron's Virtual Machine (TVM) to the TRX  Community

مقدمة حول الجهاز الظاهري

جهاز ترون الظاهري TRON Virtual Machine (TVM) هي آلة افتراضية خفيفة الوزن تم تطويرها للنظام البيئي لـ TRON وهدفها هو تزويد الملايين من المطورين العالميين بنظام بلوكشين blockchain مصمم خصيصًا يتسم بالكفاءة والراحة والثبات والأمان والقابلية للتطوير.

يتصل TVM بسلاسة بالنظام الإيكولوجي للتطوير الحالي ويدعم DPOS

يتوافق TVM مبدئيًا مع بيئة EVM بحيث يمكن للمطورين بدلاً من تعلم لغة برمجة جديدة تطوير العقود الذكية وتصحيحها وتجميعها في بيئة Remix باستخدام Solidity ولغات أخرى وبمجرد إنشاء عقدك الذكي وتحميله إلى الشبكة الرئيسية لـ TRON سيتم تنفيذه على TVM لعقدة الممثل الممتاز SR ليتم عزله عن الاتصالات الخارجية.

علاوة على ذلك توظف TVM مفهوم النطاق الترددي وتختلف عن آلية الغاز في EVM الخاص بـ Ethereum لذلك فإن عمليات المعاملات أو العقود الذكية على TVM مجانية ولا تستهلك أي رموز ومن الناحية الفنية لا يقيد إجمالي حيازة الرمز المميز سعة الحوسبة القابلة للتنفيذ على TVM.

ميزات TVM

1.خفيفة الوزن
تتبنى TVM بنية خفيفة الوزن بهدف تقليل استهلاك الموارد لضمان أداء النظام.

2.الاستقرار والأمن
من خلال نموذج التصميم الدقيق وكود التشغيل الأساسي الدقيق يمكن لـ TVM ضمان دقة كل خطوة في الحساب مما يقلل الغموض إلى أقصى حد ، ولأسباب أمنية لا تكلف عمليات النقل وتشغيل العقد الذكي سوى نقاط النطاق الترددي وليس TRX مما يعفي TRON من التعرض لهجوم مماثل لـ Ethereum بسبب طريقة استهلاك الغاز وبهذا يتم تحقيق استقرار استهلاك النطاق الترددي بينما يتم إصلاح تكلفة كل خطوة حسابية.

3.التوافق
حاليًا ، تتوافق TVM مع EVM وستكون مع المزيد من أجهزة VM السائدة في المستقبل وبالتالي فإن جميع العقود الذكية على EVM قابلة للتنفيذ على TVM ومن خلال الاتصال بسلاسة بالنظام الإيكولوجي للتطوير الحالي يمكن للمطورين تحقيق كفاءة أعلى.
لا داعي لتعلم لغة برمجة جديدة يمكنهم استخدام لغات البرمجة السائدة للعقود الذكية مثل Solidity لتطوير وتصحيح وتجميع العقود الذكية في بيئة Remix مما يقلل بشكل كبير من تكاليف التطوير.

4.المطورين
بفضل إعداد النطاق الترددي لـ TVM تم تخفيض تكاليف التطوير ويمكن للمطورين التركيز على منطق كود العقد الخاص بهم وتقدم TVM أيضًا واجهات الكل في واحد لنشر العقد والتشغيل والعرض لراحة المطورين ، وتتوفر الواجهات التالية في Tron Wallet-CLI:

نشر العقد (كلمة المرور ، العقد ، العنوان ، ABI ، الكود ، البيانات ، القيمة)
triggercontract (password، contractAddress، selector، data، value)
getcontract (ContractAddress)
يمكن للمطورين استدعاء هذه الواجهات لنشر العقود الذكية أو تشغيلها أو التحقق منها

كيف يعمل TVM

مخطط انسيابي لجهاز Tron الظاهري

يوضح المخطط الانسيابي أعلاه كيفية عمل TVM:

تجميع عقد ترون الذكي ← محركات التنفيذ والحوسبة لـ VM ← طبقة خدمة التشغيل البيني للواجهات الخارجية

ببساطة يكون التدفق كما يلي:

▫️ حاليًا ، يتوافق TVM بشكل أساسي مع Solidity ويقوم المترجم بترجمة عقد Solidity الذكي إلى رمز ثانوي قابل للقراءة وقابل للتنفيذ على TVM

▫️ تعالج الآلة الافتراضية البيانات من خلال كود التشغيل ، وهو ما يعادل تشغيل منطق آلة الحالة المحدودة القائمة على التكديس

▫️ يصل TVM إلى بيانات البلوكشين blockchain ويستدعي واجهة البيانات الخارجية من خلال طبقة التشغيل البيني

المعاملات الداخلية

خلفية

تمثل المعاملات الداخلية جميع المعاملات التي حدثت في مكالمة عقد ذكية وبعض المعلومات المهمة المدرجة في المعاملة هي عنوان المرسل / المستلم في معاملة تحويل token / trx ، ومبلغ trx / token ، وحالة التحويل.
يمكن للمستخدمين التحقق من جميع المعلومات المتعلقة بالمعاملات الداخلية في قائمة المعاملات الداخلية والتي تحتوي على جميع المعاملات في مشغل سمارت كونتراكت وحيد single” triggerSmartContract” أو إنشاء استدعاء سمارت كونتراكت “createSmartContract”.

الحصول على معاملة داخلية

يؤدي استدعاء gettransactioninfobyid لـ RPC API باستخدام معيار إدخال معرّف المعاملة على العقدة المدعومة للمعاملات الداخلية إلى إرجاع قائمة بالمعاملات الداخلية.

يجب أن تحتوي عقدة البحث config.conf على saveInternalTx = true ، باستخدم مثال RPC: في Wallet-CLI ، يمكنك استخدام الأمر gettransactioninfobyid للتحقق من جميع معلومات المعاملات الداخلية في حقل Internal_transactions.

? ملاحظة

قد لا تتمكن من الحصول على المعاملة الداخلية لمعرف المعاملة المبكر ونظرًا لأن العقدة لم يتم تشغيل saveInternalTx = true في ذلك الوقت ، وإذا كنت ترغب في الحصول على البيانات الكاملة للمعاملات الداخلية فأنت بحاجة إلى عقدة كاملة والتي تعمل على تشغيل saveInternalTx = true منذ البداية عندما أطلقت TRON TVM.

مثال على نتيجة Wallet-CLI

المصدر