سازگاری اتریوم¶

ساخت وبلاگ

در حالی که Moonbeam در تلاش است تا با Web3 API و EVM اتریوم سازگار باشد، تعدادی تفاوت مهم در پرتو ماه وجود دارد.

اول، Moonbeam از مکانیزم اجماع مبتنی بر اثبات سهام استفاده می کند، به این معنی که مفاهیم اثبات کار، مانند سختی، عمو، هش ریت و غیره معمولاً در Moonbeam معنی ندارند. برای APIهایی که مقادیر مربوط به اثبات کار اتریوم را برمی گردانند، مقادیر پیش فرض را برمی گردانیم. قراردادهای موجود اتریوم که بر مدارهای داخلی اثبات کار (مثلاً قراردادهای استخر استخراج) متکی هستند، تقریباً به طور قطع آنطور که انتظار می رود در Moonbeam کار نمی کنند.

یکی دیگر از تفاوت های مهم بین Moonbeam و Ethereum این است که Moonbeam شامل مجموعه گسترده ای از ویژگی های حاکمیتی بر روی زنجیره مبتنی بر عملکرد Substrate است. این ماژول های حاکمیت زنجیره ای شامل عملکردی برای ارتقاء خود بلاک چین بر اساس رای گیری وزنی توکن هستند.

همان چیزی که باقی می ماند¶

اگر بخش هایی از بارهای کاری موجود خود را منتقل می کنید و لایه 1 اتریوم را به Moonbeam خاموش می کنید، می توانید انتظار حداقل تغییرات لازم را داشته باشید (به غیر از استثنائاتی که در بالا ذکر شد). برنامه ها، قراردادها و ابزارهای شما تا حد زیادی بدون تغییر باقی می مانند.

  • قراردادهای هوشمند مبتنی بر استحکام
  • ابزارهای اکوسیستم (به عنوان مثال، کاوشگرهای بلوک، کتابخانه های توسعه جلویی، کیف پول)
  • ابزارهای توسعه (به عنوان مثال، Truffle، Remix، MetaMask)
  • توکن های اتریوم از طریق پل ها (به عنوان مثال، حرکت توکن، مشاهده وضعیت، ارسال پیام)

مرز¶

Frontier یک لایه سازگاری اتریوم برای Substrate است. هدف Frontier این است که به DApp های استاندارد اتریوم اجازه دهد بدون تغییر روی زنجیره های مبتنی بر Substrate اجرا شوند. Frontier با ارائه برخی از پالت های Substrate که می توانند به یک زمان اجرا Substrate متصل شوند، این امکان را فراهم می کند. پالت های زیر را می توان به طور مستقل، در صورت نیاز، یا به صورت جمعی بسته به عملکرد مورد نظر زنجیره استفاده کرد:

  • پالت EVM - اجرای EVM را کنترل می کند
  • پالت اتریوم - مسئول ذخیره داده های بلوک است و سازگاری RPC را فراهم می کند
  • پالت هزینه پایه - پشتیبانی از تراکنش های EIP-1559 را اضافه می کند و محاسبات هزینه پایه را انجام می دهد
  • پالت هزینه پویا - حداقل قیمت گاز پویا را محاسبه می کند

Moonbeam از پالت های EVM، Ethereum و fee پایه برای دستیابی به سازگاری کامل اتریوم استفاده می کند. Moonbeam از پالت هزینه پویا استفاده نمی کند.

پالت EVM¶

پالت EVM یک ماشین پشته مجازی sandboxed را پیاده سازی می کند و از SputnikVM به عنوان موتور EVM زیربنایی استفاده می کند.

EVM بایت کد قرارداد هوشمند Ethereum را اجرا می کند ، که به طور معمول به زبانی مانند استحکام نوشته شده است ، و سپس آن را در Bytecode EVM کامپایل می کند. هدف از پالت EVM تقلید از قابلیت اجرای قراردادهای هوشمند در اتریوم در زمان اجرا بستر است. به همین ترتیب ، این امکان را می دهد تا کد EVM موجود در blockchains مبتنی بر بستر اجرا شود.

در داخل EVM حسابهای استاندارد H160 Ethereum قرار دارند و داده های مرتبط با آنها مانند تعادل و غیرقانونی دارند. تمام حساب های موجود در EVM توسط یک نوع حساب بستر پشتیبانی می شود که قابل تنظیم است. MoonBeam نوع حساب بستر را پیکربندی کرده است تا یک حساب غیر استاندارد H160 باشد تا کاملاً با اتریوم سازگار باشد. به همین ترتیب ، شما فقط به یک حساب واحد برای تعامل با زمان اجرا بستر و EVM نیاز دارید. برای کسب اطلاعات بیشتر در مورد سیستم حساب MoonBeam ، لطفاً به صفحه حساب های متحد مراجعه کنید.

بدون داشتن یک سیستم حساب های یکپارچه ، یک حساب بستر نقشه برداری می تواند با پالت EVM برای واریز یا خارج کردن مانده از ارز بستر پایه به یک تعادل متفاوت که توسط پالت EVM مدیریت شده و استفاده می شود ، فراخوانی کند. پس از وجود تعادل ، می توان قراردادهای هوشمند ایجاد و با آنها در تعامل قرار گرفت.

پالت EVM همچنین می تواند پیکربندی شود به طوری که هیچ تماس قابل اعزام نمی تواند باعث اجرای EVM به استثنای سایر پالت ها در زمان اجرا شود. MoonBeam با این روش با پالت اتریوم تنها مسئولیت اجرای EVM را پیکربندی می کند. استفاده از پالت اتریوم تعامل EVM را از طریق API اتریوم امکان پذیر می کند.

اگر یک blockchain نیازی به تقلید اتریوم نداشته باشد و فقط به اجرای EVM نیاز دارد ، بستر از مدل حساب خود به طور کامل استفاده می کند و معاملات را به نمایندگی از حساب های EVM امضا می کند. با این حال ، در این مدل RPC های Ethereum در دسترس نیستند ، و DAPP ها باید جلوی خود را با استفاده از API بستر بنویسند.

پالت EVM باید نتایج اجرای تقریباً یکسان را در مقایسه با اتریوم ، مانند هزینه گاز و تغییرات تعادل تولید کند. با این حال، چند تفاوت وجود دارد. لطفاً برای کسب اطلاعات بیشتر به بخش شبکه EVM در مقابل اتریوم از اسناد پالت Frontier EVM مراجعه کنید.

همچنین برخی از پیش فرض ها وجود دارد که می توانند در کنار پالت EVM استفاده شوند که عملکرد EVM را گسترش می دهد. Moonbeam از پیش فرض های EVM زیر استفاده می کند:

  • پالت-EVM-PRECOMPILE-SIMPLE-شامل پنج پیش فرض اساسی: ECRECOVER ، ECRECOVERPUBLICKEY ، هویت ، RIPEMD160 ، SHA256
  • پالت-EVM-PRECOMPILE-blake2-شامل Premompile Blake2
  • PALLET-EVM-PRECOMPILE-BN128-شامل سه PRECOMPILE BN128: BN128ADD ، BN128MUL و BN128PAIRING
  • پالت-EVM-PRECOMPILE-Modexp-شامل پیشکسوت بازنمایی مدولار است
  • پالت-EVM-PROCOMPILE-SHA3FIPS-شامل پیش فرض استاندارد SHA3 است
  • پالت-EVM-PRECOMPILE-DISPATCH-شامل Premompile Dipatch است

می توانید یک نمای کلی از بیشتر این پیشکسوت ها را در صفحه قراردادهای پیش ساخته Ethereum Mainnet پیدا کنید.

اتریوم پالتو

پالت Ethereum مسئول رسیدگی به بلوک ها و رسیدهای معامله و وضعیت است. این امکان را برای ارسال و دریافت داده های با فرمت اتریوم به و از طریق Moonbeam با ذخیره یک بلوک به سبک اتریوم امکان پذیر می کند و این هشدهای معامله مرتبط با آن در زمان اجرا بستر است.

هنگامی که یک کاربر معامله Ethereum خام را ارسال می کند ، از طریق معامله بیرونی پالت اتریوم به معامله بستر تبدیل می شود. با استفاده از پالت اتریوم به عنوان تنها مجری پالت EVM ، تمام داده ها را مجبور می کند تا به روشی سازگار با اتریوم ذخیره و معامله شوند. این امر باعث می شود تا کاشفان بلوک مانند Moonscan ، که توسط Etherscan ساخته شده است ، قادر به فهرست بندی داده های بلوک باشد.

همراه با پشتیبانی از داده های سبک اتریوم ، پالت اتریوم همراه با ماژول RPC پشتیبانی RPC را فراهم می کند. این امکان استفاده از روشهای اساسی Ethereum JSON-RPC را فراهم می کند که در نهایت اجازه می دهد تا DAPP های Ethereum موجود با حداقل تغییرات به Moonbeam مستقر شوند.

پالت هزینه پایه

پالت هزینه پایه وظیفه محاسبه هزینه پایه برای معاملات EIP-1559 را بر عهده دارد. این الگوریتم یکی از موارد ذکر شده در استاندارد EIP-1559 را دنبال می کند. در ترکیب با پالت EVM و پالت Ethereum ، maxfeepergas و maxpriorityfeepergas می توانند به جای GasPrice استفاده شوند و در نهایت پشتیبانی از معاملات EIP-1559 را در Moonbeam اضافه می کنند.

تجارت با گزینه‌‌های باینری...
ما را در سایت تجارت با گزینه‌‌های باینری دنبال می کنید

برچسب : نویسنده : نازنین فراهانی بازدید : 43 تاريخ : سه شنبه 16 خرداد 1402 ساعت: 19:26