Mobile Crypto App хэрхэн бий болгох, түүний тогтвортой байдлыг хангах
Modern crypto худалдаачид ихэвчлэн ихэвчлэн ухаалаг гар утас нь тэдний гол хэрэгсэл гэж сонгох байна - салбарт өгөгдлийн дагуу, 60% гаруй арилжааны гар утас дамжуулан хийсэн байна. Энэ нь хөгжүүлэгчид нь зөвхөн үзэсгэлэнтэй апп-ийг бий болгохын тулд шаардлагагүй боловч бүрэн функцтай, аюулгүй, өндөр хурдны арилжааны платформ, ямар ч жишээ нь жижиг буудлаас алдартай үр дүнтэй байж болно (балансуудын алдааны дэлгэцээс багасгахын тулд).
Гар шифрлэдэг худалдааны апп бий болгох нь зүгээр л вэб интерфэйсийг апп-д хуваалцах талаар биш юм. Энэ нь олон шинж чанартай тусгай инженерийн туршилт юм. Хэрэглэгчид хурдан, тохиромжтой, аюулгүй, техникийн тодорхойлолт мэдэхгүйгээр худалдаалахыг хүсч байна.
Mobile crypto худалдааны зах зээлийг үүсгэхийн тулд гол үзүүлэлтүүд нь:
- Өнгөрсөн
- Веб-аас гар утас руу дамжуулах: интерфэйс нь гар утас анхны загвартай, гүйцэтгэлийн шаардлагыг нэмэгдэж байна. Өнгөрсөн
- Нэртэй туршлагатай хэрэгцээ: Apps нь хурдан, аюулгүй байх ёстой, операцийн системийн хувьд "Нэртэй" гэж мэдэж байх ёстой. Өнгөрсөн
Энэ нийтлэлд бид CleverPumpkin-ийн EVEDEX баг, хөгжүүлэгчдийн TypeScript SDK-ийг платформ хооронд нэгтгэсэн бизнесийн логик хадгалахын тулд native апп-ийг хэрхэн интегрисан байна.
Why We Chose SDK and the Challenges We Faced
EVEDEX-ийн вэб хувилбар нь одоо ч байтугай Exchange SDK-ийг ашигласан бөгөөд энэ нь Exchange API-ийг үйлчлүүлэгчийн хуудсыг холбох TypeScript библиотек юм. Цааш хугацааны дараа, энэ нь зах зээлийн өгөгдлийн багтаамж, орд бүртгүүлэх, баталгаажуулалт зэрэг бүрэн бизнесийн логик боловсруулсан.
Хамгийн чухал зорилго нь бүх платформыг хооронд харьцуулахад үйл явдлыг хангах байсан. Бидний зорилго нь логик дүүргэлтийг үхэх, бурууны тоог багасгах, хөгжүүлэх хурдасгах байсан. Энэ нь: одоогийн вэб SDK-ийг анхны гар утасны апп-ийг нэгтгэх гэж хэлсэн.
Гэсэн хэдий ч, SDK-ийг TypeScript хэлбэрээр бичсэн бөгөөд эхлээд браузер дээрх хэрэглэхэд зориулагдсан биш юм. Энэ нь бидний гол техникийн туршид байсан.
Өнгөрсөн"Бид бүх боломжийн имплементацийн боломжуудыг дэлгэрэнгүй тайлбарласан. Бүх контекст хамаарна, бид бүрэн TypeScript SDK-ийг native-ийн апп-ийг нэгтгэхийн тулд туршиж өгдөг. Энэ нь бидний хувьд шинэ газар байсан боловч бид энэ хязгаарлалтгүй үйл явдлыг хангах боломжтой байсан. "
Өнгөрсөн
-Alexander Kiaykin, CleverPumpkin-ийн CTO
"Бид бүх боломжийн имплементацийн боломжуудыг дэлгэрэнгүй тайлбарласан. Бүх контекст хамаарна, бид бүрэн TypeScript SDK-ийг native-ийн апп-ийг нэгтгэхийн тулд туршиж өгдөг. Энэ нь бидний хувьд шинэ газар байсан боловч бид энэ хязгаарлалтгүй үйл явдлыг хангах боломжтой байсан. "
- ҮнэгүйAlexander Kiaykin, CTO of CleverPumpkin
Эхний үйл явц нь апп-д бүрэн JavaScript-ийн хөдөлгүүрийн суулгах байсан. iOS-д бид суурилсан JavaScriptCore-ийг хандах байсан боловч Android-ийн хувьд бид альтернативуудыг хайж байна. Бид сонгосон байна.LiquidCore, тусгай, open-source JS хөдөлгүүр.
Нэртэй кодтай SDK-тэй богино интеракцийг хангахын тулд бид SDK-ийн болон апп-ийн бизнесийн логик хооронд харилцаа холбооны боломжийг олгодог платформ хооронд хавтан боловсруулсан.
- Өнгөрсөн
- Бүх JS хөдөлгүүрийн хамгийн сүүлийн үеийн ECMAScript синтаксийг дэмждэг биш юм: Бид TypeScript-ийн транпиляцийн тархлыг хөдөлгүүртэй JavaScript-ийн хувилбар руу бууруулах хэрэгтэй. Өнгөрсөн
- Өнгөрсөн
- JS хөдөлгүүрийн системийн чадварыг шууд хандах боломжтой биш юм: HTTP хүсэл, WebSockets, сүлжээний харилцаа холбоо нь нарийн кодд имплементийн байх ёстой. Өнгөрсөн
Бүтээгдэхүүний үр дүнд, SDK-ийг өөрчилсөн байна. Энэ нь одоо сүлжээний логикэд гарын авлагатай интерфэйсийг ашигладаг, HTTP болон WebSocket интерфэйс Swift/Kotlin-ийн харьцуулахад боловсруулсан бөгөөд боловсруулах логик JavaScript-д байлгадаг. Эцэст нь бизнесийн логик SDK-ийн дотор байлгасан, бага түвшинд сүлжээний үйл ажиллагаа нь нарийн код руу дамжуулагдсан. Энэ нь архитектурын тохиргоог хадгалах, гүйцэтгэлийг хамардаггүйгээр хөгжүүлэх хурдасгах боломжийг олгодог.
Wallet Integration: Implementing Deposits and Withdrawals
Ямар ч шифрлэдэг бирж нь хадгалах, татаж авах функцгүй байж болно. Бидний зорилго нь энэ үйл явцыг интуицийг, аюулгүй болгох байсан.
Хэрэглэгчийн тохиромжтой байдлыг сайжруулахын тулд бид интернетийн ашиглан сүлжээний хооронд гялалзсан хөрөнгө оруулалтын дэмжлэг нэмж байна.LI.FIүйлчилгээ, хэрэглэгчдэд боломжийг олгодог:
- Өнгөрсөн
- Арилжааны түвшин нэг сүлжээнд өөрсдийн сүлжээнд дамжуулах. Өнгөрсөн
- Do it in just a few clicks, without manually searching for bridges or understanding the complex logic of cross-chain interactions. Өнгөрсөн
- Хамгийн сайн сонголт үнэ / хурдны дуртай дээр суурилсан сонгоно. Өнгөрсөн
Бид нарийвчлалтай ашиглахыг сонгоноWebView. Үүнээс гадна хэрэглээ нь нарийн технологийг ашиглаж, тусгай JavaScript хөдөлгүүрийн SDK үйл ажиллагаа явуулж байгаа боловч WebView нь LI.FI интерфэйс нь нарийн UI-ийг шинэчлэх хэрэгтэйгүйгээр хурдан нэгтгэхийн тулд боломжийг олгодог. Энэ нь вэб болон мобиль платформ хооронд нэгтгэсэн хэрэглэгчийн туршлагатай, хадгаламжийн функцийг шинэчлэхэд хялбар болгож байна.
Үүнээс гадна, бид шифрлэгийн утастай ажиллуулах талаархи тодорхойлолт үзэх ёстой. Утастай холбох, интеракцийг ашиглахын тулд бидEIP-1193Өнгөрсөн(Ethereum Provider JavaScript API), which is the standard that defines how apps can integrate with Ethereum wallets.
Гар утас апп нь хэд хэдэн холболтын арга хэрэгсэл дэмждэг:
- Өнгөрсөн
- MetaMask ашиглан Өнгөрсөн
- Зөвлөгөөний нунтаг эсвэл хувийн ключ ашиглан гарын үсэг импортлох. Өнгөрсөн
- Апп дээр шууд шинэ портфель үүсгэх. Өнгөрсөн
Ямар ч сонгосон арга нь, апп нь тавтай морилно уу хувилбар ханган нийлүүлэгч болгон үйл ажиллагаа явуулж болно. Энэ нь бид мобиль апп нь тусгай систем бий болгох хэрэгтэйгүйгээр одоогийн вэб интерфэйс ашиглах боломжийг олгодог.
НБ*: Одоогийн этапед EVEDEX зөвхөн Ethereum-д нийцтэй сүлжээнд ажилладаг, Тиймээс альтернатив стандартыг үзэж байсангүй. *
НБConclusion and Key Takeaways
TypeScript SDK-ийг анхны гар утасны програмд нэгтгэх нь хязгаарлагдмал, хэзээ ч хязгаарлагдмал үйл явдал байсан боловч энэ нь бүх платформдаас нарийвчлалтай үйл явдлыг хангах, логик дупликатыг элсүүлэх, алдааг багасгах, хөгжүүлэх үйл явцыг маш их хурдан болгоно:
- Өнгөрсөн
- Web SDK нь гар утастай орчинд тохируулж болно, гэхдээ энэ нь архитекторын шинэчлэлт, зөв логик хуваалцах шаардлагатай. Өнгөрсөн
- Өнгөрсөн
- Бизнесийн логик систем түвшний үйл ажиллагаа нь тогтвортой архитектурын хувьд чухал юм. Бидний тохиолдолд native code нь сүлжээний үйл ажиллагаа, WebSocket харилцаа холбоо, SDK нь зөвхөн бизнесийн логик дээр төвлөрөг. Өнгөрсөн
- Өнгөрсөн
- EIP-1193 гэх мэт стандартыг ашиглах нь портфелийн нийцтэй байлгах, имплементацийг хялбарчлахад тусалдаг. Өнгөрсөн
- Өнгөрсөн
- Native код, JavaScript-ийн хөдөлгүүр, WebView нь хөгжүүлэх хурд, гүнзгий, хэрэглэгчийн туршлага хооронд зөв харьцуулалттай. Өнгөрсөн
Өнгөрсөн"Энэ нь хялбар биш байсан боловч одоо бид TypeScript SDK-ийг нарийн шифрлэдэг шифрлэдэг апп-ийг хэрхэн шифрлэдэг гэж мэддэг. Энэ нь зөвхөн хөгжүүлэх хурдан болгосон боловч бидний ирээдүйд архитектур суурилсан юм. "
Өнгөрсөн
— Vlad Komissarov, EVEDEX-ийн CTO
"Энэ нь хялбар биш байсан боловч одоо бид TypeScript SDK-ийг нарийн шифрлэдэг шифрлэдэг апп-ийг хэрхэн шифрлэдэг гэж мэддэг. Энэ нь зөвхөн хөгжүүлэх хурдан болгосон боловч бидний ирээдүйд архитектур суурилсан юм. "
— Vlad Komissarov, CTO at EVEDEX
EVEDEX гар апп-ийн хөгжүүлэх нь зүгээр л бусад бүтээгдэхүүний эхлүүлэх биш, энэ нь шифрлэдэг дэлхийд хязгаарлалтгүй шийдлийг хайж буй бусад багцын эх үүсвэр болгон ашиглаж чадна технологийн туршилт юм.
Зохиогчийн эрх:
Зохиогчийн эрх:Vlad Komissarov, EVEDEX-ийн CTO
Alexander Kiaykin, CTO ньХөнгөн цагаан