COMPΞZ 🧬
396 subscribers
1.87K photos
52 videos
24 files
739 links
متخصص کامپیوتر و نرم‌افزار • سازنده • هنرمند و طراح • مجموعه‌دار • نویسنده • تحلیل‌گر • مشاور استارتاپی و ایده‌پرداز

𐎲𐎴𐎠𐎼𐎴𐎫𐎹 𐏃𐎢𐎶𐎠𐎫𐎹

We create because the world deserves better code.

https://linktr.ee/compez
Download Telegram
COMPΞZ 🧬
Your minted words are now available on marketplaces. - OpenSea, Rarible and MagicEden. https://warpcast.com/compez.eth/0xe402c1e5
به‌روز رسانی جدید.🔥
- از این به بعد یک لینک عمیق توی واژه‌های اشتراک‌گذاری شده وجود داره که بقیه می‌تونن مستقیم مینتش کنن، نیازی نداره برن از داخل Explorer پیداش کنن. این یک UX بد بود که اینطوری حلش کردم رفت. 🫣

مشکلات بوست و برخی از باگ‌های گزارش شده هم حل شد.

https://warpcast.com/compez.eth/0x0f15f1c6
Please open Telegram to view this post
VIEW IN TELEGRAM
موضوع بعدی که برام خیلی جالب هست، اینه که وقتی شما بخشی از سهام شرکت یا توکن‌هاتون رو با هدف سرمایه‌گذاری یا پاداش توزیع می‌کنید، باز هم بهتره با کیف پول شخصی یا تک امضائی شکل نگیره! بابا شاید من افتادم مردم آخه چرا باید به خاطر مردن من ملت تکلیفشون مشخص نباشه!؟

همیشه یه نفر پشتشون تأیید کرده و هیچ‌وقت هم شفافیت عمل در این خصوص روی یک صفحه مشخصی برای جامعه یا اکوسیستم اشتراک‌گذاری نشده.

چیزی که تو ذهنم میاد اینه که یک صفحهٔ اختصاصی و حتی یک اپلیکیشن تمیز برای خود توکن طراحی کنم، که تمام جزئیات در مورد وضعیت توزیع رو شفاف‌سازی کنه، سرمایه و هر چیزی که در مورد ساختار حیاطی پروژه باید شفاف باشه رو به زبان ساده‌تری به نمایش بذاره.

هزینه‌داره برای ما اما ارزشش رو خواهد داشت. ⚡️
COMPΞZ 🧬
موضوع بعدی که برام خیلی جالب هست، اینه که وقتی شما بخشی از سهام شرکت یا توکن‌هاتون رو با هدف سرمایه‌گذاری یا پاداش توزیع می‌کنید، باز هم بهتره با کیف پول شخصی یا تک امضائی شکل نگیره! بابا شاید من افتادم مردم آخه چرا باید به خاطر مردن من ملت تکلیفشون مشخص نباشه!؟…
در مورد موضوع ایردراپ هم مکانیزم توزیع Merkle Tree به نظرم جالبه (نهایی نکردم هنوز).

کارکردش این‌طوری هست...

فرض کن یه لیست بلندبالا داریم از آدما که قراره بهشون یه چیزی (مثلاً توکن) بدیم. حالا نمی‌خوای کل این لیست رو هر بار دستی چک کنی یا تو بلاکچین ذخیره کنی، چون هم گرون می‌شه (هزینهٔ گاز می‌ره بالا) هم شلوغ‌پلوغ می‌شه. اینجا Merkle Tree میاد وسط مثل یه مدیر باهوش که همه‌چیز رو مرتب و کم‌هزینه نگه می‌داره.

برگهٔ Leafs)
پایین‌ترین لایه که اطلاعات اصلی رو داره. مثلاً تو ایردراپ، هر برگ می‌تونه شامل اسم یه نفر، آدرس کیف‌پولش و مقدار توکنش باشه (مثلاً "compez.eth 0x1234، 100 توکن").

برگهٔ گره‌ها Nodes)
این برگ‌ها دوتا‌دو‌تا باهم ترکیب می‌شن و یه کد رمزنگاری‌شده (هش) درست می‌کنن. مثلاً هش "compez" و "dwr" با هم یه گره می‌سازه.

برگهٔ ریشه Root)
این ترکیب کردن همین‌جوری بالا می‌ره تا یه کد نهایی به اسم "Merkle Root" به‌دست بیاد که کل درخت رو نمایندگی می‌کنه.

فرض کن تو می‌خوای ثابت کنی جزو لیست ایردراپ هستی. به‌جای اینکه کل لیست رو نشون بدی، فقط چندتا کد (Merkle Proof) از گره‌های مسیرت تا ریشه رو می‌دی. قرارداد هوشمند این کدها رو با ریشه‌ای که از قبل داره چک می‌کنه. اگه درست باشه، می‌گه "آره، تو تو لیست هستی" و توکنت رو می‌ده.

لیست: کامبیز (100)، هادی (200)، دن (150)، فلانی (300).
دوتا‌دو‌تا هش می‌شن، بعد اون هش‌ها دوباره ترکیب می‌شن تا یه ریشه بسازن.
تو (مثلاً هادی) فقط یه مسیر کوتاه از کدهای هش رو می‌فرستی، قرارداد چک می‌کنه و می‌گه "درسته، 150 توکن مال توئه".

از نظر فنی این باعث میشه هزینهٔ مدیریتش بیاد پایین و سبک‌تر باشه، از طرفی بر مبنای مکانیزم زنجیره‌ای مطمئن باشه که دستکاری نمیشه. کسی نمی‌تونه بگه بعداً منو فلانی رفته بن کرده!!! قبل از نهایی شدن هرچیزی که توی لیست سفید بوده دیگه نهایی شدش میره توی این ریشه که نمیشه روش دبه کرد!
👍1
COMPΞZ 🧬
در مورد موضوع ایردراپ هم مکانیزم توزیع Merkle Tree به نظرم جالبه (نهایی نکردم هنوز). کارکردش این‌طوری هست... فرض کن یه لیست بلندبالا داریم از آدما که قراره بهشون یه چیزی (مثلاً توکن) بدیم. حالا نمی‌خوای کل این لیست رو هر بار دستی چک کنی یا تو بلاکچین ذخیره…
کد‌های مربوط به این موارد رو من همه رو با ++C می‌نویسم با ترکیب templates و contract‌ها که از امنیت و ثبات خیلی بالایی نسبت به هر زبان دیگه برخوردار هست، اما سمت قرارداد همشون ازدم با Solidty هستند.

بخش UI رو هم فعلاً با HTML/PHP و ترکیبش با JavaScript توسعه میدم.

چی در بیاد خروجی این بند و بسط ... مشتاقم ببینم. 💙
Please open Telegram to view this post
VIEW IN TELEGRAM
COMPΞZ 🧬
یک اپلیکیشن تمیز برای خود توکن طراحی کنم
این قسمت هم که قطعاً خوراک Qt Quick خواهد بود.
هم نسخهٔ WASM هم نسخهٔ دسکتاپ و موبایل.😩 خیلی کار دارم خیلیی...

یکی از اهدافم این هست که فناوری کیوت کوئیک رو بیارم توی بلاک‌چین، به زودی خروجی‌های جالبی نشونتون خواهم داد. 😎
به جز شبکهٔ Base 🔵 کدوم گزینه برای شما جذابه؟
Anonymous Poll
27%
Arbitrum
45%
Optimism
27%
Polygon
سیگنال بدی نیست! 👀 به هر حال نرخ بهره و پارامتر‌های اقتصادی آمریکا تأثیر مستقیم داره روی بازار.

ببینیم چه خواهد شد، هرچند گفتم خبر‌ها معمولاً سرعت پیش‌روی رو تشدید می‌کنه.
Please open Telegram to view this post
VIEW IN TELEGRAM
COMPΞZ 🧬
سیگنال بدی نیست! 👀 به هر حال نرخ بهره و پارامتر‌های اقتصادی آمریکا تأثیر مستقیم داره روی بازار. ببینیم چه خواهد شد، هرچند گفتم خبر‌ها معمولاً سرعت پیش‌روی رو تشدید می‌کنه.
در مورد مملکت خودمون، من راضی هستم که همه چیز در شرایط فعلی یخ بزنه هیچ حرکتی نکنه! چون دیگه بدتر از این نمی‌دونم چی می‌تونه باشه!!!
حتی با این نرخ دلار و شرایط وحشتناک اقتصادی فقط این وضعیت بدتر نشه، نخواستیم بهتر بشه.

یک واقعیت رو بپذیریم؛ در بهترین حالت هر توافقی صورت بگیره، حتی اگه مملکت رو بکوبن از اول بسازن، باز سال‌ها طول می‌کشه که بخواد تأثیرش رو روی سفره‌های مردم نشون بده به خصوص امثال ما که جوونیمون تباه شد رفت پی کارش.

پس از فرصت‌ها برای پیشروی و پیشرفت خودتون استفاده کنید، امیدوارم هیچ اتفاق ناخوش‌آیندی شامل حال کسی نشه و به خیر و سلامتی بگذره. 👊🏼
👍42🤔1😢1
خیلی از برنامه‌نویس‌های ++C می‌دونن که ماکرو‌ها توی این زبان خاص هستن و معمولاً استاندارد‌های از قبل رجیستر شده در داخل استاندارد زبان رو با نام‌گذاری‌‌های خاص تعریف می‌کنن که نمونه‌هاش اینطوریه:

__cplusplus
__cpp_constexpr
__has_cpp_attribute


و صد‌ها مورد دیگه... که همشون یه کنوانسیون استاندارد تو استاندارد زبان (C++ Standard) و پیاده‌سازی‌های کامپایلرها (مثل GCC یا Clang)‌ هست.

خب توی Solidity این موضوع و نام‌گذاری‌ها رو داریم که از سی و سی پلاس‌پلاس به ارث برده.
اولاً که باید بگم Solidity یه زبان سطح بالاتره و به JavaScript و قراردادهای هوشمند نزدیک‌تره تا به خود ++C؛ پیش‌پردازنده یا ماکرو به سبک سی++ رو نداره، اما به‌خاطر تأثیر C و ++C تو بلاک‌چین (مثلاً تو کد اتریوم)، بعضی کنوانسیون‌ها از اونجا می‌تونیم ببینیم.

_mint(allocationAddresses[i], allocationAmounts[i]);


به طور کلی، توابع داخلی (Internal/Private): با _ شروع می‌شن (مثل burn_ یا mint_) برای نشون دادن این که فقط داخل قرارداد یا وراثت استفاده می‌شن.
پارامترها: گاهی با _ شروع می‌شن (مثل amount_ یا to_) برای جلوگیری از تداخل با متغیرهای حالت (State Variables).
COMPΞZ 🧬
خیلی از برنامه‌نویس‌های ++C می‌دونن که ماکرو‌ها توی این زبان خاص هستن و معمولاً استاندارد‌های از قبل رجیستر شده در داخل استاندارد زبان رو با نام‌گذاری‌‌های خاص تعریف می‌کنن که نمونه‌هاش اینطوریه: __cplusplus __cpp_constexpr __has_cpp_attribute و صد‌ها مورد…
به همین راحتی همه جا تأثیر گرفته از سی++ هست.

https://github.com/ethereum/solidity

جالب اینجاست هنوز به نسخهٔ ۱.۰ نرسیدیم و اینهمه دنیای بلاک‌چین رو با سالیدیتی دگرگون کردیم.

نسخهٔ پایداری که من از کامپایلرش استفاده می‌کنم ۰.۸.۲۶ هست.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
COMPΞZ 🧬
به همین راحتی همه جا تأثیر گرفته از سی++ هست. https://github.com/ethereum/solidity جالب اینجاست هنوز به نسخهٔ ۱.۰ نرسیدیم و اینهمه دنیای بلاک‌چین رو با سالیدیتی دگرگون کردیم. نسخهٔ پایداری که من از کامپایلرش استفاده می‌کنم ۰.۸.۲۶ هست.
۲ سال پیش من سالیدیتی رو شروع کردم ولی به خاطر پایه قوی که از سی‌++ داشتم الآن می‌تونم بگم یکی از مهمترین ابزار‌های جعبه‌ابزارم هست.
بعد از این مدت تازه می‌بینم بخش مهمی از دلیل اینکه مجذوبش هستم، باز زبان اصلیم هست.🤤 آخه خدایا یه زبان چقدر می‌تونه اینهمه دیوانه‌وار راضی کننده باشه. 🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
😎4
COMPΞZ 🧬
نگاه کن آخه... مو نمی‌زنه با سی++ 😍 مکانیزم مشابه کیوت هم که جای خود دارد! این هنر رو من از هر نقاشی‌ای دوست دارم، بوم قلم رنگ‌آمیزی با کد رو به هر چیزی ترجیه میدم. 😭
صد در صد موافقم!

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

حتی اون ساتوشی گور به گور نشده هم یک ++C کار حرفه‌ای هست، کد‌های جنسیسش برای من الگوی خوبیه.
🔥3
COMPΞZ 🧬
صد در صد موافقم! به شما اطمینان میدم اگه این دو بزرگوار نبودن الآن نه بیت‌کوینی بود و نه هیچ چیز خفن دیگه‌ای. 😄 برای همین من عاشق این جریانات فنیش هستم. حتی اون ساتوشی گور به گور نشده هم یک ++C کار حرفه‌ای هست، کد‌های جنسیسش برای من الگوی خوبیه.
یه نکته‌ای حضور ذهنتون باشه همیشه!
کسی که یه زبان دیگه‌ای رو اختراع می‌کنه، قبلش به یک زبان دیگه اشراف کاملی داره.
غیر این نیست، اثر تسلط زبان اصلی رو همیشه میشه روی خروجی یک ابزار دیگه دید و این در سالیدیتی هم آشکارا دیده میشه.

این دو نفر قبل از اینکه سالدیتی رو بسازن، یک سی++ کار حرفه‌ای هستن.
Christian Reitwiessner
Alex Beregszaszi

درضمن، سازندهٔ اتریوم شما فکر می‌کنید ویتالیکه؟ ویتالیک حتی یک خط کد با Go برای اتریوم ننوشته بود! اون فقط یک مغز متفکر برای جرقه ایدش بوده، هیچ‌وقت مثل ساتوشی ناکاموتو سازندهٔ اصلی پروژه نبوده؛ برای همین هم هرچقدر دلغک‌بازی در بیاره مهم نیست چون سازنده‌های اصلی اتریوم کسان دیگه‌ای هستن.

Ethereum was conceived in 2013 by programmer Vitalik Buterin

این جمله معنای دیگه‌ای داره، به معنای این نیست که این شخص اونو ساخته.
خدای بیت با اتر زمین تا آسمون فرق داره، همه چیزش متفاوته ای جوان... 😌
1🔥1
COMPΞZ 🧬
یه نکته‌ای حضور ذهنتون باشه همیشه! کسی که یه زبان دیگه‌ای رو اختراع می‌کنه، قبلش به یک زبان دیگه اشراف کاملی داره. غیر این نیست، اثر تسلط زبان اصلی رو همیشه میشه روی خروجی یک ابزار دیگه دید و این در سالیدیتی هم آشکارا دیده میشه. این دو نفر قبل از اینکه سالدیتی…
من حتی دست خط کد افراد رو به خوبی تحلیل می‌کنم.
دست خط ساتوشی در سال ابداع بیت دقیقاً هم خونی داره با کد مستندات کاغذ سفید و کد‌های جنسیس که در سورس‌های اولیه نمایان شده بود.
هر برنامه‌نویسی یک دست‌خط یا سبک کد نویسی داره که قابل تشخیص هست.

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

تنها اثر خیلی نزدیک به سال ۲۰۱۲ و ۲۰۱۳ رو من با مخزن BitcoinArmory و cpp-ethereum دیدم که ظاهراً یک فورک و الگو برای تحلیل از کد‌های بیت بوده.
پس هر جا بهت گفتن ویتالیک توسعه‌دهنده اتریوم هست، از طرف من جفت پا برو تو دهنش، چون قوائد ساخت یک چیز متن‌باز اینو ایجاب می‌کنه شما باید اولین توسعه‌دهنده رو در اولین کامیت به وضوح ببینید و بشناسید.

همین الآن کد‌های اتریوم هرکس روش داره کار می‌کنه اون توسعه‌دهندهٔ اصلی هست.
حتی از نظر من اکوسیستم بیت‌کوین با پشتوانهٔ تیم بیت‌کوین (ساتوشی) مشعوره و احتمال داره همین الآن یکی از همین ۱۰۰۰ نفر توسعه‌هندهٔ بیت‌کوین باشه که روحتونم خبر نداره.
اما خب کامیت‌های اولیه رو خیلی تمیز مدیریت کردن که نامی از خالق اصلی نباشه چون ماهیت پروژه باید اینطور پیش میرفت.
COMPΞZ 🧬
من حتی دست خط کد افراد رو به خوبی تحلیل می‌کنم. دست خط ساتوشی در سال ابداع بیت دقیقاً هم خونی داره با کد مستندات کاغذ سفید و کد‌های جنسیس که در سورس‌های اولیه نمایان شده بود. هر برنامه‌نویسی یک دست‌خط یا سبک کد نویسی داره که قابل تشخیص هست. اما در مورد اتریوم…
حالا بیا دنبال ساتوشی بگرد. 😝
مهمترین و تأثیر‌گذار‌ترین وخفن‌ترین برنامه‌نویسی بیت‌کوین این شخص هست (fanquake) دو سال پیش براش یه PR زدم متوجه دانش بالایی که در عمق سی++ داره شدم!

این بشر هر کدی که می‌نویسه ده‌ها و صد‌ها بار توسط چند ده نفر بعدی از تیم توسعه تأیید میشه.

خودش هم که فردی خاکی و بسیار با دانش هست.

اصلاً هرکسی که شاگرد استراستروپ بوده همشون عالی هستن و کار‌های عالی انجام میدن.
🔥51
خدایا برق نره، اینترنت قطع نشه... سیستم نترکه!
من فقط می‌خوام یه چند خط کد کامپایل کنم... 😐 والا هیچ قصد دیگه‌ای ندارم باور کن.
Please open Telegram to view this post
VIEW IN TELEGRAM
از من به شما توصیه، موقعیت جغرافیایی خودتون رو به دروغ توی فارکستر وارد نکنید فلان جا!
خالیش بذار! چه تأثیری داره از نظرت جز اینکه بیننده پروفایلات می‌بینه داری دروغ می‌گی.
👍3