Telegramda yozing@Odilient

FRONTEND MUHANDISLIGI

WalletConnect bilan kripto-birja frontendi

NDA ostidagi kripto-savdo platformasi uchun frontend: React va Lit veb-komponentlari, tashqi hamyonlar uchun WalletConnect sessiyalari hamda balanslar va o‘tkazmalar uchun veb-hamyon jarayonlari.

NDA
Mijoz
Fintex va kripto
Soha
4 oy
Muddat
2021
Yil
Boshlang‘ich nuqta

Muammo

Kripto-savdo platformasiga foydalanuvchilar o‘z hamyonlarini ulay oladigan, lekin brauzer qatlami hech qachon shaxsiy kalitlarni ushlab turmaydigan frontend kerak edi. Bu tashqi hamyon ilovalari bilan WalletConnect sessiyalari, balanslar va o‘tkazmalar uchun veb-hamyon jarayonlari hamda aloqa uzilganda, sessiyalar tugaganda va imzolash so‘rovlari rad etilganda ham Express.js va MongoDB backend’i bilan hamqadam qoladigan interfeys degani edi.

Biz nima qildik

Yechim

To‘rt kishilik jamoadagi ikki frontend dasturchidan biri sifatida biz qayta ishlatiladigan Lit veb-komponentlari bilan React’da birja interfeysi ustida ishladik. Sessiyalarni bog‘lash, tranzaksiyani imzolash so‘rovlari va ulanish holati uchun WalletConnect’ni integratsiya qildik, veb-hamyon jarayonlarini — balanslar, o‘tkazmalar va tasdiqlash ekranlarini — boshidan oxirigacha qurdik va frontend’ni Express.js backend’iga uladik.

Texnologiyalar
ReactLitWalletConnectExpress.jsMongoDB
Parda ortida

Loyiha qanday yaratildi

Hamyon ulanishlari atrofida qurilgan kripto-birja frontendi

Savdo platformasi qanchalik qulay bo‘lishi uning hamyon ulash jarayoniga bog‘liq. NDA ostida topshirilgan bu kripto-birja uchun biz frontend ustida ishladik: foydalanuvchilar tashqi hamyonlarini WalletConnect orqali ulashi va balans hamda o‘tkazmalarni veb-hamyon ekranlarida boshqarishi mumkin, brauzer qatlami esa ularning shaxsiy kalitlarini hech qachon ushlab turmaydi.

Hamkorlik 2021-yil iyulidan boshlab to‘rt oy davom etdi. Jamoa ixcham edi — tim-lid, backend dasturchi va ikki frontend dasturchi — va biz ikki frontend o‘rnidan birini egalladik.

Asosiy imkoniyatlar

  • WalletConnect integratsiyasi — tashqi hamyon ilovalari bilan sessiyalarni bog‘lash, tranzaksiyani imzolash so‘rovlari va ulanish holatini boshqarish.
  • Veb-hamyon jarayonlari — balanslar, o‘tkazmalar va tranzaksiyani tasdiqlash ekranlari, boshidan oxirigacha qurilgan.
  • Lit veb-komponentlari — standart custom element sifatida qadoqlangan va React ilovasi ichida ishlatiladigan qayta foydalaniladigan interfeys bloklari.
  • Backend bilan aloqa — frontend birjaning ma’lumotlarini MongoDB’da saqlaydigan Express.js xizmatlari bilan ishlaydi.

WalletConnect birja frontendini qanday shakllantiradi

WalletConnect veb-ilovaga foydalanuvchida allaqachon bor hamyon bilan ishlash imkonini beradi. Ilova sessiya ochadi — odatda kompyuterda QR-kod, telefonda esa chuqur havola orqali — va shundan keyin har bir nozik amal foydalanuvchi o‘z hamyonida tasdiqlaydigan yoki rad etadigan so‘rovga aylanadi. Birja frontendi hech qachon shaxsiy kalitga tegmaydi.

Bu model jiddiy ishni interfeysga o‘tkazadi. Frontend sessiya faolmi-yo‘qmi ko‘rsatib turishi, bir necha soniyada kelishi yoki umuman kelmasligi mumkin bo‘lgan imzoni kutishi va foydalanuvchi hamyon ilovasini yopib qo‘ysa yoki sessiyani narigi tomondan tugatsa, holatni tiklay olishi kerak. «Hamyonga yuborildi», «imzolandi» va «rad etildi» holatlarini alohida ko‘rsatadigan o‘tkazma ekranlari foydalanuvchini o‘tkazma o‘tdimi-yo‘qmi, deb taxmin qilishdan qutqaradi.

Arxitektura va texnologiyalar

Frontend

Birja interfeysi React’da yozilgan, qayta ishlatiladigan komponentlar esa Lit’da qurilgan. Lit komponentlari standart veb-komponentlar, shuning uchun ular React ichida unga bog‘lanmagan holda chiziladi. Chegaraga e’tibor kerak: murakkab ma’lumotlar atribut sifatida emas, element xususiyatlari (properties) sifatida beriladi, o‘zgarishlar esa React callback’lari sifatida emas, DOM hodisalari sifatida qaytadi.

Hamyon ulanishi

Birja va tashqi hamyon ilovalari o‘rtasidagi bog‘lanishni — sessiyalarni bog‘lash, sessiya holati va imzolash so‘rovlarini — WalletConnect ta’minlaydi. Balanslar, o‘tkazmalar va tasdiqlashlar uchun veb-hamyon jarayonlari uning ustiga qurilgan.

Backend va ma’lumotlar

Frontend ma’lumotlarini MongoDB’da saqlaydigan Express.js backend’i bilan aloqa qiladi. Bu chegaraning frontend tomonida so‘rovlar, yuklanish va xato holatlari hamda hamyon ekranlarini API qaytargan ma’lumotlar bilan mos holda saqlash turadi.

Bizning rolimiz

Biz to‘rt kishilik jamoada tim-lid va backend dasturchi bilan birga ikki frontend dasturchidan biri sifatida ishladik. Bizning vazifamiz React va Lit’dagi birja frontendi, WalletConnect integratsiyasi va veb-hamyon jarayonlarini qamrab oldi. Loyihaning boshqa tafsilotlari NDA ostida qoladi.

O‘xshash ishlar

Hamyonga ulanadigan yana bir interfeys uchun tabiiy resurslar savdosi bilan shug‘ullanuvchi DAO uchun TronLink frontendimizni yoki biz jamoaga rahbarlik qilgan mablag‘larni saqlaydigan kripto-birjani ko‘ring. Bunday frontendlar veb-ilovalar yaratish xizmatimizga kiradi.

Birga yaratamiz

WalletConnect bilan kripto-birja frontendi kabi loyiha kerakmi?

Mahsulotingiz nima qilishi kerakligini ayting. Ish hajmini belgilaymiz, muddatlarni rejalashtiramiz va qat’iy narx yuboramiz — bepul va davom ettirish majburiyatisiz.

Bepul konsultatsiya Majburiyatsiz Tezkor javob