• آکادمی سالچین- صفحه اصلی
  • مقالات
  • فروشگاه
  • ارتباط با ما
 

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
آکادمی سالچین
  • صفحه اصلی
  • مقالات
  • فروشگاه
  • ارتباط با ما
0
هیچ محصولی در سبد خرید نیست.
ورود به حساب
0
هیچ محصولی در سبد خرید نیست.
ورود / ثبت نام

وبلاگ

آکادمی سالچین | Salchain Academy مقالات بلاکچین کامپیایل قرارداد هوشمند در سالیدیتی

کامپیایل قرارداد هوشمند در سالیدیتی

بلاکچین
ارسال شده توسط صالح راهپیما
۱۴۰۱/۰۱/۱۷
1.53k بازدید
کامپایل سالیدیتی

زبان سالیدیتی (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 در فرمت فایل JSON نشان داده میشود و رمزگذاری میوشد که این رمزگذاری عمدتا خودکار است و توسط کامپایلر هایی مانند Remix یا کیف پول هایی که با بلاکچین در تعامل هستند صورت میگیرد.

میتونیم بگیم ABI خیلی شبیه به API یا Application Program Interface است. در واقع ABI ها مدها و ساختارهای مورد استفاده برای تعامل با قرارداد را تعریف می کند درست مانند API اما در سطح پایین تر.

مثال: در شکل زیر میتونید نمونه یک قرارداد هوشمند ساده در سالیدیتی و همچینی Bytecode آن را مشاهده کنید:

کد سالیدیتی

بایت کد سالیدیتی

*سالیدیتی یک زبان برنامه نویسی سطح بالا برای نوشتن قراردادهای هوشمند روی شبکه بلاکچین اتریوم می باشد.

*این زبان از زبان های برنامه نویسی پایتون، سی پلاس پلاس و جاوا اسکریپت الهام گرفته شده و برای پیاده سازی بر روی ماشین مجازی اتریوم (EVM) مورد استفاده قرار می گیرد.

اشتراک گذاری:
درباره صالح راهپیما

دولوپر بلاکچین و هوش مصنوعی

سایر نوشته های صالح راهپیما

آکادمی سالچین - سالیدیتی

مطالب زیر را حتما بخوانید
  • رمز ارز ترامپ
    رمز ارز ترامپ چیست؟ (OFFICIAL TRUMP) – 2025

    499 بازدید

  • آموزش تراست ولت Trust wallet
    آموزش کیف پول تراست (Trust Wallet) – 2025

    561 بازدید

  • انتقال ارز دیجیتال از BEP2 به BEP20 با تراست ولت
    آموزش انتقال ارز دیجیتال از BEP2 به BEP20 با تراست ولت 2025

    1.51k بازدید

  • تبدیل همستر به تون در تون کیپر
    تبدیل همستر به تون کوین در تون کیپر Tonkeeper

    947 بازدید

  • کیف پول تون کیپر
    آموزش کیف پول تون کیپر Tonkeeper Wallet (موبایل و کامپیوتر)

    1.11k بازدید

  • آموزش وارپکست
    آموزش وارپکست و فارکستر – تصویری [صفرتا صد]

    3.39k بازدید

قدیمی تر 4 گره (نود) کلیدی در بلاکچین اتریوم
جدیدتر ساختار بلاکچین

دیدگاهتان را بنویسید لغو پاسخ

آکادمی سالچین

درباره سالچین

ارائه راهکارهای نوین وب 3، بلاکچین، ارز دیجیتال (رمزارز) و NFT. آکادمی سالچین بطور تخصصی در مشاوره و راه اندازی پروژه ها و همچنین آموزش مباحث  بلاکچین، ارز دیجیتال، زبان برنامه نویسی سالیدیتی و ان اف تی (NFT) فعالیت میکند.

فهرست منو
  • جلسه مشاوره
  • مقالات
  • دوره سالیدیتی
  • دوره NFT
  • دوره کیف پول ارز دیجیتال
شگفت زده شوید!

  • آدرس: تهران، خ شریعتی
  • تماس: تلگرام salchain
  • ایمیل: office[at]salchain.ir

©2025 - All Rights Reserved | تمامی حقوق برای آکادمی سالچین محفوظ می باشد.

ساخته شده: آکادمی سالچین

درخواست مشاوره رایگان

مشاوره

0219996000

در صورت نیاز به مشاوره می توانید فرم را تکمیل نمایید و یا با ما در ارتباط باشید.

ورود | ثبت نام
ورود
ورود با رمز یکبار مصرف
فراموشی رمز عبور
اعتبارسنجی

ارسال کد به ایمیل
ارسال کد به موبایل
ثبت نام

  • حداقل 8 کاراکتر
  • حروف کوچک و بزرگ انگلیسی
  • شامل عدد
  • شامل کارکتر علائم ویژه (*)
بازیابی رمز عبور

  • حداقل 8 کاراکتر
  • حروف کوچک و بزرگ انگلیسی
  • شامل عدد
  • شامل کارکتر علائم ویژه (*)
بازگشت
ورود با رمزعبور
جستجو

جستجو با زدن Enter و بستن با زدن ESC