سالیدیفا

اوراکل ها چین و چرا بهشون نیاز داریم؟

وقتی تو قراردادتون به اطلاعاتی خارج از بلاکچین نیاز دارین، یکی از بهترین راهکار ها استفاده از اوراکل هاست. در واقع اوراکل ها ابزارین که دیتای خارج از بلاکچین رو وارد بلاکچین میکنن. مثل چی؟ مثب قیمت طلا، قیمت سهام، قیمت نفت و … بسته به پروژه و نیازهاش، هم میشه یه اوراکل رو پیاده […]

چطور داده هامون رو تو اسلات مورد نظر ذخیره کنیم؟

فضای ذخیره سازی تو سالیدیتی شبیه یه آرایه به طول  2^256 ه که هر اسلات اون میتونه 32 بایت دیتا رو تو خودش جا بده. ترتیب پر شدن اسلات ها به طور پیش فرض به ترتیب تعریف شدن متغیر ها و نوعشان تعیین می شه. اما با استفاده از کد اسمبلی میتونیم تو هر اسلاتی […]

چطوری تو سالیدیتی اعداد تصادفی تولید کنیم؟

هیچ تابعی تو سالیدیتی نداریم که با صدا زدنش عدد تصادفی دریافت کنیم. پس مجبوریم خودمون دست به کار بشیم. مثل بسیاری از زبان ها، تو قرارداد های هوشمند هم میشه از روش کلاسیک تولید اعداد تصادفی استفاده کرد. استفاده محض از کد های زیر به هیچ عنوان پیشنهاد نمیشه. چرا که بسته به نوع […]

فهرست opcode ها و نحوه تبدیل به bytecode

بحث کد های کامپایل شده تو سالیدیتی اونقدر مهمه که دوباره سراغ opcode ها اومدیم. میخوایم با فهرست کامل تری از opcode ها آشنا بشیم. بعدش با یه مثال روش تبدیل opcode به bytecode رو یاد بگیریم.

Opcode چیه؟ و چه ارتباطی با بایت کد داره؟

وقتی خروجی کامپایلر سالیدیتی رو بررسی می کنیم به بخش مهمی به نام opcode می رسیم که از اصطلاحاتی مثل PUSH1 ، SSTORE ، SSTORE و … تشکیل شده. این اصطلاحاتی چین و چرا برامون مهمن؟

ByteCode چیه؟ و چرا باید از بایت‌کد استفاده کنیم؟

بایت کد چیه؟ بایت کد ها نتیجه کامپایل کد های سطح بالا قابل درک برای انسان، به کد های سطح پایین قابل فهم و اجرا توسط ماشینه(مثل ماشین مجازی اتریوم). به بایت کد ها، کد های قابل حمل هم میگیم. چون مستقل از سخت افزار خود ماشین میتونن تو ماشینی که EVM روی آن نصب […]

محاسبه حجم بایت کد قرارداد هوشمند با Hardhat Contract Sizer

در مقالات قبلی از اهمیت کنترل حجم قرارداد هوشمند صحبت کردیم و حتی با ترافل کانترک سایز، حجم اسمارت کانترکتمان را نیز محاسبه کردیم. حال برای کسانی که به هارد هت را به ترافل ترجیح می دهند، قرار است انجام همین کار با hardhat contract sizer انجام بدیم.

ERC در اتریوم به چه معناست؟

ERC در واقع مخفف Ethereum Request for Comments است. ترجمه لغوی این عبارت به فارسی بیانگر مهفوم آن نیست اما به بیان ساده تر مجموعه ای از اسناد فنی است که در مورد روش ها، نوآوری ها و تحقیقات، اطلاعات خوبی را در اختیار توسعه دهندگان و فعالان اکوسیستم اتریوم میگذارد. شاید برایتان جالب باشد […]

سالیدیتی 0.8.18 منتشر شد + تغییراتی که لازم است بدانیم

هر نسخه جدیدی از سالیدیتی که عرضه می شود، گویا روح تازه ای به این زبان دمیده میشود. هرچند تغییر نسخه از ۰.۸.۱۷ به ۰.۸.۱۸ یک تغییر کوچک حساب می شود اما چند تا چیز مهم هست که لازم است در مورد این نسخه بدانیم. این نسخه از سایدیتی از بروزرسانی پاریس پشتیبانی می کند. […]