ما فقط میتونیم کمکتون کنیم که پروژهها رو بهتر درک کنین، ولی تصمیم نهایی با خودتونه. برای همین تو این کانال نه سیگنال میدم، نه ایردراپی رو پیشنهاد میکنم مگر اینکه شناخت کافی به پروژه داشته باشم! چون اصلاً به این کار اعتقادی ندارم! وگرنه میتونستم هر روز یه عالمه توکن معرفی کنم، همشونم پامپ بشن، شما هم کلی سود کنین! ولی هدف این نیست. ما اینجا اومدیم که منطقی و واقعی جلو بریم، نه اینکه دنبال موجهای الکی باشیم.
اصطلاح DYOR یا «Do Your Own Research» به معنی "تحقیق شخصی خود را انجام دهید" یکی از مهمترین اصول در دنیای سرمایهگذاری، ارزهای دیجیتال و پروژههای نوآورانه است. این مفهوم تأکید میکند که به جای تکیه بر حرف دیگران، خودتان دربارهی یک پروژه، توکن، سهام یا هر نوع سرمایهگذاری تحقیق کنید و با دانش کافی تصمیم بگیرید.
۱. جلوگیری از کلاهبرداری
بازار کریپتو و دیگر حوزههای مالی پر از پروژههای کلاهبرداری و شتکوینهایی است که فقط برای جذب سرمایه و خروج سرمایهگذاران اولیه طراحی شدهاند. بدون تحقیق، احتمال افتادن در دام این پروژهها زیاد است.
۲.جلوگیری از فومو (FOMO)
خیلی وقتها پروژههایی با تبلیغات سنگین باعث ایجاد ترس از دست دادن فرصت (FOMO) میشوند. اما با تحقیق دقیق، میتوانید تصمیم بگیرید که آیا واقعاً ارزش ورود دارد یا فقط یک هایپ کوتاهمدت است.
۳. درک واقعی پروژه
تحقیق شخصی باعث میشود بفهمید که پروژه چه مشکلی را حل میکند، تیم آن چه کسانی هستند، تکنولوژی پشت آن چیست و آیا پتانسیل رشد دارد یا خیر.
۴. مدیریت ریسک بهتر
وقتی اطلاعات کافی داشته باشید، میتوانید بهتر تصمیم بگیرید که چقدر سرمایه وارد کنید و چه زمانی خارج شوید. این باعث کاهش احتمال ضررهای سنگین میشود.
چگونه DYOR کنیم؟
✅ بررسی کاغذ سفید (Whitepaper)
✅ تحلیل تیم یا فاندر و توسعهدهنده
✅ بررسی جامعه و اکوسیستم
✅ تحلیل زیر ساختها و ماهیت توکن
✅ تحلیل تکنیکال و فاندامنتال
✅ مقایسه با رقبا
نتیجهگیری
در دنیای پرریسک و پویای ارزهای دیجیتال، DYOR یعنی محافظت از سرمایهی خودتان! همیشه قبل از هر تصمیم مالی، تحقیق کنید و کورکورانه به حرف دیگران اعتماد نکنید. یاد بگیرید که دادهها و اطلاعات را تحلیل کنید، چون در نهایت مسئولیت سود و زیان شما فقط بر عهدهی خودتان است. 🚀
من هم به نوبهٔ خودم یک توسعهدهندهام و شاید از نظر خیلیها حوصلهسربر باشم چون سیگنال مداوم و جذاب نمیدم، ولی همیشه منطق رو به احساسات ترجیح میدم.
https://warpcast.com/compez.eth/0x55ed4c55
#DYOR #تحقیق #تحلیل
Please open Telegram to view this post
VIEW IN TELEGRAM
Warpcast
C O M P Ξ Z on Warpcast
☄️ You must prioritize your own research and analysis. ⚡️
We can only help you better understand projects, but the final decision is yours. We are here to move forward logically and realistically, not to chase meaningless hype.
⚠️ What is DYOR and why…
We can only help you better understand projects, but the final decision is yours. We are here to move forward logically and realistically, not to chase meaningless hype.
⚠️ What is DYOR and why…
❤2
COMPΞZ 🧬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🙏1
COMPΞZ 🧬
برو بچههای توسعهٔ فارکستر همه باهم یه جا همین الآن! 😄
خب جلسه تموم شد!!! 🔥
مهمترین موضوعات اینها بودند:
پروتکل Farcaster در حال جایگزینی هابها با Snapchain Mainnet است. (موضوع مهم برای همهٔ توسعهدهندههاست).
از ۱۲ آوریل به بعد، توسعهدهندگان باید از Snapchain برای خواندن و نوشتن دادهها استفاده کنند. از ۱۵ هم آوریل، هابها شروع به عقب ماندن میکنند و ممکن است دادههایشان از بین برود.
در نهایت، هابها بهطور کامل خاموش خواهند شد.
✅ اگر هاب خود را اجرا میکنید، باید به Snapchain مهاجرت کنید، در غیر این صورت دادههای شما از دست میرود. 🚀
- یک سوأل مهم مطرح شد که اینهمه ایردراپ میان سمت فارکستر، باید یه ویژگیای باشه که جلوی اسکمها رو بگیریم. در این خصوص برنامههایی خواهند داشت!
- سیستم فعلی امتیازدهی از کیفها حذف شده، برای همین دیگه اون امتیازهای احراز هویت رو نمیبینیم؛ اما نیاز به بررسی داره.
- تمرکز بیشتر روی پشتیبانی از سولانا خواهیم داشت.
مهمترین موضوعات اینها بودند:
پروتکل Farcaster در حال جایگزینی هابها با Snapchain Mainnet است. (موضوع مهم برای همهٔ توسعهدهندههاست).
از ۱۲ آوریل به بعد، توسعهدهندگان باید از Snapchain برای خواندن و نوشتن دادهها استفاده کنند. از ۱۵ هم آوریل، هابها شروع به عقب ماندن میکنند و ممکن است دادههایشان از بین برود.
در نهایت، هابها بهطور کامل خاموش خواهند شد.
✅ اگر هاب خود را اجرا میکنید، باید به Snapchain مهاجرت کنید، در غیر این صورت دادههای شما از دست میرود. 🚀
- یک سوأل مهم مطرح شد که اینهمه ایردراپ میان سمت فارکستر، باید یه ویژگیای باشه که جلوی اسکمها رو بگیریم. در این خصوص برنامههایی خواهند داشت!
- سیستم فعلی امتیازدهی از کیفها حذف شده، برای همین دیگه اون امتیازهای احراز هویت رو نمیبینیم؛ اما نیاز به بررسی داره.
- تمرکز بیشتر روی پشتیبانی از سولانا خواهیم داشت.
👍3
COMPΞZ 🧬
خب جلسه تموم شد!!! 🔥 مهمترین موضوعات اینها بودند: پروتکل Farcaster در حال جایگزینی هابها با Snapchain Mainnet است. (موضوع مهم برای همهٔ توسعهدهندههاست). از ۱۲ آوریل به بعد، توسعهدهندگان باید از Snapchain برای خواندن و نوشتن دادهها استفاده کنند. از…
خب اسنپچین چی هست؟
این Snapchain یک لایه ذخیرهسازی داده برای پروتکل اجتماعی Farcaster است. یک شبکه غیرمتمرکز همتابههمتا (P2P) مشابه بلاکچین است که دادههای ایجادشده توسط کاربران Farcaster را ذخیره میکند.
اهداف اصلی Snapchain:
✅ توان عملیاتی بالا: نوشتهشده با Rust، پردازش حداقل ۱۰,۰۰۰ تراکنش در ثانیه
✅ دسترسپذیری داده: اجرای آن با هزینه کمتر از ۱,۰۰۰ دلار در ماه و دسترسی بلادرنگ به دادههای کاربران
✅ پیادهسازی مرجع: معتبرترین منبع برای نحوه عملکرد Snapchain و Farcaster
وضعیت کنونی:
فعلاً Snapchain در فاز مهاجرت قرار دارد.
اجرای یک نود Snapchain:
برای راهاندازی یک نود و خواندن/نوشتن پیامها در شبکه، به یک سرور با مشخصات زیر نیاز دارید:
🔹 ۱۶ گیگابایت RAM مورد نیاز
🔹 ۴ هسته CPU یا vCPU باهم
🔹 ۱ ترابایت فضای ذخیرهسازی آزاد
🔹شناسهٔ IP عمومی
🔹 باز بودن پورتهای 3381 - 3383 روی TCP و UDP
https://github.com/farcasterxyz/snapchain
این Snapchain یک لایه ذخیرهسازی داده برای پروتکل اجتماعی Farcaster است. یک شبکه غیرمتمرکز همتابههمتا (P2P) مشابه بلاکچین است که دادههای ایجادشده توسط کاربران Farcaster را ذخیره میکند.
اهداف اصلی Snapchain:
✅ توان عملیاتی بالا: نوشتهشده با Rust، پردازش حداقل ۱۰,۰۰۰ تراکنش در ثانیه
✅ دسترسپذیری داده: اجرای آن با هزینه کمتر از ۱,۰۰۰ دلار در ماه و دسترسی بلادرنگ به دادههای کاربران
✅ پیادهسازی مرجع: معتبرترین منبع برای نحوه عملکرد Snapchain و Farcaster
وضعیت کنونی:
فعلاً Snapchain در فاز مهاجرت قرار دارد.
اجرای یک نود Snapchain:
برای راهاندازی یک نود و خواندن/نوشتن پیامها در شبکه، به یک سرور با مشخصات زیر نیاز دارید:
🔹 ۱۶ گیگابایت RAM مورد نیاز
🔹 ۴ هسته CPU یا vCPU باهم
🔹 ۱ ترابایت فضای ذخیرهسازی آزاد
🔹شناسهٔ IP عمومی
🔹 باز بودن پورتهای 3381 - 3383 روی TCP و UDP
https://github.com/farcasterxyz/snapchain
GitHub
GitHub - farcasterxyz/snapchain: The open-source, canonical implementation of Farcaster's Snapchain network.
The open-source, canonical implementation of Farcaster's Snapchain network. - farcasterxyz/snapchain
👍1
COMPΞZ 🧬
خب اسنپچین چی هست؟ این Snapchain یک لایه ذخیرهسازی داده برای پروتکل اجتماعی Farcaster است. یک شبکه غیرمتمرکز همتابههمتا (P2P) مشابه بلاکچین است که دادههای ایجادشده توسط کاربران Farcaster را ذخیره میکند. اهداف اصلی Snapchain: ✅ توان عملیاتی بالا: نوشتهشده…
خب بخشی از برنامههای من بهم ریخت!
قرار بود روی قضیهٔ نود تمرکز کنیم، اما از این به بعد باید بریم روی سیستم اسنپچین که فقط مشابه بلاکچین هست نه خود اون! 😐 آی دهنت سرویس وارون! یهو یه چیزی رونمایی کردن کل برنامههامون بهم ریخت.
قرار بود روی قضیهٔ نود تمرکز کنیم، اما از این به بعد باید بریم روی سیستم اسنپچین که فقط مشابه بلاکچین هست نه خود اون! 😐 آی دهنت سرویس وارون! یهو یه چیزی رونمایی کردن کل برنامههامون بهم ریخت.
😢1
COMPΞZ 🧬
خب بخشی از برنامههای من بهم ریخت! قرار بود روی قضیهٔ نود تمرکز کنیم، اما از این به بعد باید بریم روی سیستم اسنپچین که فقط مشابه بلاکچین هست نه خود اون! 😐 آی دهنت سرویس وارون! یهو یه چیزی رونمایی کردن کل برنامههامون بهم ریخت.
از نظر فنی خیلی خوبه!
به هر حال، تیم به خوبی پیش میره و در بلند مدت سازو کار خیلی بیشتری رو میشه ایدهپردازی و توسعه داد.
ایدههای بیشتری به ذهنم رسید در بلند مدت میتونیم روشون فکر کنیم. 😄🔥👊🏼🚀
به هر حال، تیم به خوبی پیش میره و در بلند مدت سازو کار خیلی بیشتری رو میشه ایدهپردازی و توسعه داد.
ایدههای بیشتری به ذهنم رسید در بلند مدت میتونیم روشون فکر کنیم. 😄🔥👊🏼🚀
👍2
وسط اینهمه دنگ و فنگ بهروز شدن خودش داستانه.
با اینهمه موضوع فنی در حال تغییر و دگرگونی مگه وقت میکنیم بریم پست و کست بنویسیم آخه. 😣
با اینهمه موضوع فنی در حال تغییر و دگرگونی مگه وقت میکنیم بریم پست و کست بنویسیم آخه. 😣
🥴2😁1
COMPΞZ 🧬
وسط اینهمه دنگ و فنگ بهروز شدن خودش داستانه. با اینهمه موضوع فنی در حال تغییر و دگرگونی مگه وقت میکنیم بریم پست و کست بنویسیم آخه. 😣
بعد فکرشو بکن طرف میاد میگه کامپز به من تیپ نمیده! بهش تیپ ندین... 😂 من به چیا فکر میکنم اون به چی فکر میکنه!😩 تیپ کیلو چنده آخه اصل داستان اون پشت مشتاست برای ما. 😍🤣
👍3🤣3
COMPΞZ 🧬
خب جلسه تموم شد!!! 🔥 مهمترین موضوعات اینها بودند: پروتکل Farcaster در حال جایگزینی هابها با Snapchain Mainnet است. (موضوع مهم برای همهٔ توسعهدهندههاست). از ۱۲ آوریل به بعد، توسعهدهندگان باید از Snapchain برای خواندن و نوشتن دادهها استفاده کنند. از…
به زبان PHP هم نیاز داریم بهش اگه کسی آمادگی داره بهم اطلاع بده.
کلی کار برای انجام داریم، شاید این فرصت خوبی باشه برای اینکه بتونی بخشی از تیم توسعه باشی.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
COMPΞZ 🧬
خب! درود بر برنامهنویس عالم! چالش سی روزه رو آغاز میکنم 🫵🏼✍🏼 اما هدف آموزش نحوهٔ کدنویسی با C++23 و Solidity. شما هم میتونید نکته برداری کنید، منم هدفم اینه هرچی به روز رسانی کردم رو یادداشت کنم تا دوباره برای خودم مرور بشه. هیچ سخت نیست، تنهایی پیش…
ویژگی std::basic_stacktrace کلاسی است که در استاندارد ۲۳ معرفی شده و برای ثبت تصویری (اسنپ شات) از «پشته فراخوانی» یا همان «stack trace» فعلی به کار میرود. این اطلاعات میتواند برای اشکالزدایی (debugging) مفید باشد، زیرا به شما امکان میدهد تا دنبالهای از فراخوانی توابعی که به یک نقطه خاص در اجرای برنامه شما منجر شدهاند را مشاهده کنید.
همچنین با استفاده از تابع عضو استاتیک ()std::basic_stacktrace::current میتوانید پشته فراخوانی را در نقطهای که این تابع فراخوانی میشود ثبت کنید. از طرفی std::basic_stacktrace به عنوان یک مخزن عمل میکند که اطلاعات مربوط به هر فراخوانی تابع در پشته فراخوانی را نگه میدارد. این اطلاعات در اشیاء std::stacktrace_entry ذخیره میشوند.
با وجود اینکه std::basic_stacktrace مانند یک مخزن استاندارد با iterators و توابع دسترسی عمل میکند، اما عمدتاً از "مفاهیم انتقال (move semantics) و عملیات مربوط به دسترسی ثابت را پشتیبانی میکند.
این الگوی کلاس به شما اجازه میدهد تا یک تخصیصدهنده سفارشی برای مدیریت حافظه مشخص کنید، که میتواند در سناریوهای خاصی مانند سیستمهای تعبیهشده (embedded) مفید باشد.
در این مثال، تابع bar ابتدا تابع foo را فراخوانی میکند و سپس از std::basic_stacktrace::current برای چاپ پشته فراخوانی فعلی استفاده میکند. خروجی نشان میدهد که پشته فراخوانی شامل سه فریم است: bar، foo و main.
#cpp20 #cpp23 #basic_stacktrace #چالش #سیروزه #رمضان #روز_بیست_و_پنجم
همچنین با استفاده از تابع عضو استاتیک ()std::basic_stacktrace::current میتوانید پشته فراخوانی را در نقطهای که این تابع فراخوانی میشود ثبت کنید. از طرفی std::basic_stacktrace به عنوان یک مخزن عمل میکند که اطلاعات مربوط به هر فراخوانی تابع در پشته فراخوانی را نگه میدارد. این اطلاعات در اشیاء std::stacktrace_entry ذخیره میشوند.
با وجود اینکه std::basic_stacktrace مانند یک مخزن استاندارد با iterators و توابع دسترسی عمل میکند، اما عمدتاً از "مفاهیم انتقال (move semantics) و عملیات مربوط به دسترسی ثابت را پشتیبانی میکند.
این الگوی کلاس به شما اجازه میدهد تا یک تخصیصدهنده سفارشی برای مدیریت حافظه مشخص کنید، که میتواند در سناریوهای خاصی مانند سیستمهای تعبیهشده (embedded) مفید باشد.
import <print>;
import <stacktrace>;
auto foo() -> void {
std::println("Inside foo(){}");
bar();
}
auto bar() -> void {
std::println("Inside bar(){}");
// Print the stack trace
auto stacktrace = std::basic_stacktrace::current();
for (const auto& entry : stacktrace) {
std::println("{}", entry.function_name());
}
}
auto main() -> int {
foo();
}
در این مثال، تابع bar ابتدا تابع foo را فراخوانی میکند و سپس از std::basic_stacktrace::current برای چاپ پشته فراخوانی فعلی استفاده میکند. خروجی نشان میدهد که پشته فراخوانی شامل سه فریم است: bar، foo و main.
#cpp20 #cpp23 #basic_stacktrace #چالش #سیروزه #رمضان #روز_بیست_و_پنجم
بخش تخصصی دوم (بهروز رسانی Solidity) |سربارگذاری توابع (Function Overloading)
در سالیدیتی، یک قرارداد میتواند چندین تابع با نام یکسان اما با انواع پارامترهای متفاوت داشته باشد. این فرایند «اضافه بارگذاری» (overloading) نامیده میشود و برای توابع به ارثرسیده نیز اعمال میشود و تقریباً مشابه سربارگذاری توابع در سیپلاسپلاس است.
مثال زیر اضافه بارگذاری تابع f در محدوده قرارداد A را نشان میدهد.
توابع اضافه بارگذاری شده همچنین در رابط خارجی (external interface) وجود دارند. اگر دو تابع قابل مشاهده خارجی از نظر نوع سالیدیتی متفاوت باشند اما از نظر نوع خارجی (external) یکسان باشند، خطا رخ میدهد.
هر دو نسخه از تابع f که بارگذاری اضافه شدهاند، علیرغم اینکه داخل سالیدیتی از هم جدا درنظر گرفته میشوند، در نهایت برای رابط باینری کاربردی (ABI) نوع دادهی آدرس «address» را قبول میکنند. به عبارت دیگر، برنامههای خارجی که با قرارداد شما کار میکنند فقط نوع دادهی «address» را برای هر دو تابع f میبینند، حتی اگر داخل خود قرارداد سالیدیتی شما این دو تابع با هم فرق داشته باشند.
در سالیدیتی، یک قرارداد میتواند چندین تابع با نام یکسان اما با انواع پارامترهای متفاوت داشته باشد. این فرایند «اضافه بارگذاری» (overloading) نامیده میشود و برای توابع به ارثرسیده نیز اعمال میشود و تقریباً مشابه سربارگذاری توابع در سیپلاسپلاس است.
مثال زیر اضافه بارگذاری تابع f در محدوده قرارداد A را نشان میدهد.
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.16 <0.9.0;
contract A {
function f(uint value) public pure returns (uint out) {
out = value;
}
function f(uint value, bool really) public pure returns (uint out) {
if (really)
out = value;
}
}
توابع اضافه بارگذاری شده همچنین در رابط خارجی (external interface) وجود دارند. اگر دو تابع قابل مشاهده خارجی از نظر نوع سالیدیتی متفاوت باشند اما از نظر نوع خارجی (external) یکسان باشند، خطا رخ میدهد.
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.16 <0.9.0;
// This will not compile
contract A {
function f(B value) public pure returns (B out) {
out = value;
}
function f(address value) public pure returns (address out) {
out = value;
}
}
contract B {
}
هر دو نسخه از تابع f که بارگذاری اضافه شدهاند، علیرغم اینکه داخل سالیدیتی از هم جدا درنظر گرفته میشوند، در نهایت برای رابط باینری کاربردی (ABI) نوع دادهی آدرس «address» را قبول میکنند. به عبارت دیگر، برنامههای خارجی که با قرارداد شما کار میکنند فقط نوع دادهی «address» را برای هر دو تابع f میبینند، حتی اگر داخل خود قرارداد سالیدیتی شما این دو تابع با هم فرق داشته باشند.
COMPΞZ 🧬
ویژگی std::basic_stacktrace کلاسی است که در استاندارد ۲۳ معرفی شده و برای ثبت تصویری (اسنپ شات) از «پشته فراخوانی» یا همان «stack trace» فعلی به کار میرود. این اطلاعات میتواند برای اشکالزدایی (debugging) مفید باشد، زیرا به شما امکان میدهد تا دنبالهای…
کلاس الگوی std::flat_map در استاندارد ۲۳ یکی از اعضای موجود در مخازن تخت (Flat) است؛ برخلاف مخازن استاندارد مانند set، map، multimap و multiset که از درختان جستجوی دودویی برای ذخیره دادهها استفاده میکنند این نسخهها از مخازن ترتیبی (مانند std::vector، std::array یا حتی std::deque) به عنوان ساختار زیربنایی خود استفاده میکنند. اعضای معرفی شده نسخهٔ تخت از map | set | multimap | multiset میباشد که به صورت زیر خواهند بود:
استفاده از مخازن ترتیبی به جای درختان جستجوی دودویی، مزایای متعددی را برای مخازن تخت به ارمغان میآورد و برای مواردی که درج، حذف و تکرار مکرر دادهها رایج است، ایدهآل هستند:
۱) عملکرد بهتر: مخازن تخت معمولاً عملکرد بهتری برای عملیاتهایی مانند درج، حذف و تکرار ارائه میکنند.
۲) استفاده از حافظه کمتر: مخازن تخت معمولاً حافظه کمتری نسبت به مخازن انجمنی استاندارد استفاده میکنند.
مخازن تخت در استاندارد ۲۳ یک ابزار جدید قدرتمند هستند که میتوانند در بسیاری از موارد استفاده، عملکرد و کارایی برنامه شما را بهبود بخشند.
#cpp20 #cpp23 #flat_map #چالش #سیروزه #رمضان #روز_بیست_و_ششم
std::flat_map
std::flat_set
std::flat_multimap
std::flat_multiset
استفاده از مخازن ترتیبی به جای درختان جستجوی دودویی، مزایای متعددی را برای مخازن تخت به ارمغان میآورد و برای مواردی که درج، حذف و تکرار مکرر دادهها رایج است، ایدهآل هستند:
۱) عملکرد بهتر: مخازن تخت معمولاً عملکرد بهتری برای عملیاتهایی مانند درج، حذف و تکرار ارائه میکنند.
۲) استفاده از حافظه کمتر: مخازن تخت معمولاً حافظه کمتری نسبت به مخازن انجمنی استاندارد استفاده میکنند.
import <print>;
import <flat_map>;
auto main() -> int {
std::flat_map<std::string, int> ages = {
{"Kambiz", 35},
{"Hadi", 40},
{"Mohammad", 35}
};
for (const auto& [name, age] : ages) {
std::println("{}, is {}, years old.", name, age);
}
return 0;
}
مخازن تخت در استاندارد ۲۳ یک ابزار جدید قدرتمند هستند که میتوانند در بسیاری از موارد استفاده، عملکرد و کارایی برنامه شما را بهبود بخشند.
#cpp20 #cpp23 #flat_map #چالش #سیروزه #رمضان #روز_بیست_و_ششم
COMPΞZ 🧬
بخش تخصصی دوم (بهروز رسانی Solidity) |سربارگذاری توابع (Function Overloading) در سالیدیتی، یک قرارداد میتواند چندین تابع با نام یکسان اما با انواع پارامترهای متفاوت داشته باشد. این فرایند «اضافه بارگذاری» (overloading) نامیده میشود و برای توابع به ارثرسیده…
بخش تخصصی دوم (بهروز رسانی Solidity) |حل توابع اضافه بار (Overloaded Functions) و تطبیق آرگومان
توابع اضافه بار بر اساس تطبیق اعلان توابع در محدوده فعلی با آرگومان های ارائه شده در فراخوانی تابع انتخاب می شوند. اگر تمام آرگومان ها بتوانند به طور ضمنی به انواع مورد انتظار تبدیل شوند، توابع به عنوان کاندیدای اضافه بار انتخاب می شوند. اگر به طور دقیقاً یک کاندیدا وجود نداشته باشد، حل مشکل با شکست مواجه می شود.
فراخوانی f(50) منجر به خطای نوع داده خواهد شد زیرا 50 هم به نوع uint8 و هم به نوع uint256 قابل تبدیل است. از طرف دیگر، f(256) به f(uint256) ترجمه می شود زیرا 256 به طور ضمنی به uint8 قابل تبدیل نیست.
#solidity #web3 #update #ether #اتریوم
توابع اضافه بار بر اساس تطبیق اعلان توابع در محدوده فعلی با آرگومان های ارائه شده در فراخوانی تابع انتخاب می شوند. اگر تمام آرگومان ها بتوانند به طور ضمنی به انواع مورد انتظار تبدیل شوند، توابع به عنوان کاندیدای اضافه بار انتخاب می شوند. اگر به طور دقیقاً یک کاندیدا وجود نداشته باشد، حل مشکل با شکست مواجه می شود.
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.16 <0.9.0;
contract A {
function f(uint8 val) public pure returns (uint8 out) {
out = val;
}
function f(uint256 val) public pure returns (uint256 out) {
out = val;
}
}
فراخوانی f(50) منجر به خطای نوع داده خواهد شد زیرا 50 هم به نوع uint8 و هم به نوع uint256 قابل تبدیل است. از طرف دیگر، f(256) به f(uint256) ترجمه می شود زیرا 256 به طور ضمنی به uint8 قابل تبدیل نیست.
#solidity #web3 #update #ether #اتریوم
معروفترین و خفنترینشون روی ISP آمازون پشتیبانی میشه.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
COMPΞZ 🧬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
COMPΞZ 🧬
GM ~ 65536 Square https://warpcast.com/compez.eth/0xfce0992b
راز نهفتهٔ قطعهٔ 6️⃣ 3️⃣ 5️⃣ 5️⃣ 6️⃣ اینطور هست
در این تصویر، اعداد مفهومی ۰ و ۱ را در مرکز خواهید یافت که از طریق تولید تصادفی رنگ، بین روشن و تاریک تغییر میکنند. با دقت بیشتر، هشت ذرهٔ اطراف را مشاهده خواهید کرد که هرکدام مفهوم خاص خود را دارند.
🔹 راز تراکنش در بلاکچین
۶۴ بلوک اول، با اندازهی کوچکتر، نشاندهندهٔ یک تراکنش روی بلاکچین هستند. مقدار واقعی، ۶۴ کاراکتر بعد از 0x است که نشاندهندهی آدرس اولین تراکنش خریدار است و توسط Punk 6529 تأیید شده است.
🔹 یگانگی اثر
این اثر کاملاً منحصربهفرد است، زیرا هر بار که تولید میشود، تمام بلوکهای ایجاد شده متفاوت از یکدیگر خواهند بود. یعنی حالتهای آنها (۰/۱) تغییر میکنند و فقط تعداد محدودی از آنها میتوانند تولید شوند.
🔹 ویژگیهای اثر ۳۶,۸۶۴
عدد ۳۶,۸۶۴ یک عدد مرکب زوج است که از حاصلضرب دو عدد اول تشکیل شده است.
🔹 نسل بعدی این اثر، عدد ۶۵,۵۳۶ خواهد بود!
عدد ۶۵,۵۳۶ یک عدد طبیعی است که در علوم مختلف، بهویژه در علوم کامپیوتر و ریاضیات، اهمیت زیادی دارد.
چرا ۶۵,۵۳۶ مهم است؟
🔹 توان ۲:
عدد ۶۵,۵۳۶ برابر با ۲^۱۶ است، یعنی ۲ را ۱۶ بار در خودش ضرب کنیم. این ویژگی آن را در نمایش باینری، آدرسدهی حافظه، و سایر حوزههایی که توانهای ۲ اهمیت دارند، مهم میسازد.
🔹 نمایش باینری:
در قالب باینری، ۶۵,۵۳۶ به صورت 10000000000000000 نمایش داده میشود. این ساختار به دلیل داشتن ۱۶ صفر متوالی، در پردازشهای کامپیوتری کاربرد زیادی دارد.
🔹 حافظه:
در محاسبات، اندازههای حافظه معمولاً بر اساس توانهای ۲ تعیین میشوند. ۶۵,۵۳۶ بایت معادل ۶۴ کیلوبایت است که یک واحد مناسب برای اندازهگیری حافظه محسوب میشود.
🔹 پروتکل اینترنت (IP):
در IPv4، ۶۵,۵۳۶ تعداد پورتهای TCP/IP است که نقش مهمی در ارتباطات شبکه دارد.
🔹 اهمیت در ریاضیات:
عدد ۶۵,۵۳۶ بهعنوان یک توان از ۲، در مفاهیم رشد نمایی و سایر محاسبات ریاضی کاربرد دارد.
🔹 علوم کامپیوتر:
بسیاری از سیستمهای کامپیوتری بر پایه معماری ۱۶ بیتی طراحی شدهاند و این عدد در مدیریت دادهها و آدرسدهی بسیار مهم است.
🔹 بیتکوین و بلاکهای فشرده:
در بیتکوین، محدودیت ۱۶ بیتی در شاخص تراکنشها باعث شده بود که هر بلاک فقط ۶۵,۵۳۶ تراکنش داشته باشد. این محدودیت در بلاکهای بزرگتر از ۴ مگابایت مشکلساز میشد، اما با تغییر به ۳۲ بیت، مشکل برطرف شد.
🔹 جمعبندی:
عدد ۶۵,۵۳۶ به دلیل نمایش باینری، ویژگی توان ۲، و نقش کلیدی در آدرسدهی حافظه، شبکه، و برنامههای محاسباتی، اهمیت زیادی در علوم کامپیوتر و ریاضیات دارد.
در این تصویر، اعداد مفهومی ۰ و ۱ را در مرکز خواهید یافت که از طریق تولید تصادفی رنگ، بین روشن و تاریک تغییر میکنند. با دقت بیشتر، هشت ذرهٔ اطراف را مشاهده خواهید کرد که هرکدام مفهوم خاص خود را دارند.
🔹 راز تراکنش در بلاکچین
۶۴ بلوک اول، با اندازهی کوچکتر، نشاندهندهٔ یک تراکنش روی بلاکچین هستند. مقدار واقعی، ۶۴ کاراکتر بعد از 0x است که نشاندهندهی آدرس اولین تراکنش خریدار است و توسط Punk 6529 تأیید شده است.
🔹 یگانگی اثر
این اثر کاملاً منحصربهفرد است، زیرا هر بار که تولید میشود، تمام بلوکهای ایجاد شده متفاوت از یکدیگر خواهند بود. یعنی حالتهای آنها (۰/۱) تغییر میکنند و فقط تعداد محدودی از آنها میتوانند تولید شوند.
🔹 ویژگیهای اثر ۳۶,۸۶۴
عدد ۳۶,۸۶۴ یک عدد مرکب زوج است که از حاصلضرب دو عدد اول تشکیل شده است.
🔹 نسل بعدی این اثر، عدد ۶۵,۵۳۶ خواهد بود!
عدد ۶۵,۵۳۶ یک عدد طبیعی است که در علوم مختلف، بهویژه در علوم کامپیوتر و ریاضیات، اهمیت زیادی دارد.
چرا ۶۵,۵۳۶ مهم است؟
🔹 توان ۲:
عدد ۶۵,۵۳۶ برابر با ۲^۱۶ است، یعنی ۲ را ۱۶ بار در خودش ضرب کنیم. این ویژگی آن را در نمایش باینری، آدرسدهی حافظه، و سایر حوزههایی که توانهای ۲ اهمیت دارند، مهم میسازد.
🔹 نمایش باینری:
در قالب باینری، ۶۵,۵۳۶ به صورت 10000000000000000 نمایش داده میشود. این ساختار به دلیل داشتن ۱۶ صفر متوالی، در پردازشهای کامپیوتری کاربرد زیادی دارد.
🔹 حافظه:
در محاسبات، اندازههای حافظه معمولاً بر اساس توانهای ۲ تعیین میشوند. ۶۵,۵۳۶ بایت معادل ۶۴ کیلوبایت است که یک واحد مناسب برای اندازهگیری حافظه محسوب میشود.
🔹 پروتکل اینترنت (IP):
در IPv4، ۶۵,۵۳۶ تعداد پورتهای TCP/IP است که نقش مهمی در ارتباطات شبکه دارد.
🔹 اهمیت در ریاضیات:
عدد ۶۵,۵۳۶ بهعنوان یک توان از ۲، در مفاهیم رشد نمایی و سایر محاسبات ریاضی کاربرد دارد.
🔹 علوم کامپیوتر:
بسیاری از سیستمهای کامپیوتری بر پایه معماری ۱۶ بیتی طراحی شدهاند و این عدد در مدیریت دادهها و آدرسدهی بسیار مهم است.
🔹 بیتکوین و بلاکهای فشرده:
در بیتکوین، محدودیت ۱۶ بیتی در شاخص تراکنشها باعث شده بود که هر بلاک فقط ۶۵,۵۳۶ تراکنش داشته باشد. این محدودیت در بلاکهای بزرگتر از ۴ مگابایت مشکلساز میشد، اما با تغییر به ۳۲ بیت، مشکل برطرف شد.
🔹 جمعبندی:
عدد ۶۵,۵۳۶ به دلیل نمایش باینری، ویژگی توان ۲، و نقش کلیدی در آدرسدهی حافظه، شبکه، و برنامههای محاسباتی، اهمیت زیادی در علوم کامپیوتر و ریاضیات دارد.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
COMPΞZ 🧬
راز نهفتهٔ قطعهٔ 6️⃣ 3️⃣ 5️⃣ 5️⃣ 6️⃣ اینطور هست در این تصویر، اعداد مفهومی ۰ و ۱ را در مرکز خواهید یافت که از طریق تولید تصادفی رنگ، بین روشن و تاریک تغییر میکنند. با دقت بیشتر، هشت ذرهٔ اطراف را مشاهده خواهید کرد که هرکدام مفهوم خاص خود را دارند. 🔹 راز تراکنش…
جزئیات فنی و علمیتر.
انقدر خاص بود که براش یه قرارداد اختصاصی نوشتم.
قراردادی با عنوان CPZ داره که خودش مشتق شدهٔ قرارداد ERC721Creator از نوع پروکسی هست که از قرارداد Proxy ارثبری میکنه، درواقع چنین کلاس انتزاعی داریم:
این قرارداد انتزاعی یک تابع بازگشتی ارائه میکنه که با استفاده از ماشین مجازی اتریوم (EVM) همهٔ تماسها رو به قرارداد دیگری واگذار میکنه.
انقدر خاص بود که براش یه قرارداد اختصاصی نوشتم.
قراردادی با عنوان CPZ داره که خودش مشتق شدهٔ قرارداد ERC721Creator از نوع پروکسی هست که از قرارداد Proxy ارثبری میکنه، درواقع چنین کلاس انتزاعی داریم:
abstract contract Proxy {}این قرارداد انتزاعی یک تابع بازگشتی ارائه میکنه که با استفاده از ماشین مجازی اتریوم (EVM) همهٔ تماسها رو به قرارداد دیگری واگذار میکنه.