01 / شرح پروژه
مسئله چه بود؟
در یک محصول DeFi، اتصال کیف پول تنها شروع مسیر است. کاربر باید دارایی و مقدار را انتخاب کند، مجوز قرارداد را بدهد، تراکنش را تأیید کند و تغییر موجودی یا موقعیت خود را ببیند. این مراحل در مبادله، نقدینگی و استخرها رفتار متفاوتی دارند. مسئله، هماهنگکردن رابط با داده و قراردادهای روی زنجیره و قابل فهم نگهداشتن وضعیت عملیات بود.
نقش من در پروژه
در سال ۱۴۰۰، برنامهنویسی فرانتاند با React و بکاند قراردادهای هوشمند با Solidity را بر عهده داشتم. رابط پروژه از React و TypeScript، مدیریت وضعیت مشترک و ابزارهای Web3 استفاده میکند. کار شامل توسعه و یکپارچهسازی مسیرهای محصول و ارتباط آنها با کیف پول و قرارداد بود؛ در بستری که از کتابخانهها و اجزای اکوسیستم DeFi نیز استفاده میکند.
مبادله توکن و نقدینگی
رابط مبادله
مسیر انتخاب توکن و مقدار برای مبادله، همراه با نمایش اطلاعات معامله و مراحل تأیید؛ اتصال انتخابهای رابط به منطق Web3 و کیف پول.
افزودن نقدینگی و یافتن استخر
مسیرهای مدیریت نقدینگی، افزودن جفتدارایی و یافتن استخر در ساختار برنامه فعال هستند؛ برای دسترسی به عملیات نقدینگی در کنار مبادله.
استخرها، مشارکت و پاداش
واریز و برداشت
اجزای استخر و منطق مشارکت، مقدار انتخابی را با دقت توکن به مقدار قرارداد تبدیل میکنند و مسیرهای واریز و برداشت را از طریق تراکنش کیف پول اجرا میکنند.
دریافت پاداش
در مسیر پاداش، فراخوانی قرارداد برای دریافت پاداش کاربر و نمایش اطلاعات مشارکت وجود دارد؛ همراه با بهروزرسانی دادهها و وضعیت تراکنش.
فروش اولیه و تعامل با قرارداد
فروش اولیه توکن
یک مسیر مستقل برای فروش اولیه در کنار بخشهای اصلی DeFi قرار دارد؛ برای ارائه تجربه اختصاصی مشارکت در عرضه از داخل همان برنامه.
مجوز و تأیید عملیات
هماهنگی مجوز استفاده از توکن، درخواست تراکنش و نتیجه آن با رابط؛ تفکیک مراحل اتصال، تأیید و انتظار تا کاربر وضعیت عملیات روی زنجیره را دنبال کند.
معماری فرانتاند و تجربه وب
مدیریت وضعیت و داده شبکه
استفاده از Redux Toolkit و هوکهای مشترک برای اطلاعات حساب، بلوک شبکه و داده استخرها؛ بهروزرسانی دورهای اطلاعات و هماهنگی اجزای رابط.
موبایل، مسیریابی و اعلانها
نوار ابزار و منوی موبایل، مسیرهای مستقل محصول، نمایش اعلان تراکنش و مدیریت وضعیت بارگذاری؛ برای دسترسی منظم به امکانات در اندازههای مختلف صفحه.