کامپیایل قرارداد هوشمند در سالیدیتی
زبان سالیدیتی (Solidity) نیز مانند سایر زبانهای برنامه نویسی دارای کامپایلر مخصوص به خودش است. کدهای سایدیتی داخل کامپایلر خود کامپایل شده و در نتیجه آن 2 قسمت از اطلاعات را جهت استقرار تولید می کند:
الف) ABI ب) Bytecode
ABI و Bytecode چیست؟
ABI یا Application Binary Interface در علم کامپیوتر یعنی یک رابط بین دو ماژول برنامه. همواره Interface ها به یک سطح پایین تر یعنی ABI کامپایل میشوند.
ماشین مجازی اتریوم (EVM) جزء اصلی شبکه اتریوم است (قلب اتریوم) و قرارداد هوشمند ، قطعات کد ذخیره شده در بلاکچین اتریوم است که روی EVM اجرا می شود
حال توجه کنید که کدهای قرارداد هوشمند که به زبان های سطح بالا (مانند سالیدیتی) نوشته شده اند نیاز است کامپایل شوند به EVM Bytecode.
پس میتونیم بگیم: Bytecode یک کد قابل اجرا (سطح پایین) بر روی EVM است و ABI contract یک رابط جهت تعامل با Bytecode.
به عنوان مثال اگر شما بخواهید یک تابع را در قرارداد هوشمند را با کدهای جاوااسکریپت خودتون فراخوانی کنید، اینجاست که ABI یک نقش واسطه بین کدهای جاوااسکریپت و Bytecode در EVM ایفا می کند جهت چی؟ جهت تعامل بایکدیگر. جزئیات بیشتر در مورد قراردادهای هوشمند رو میتونید در پیج sal.chain پیدا کنید.
نکته: Bytecode برای انسان قابل خواندن نیست و تنها برای ماشین قابل خواندن است.
میتونیم بگیم ABI خیلی شبیه به API یا Application Program Interface است. در واقع ABI ها مدها و ساختارهای مورد استفاده برای تعامل با قرارداد را تعریف می کند درست مانند API اما در سطح پایین تر.
مثال: در شکل زیر میتونید نمونه یک قرارداد هوشمند ساده در سالیدیتی و همچینی Bytecode آن را مشاهده کنید:
*سالیدیتی یک زبان برنامه نویسی سطح بالا برای نوشتن قراردادهای هوشمند روی شبکه بلاکچین اتریوم می باشد.
*این زبان از زبان های برنامه نویسی پایتون، سی پلاس پلاس و جاوا اسکریپت الهام گرفته شده و برای پیاده سازی بر روی ماشین مجازی اتریوم (EVM) مورد استفاده قرار می گیرد.
مطالب زیر را حتما بخوانید
-
آموزش کیف پول تراست (Trust Wallet) – 2025
55 بازدید
-
آموزش انتقال ارز دیجیتال از BEP2 به BEP20 با تراست ولت 2025
181 بازدید
-
تبدیل همستر به تون کوین در تون کیپر Tonkeeper
415 بازدید
-
آموزش کیف پول تون کیپر Tonkeeper Wallet (موبایل و کامپیوتر)
339 بازدید
-
آموزش وارپکست و فارکستر – تصویری [صفرتا صد]
2.12k بازدید
-
zkEVM چیست؟
1.61k بازدید
دیدگاهتان را بنویسید