Ki jan yo bati yon mobil Crypto App ak asire estabilite li yo
Modèn komèsan kriptografik ap chwazi pi plis ak plis smartphone kòm zouti prensipal yo - dapre done endistriyèl, plis pase 60% nan komès yo te fè atravè aparèy mobil. Sa a mande ke devlopè yo kreye pa sèlman apps vizyèlman atraksyon, men plen fonksyonèl, sekirite, ak gwo vitès platfòm komès, kote menm bugs ti kras ka mennen nan konsekans grav (nan echanj erè montre nan pèdi lajan).
Konstriksyon yon app komès kriptografik mobil se pa sèlman sou pòte yon interface entènèt nan yon app. Li se yon repitasyon enjenyè endepandan ak anpil nuans. itilizatè espere komès byen vit, pratik ak an sekirite, san yo pa bezwen konprann detay teknik yo.
Tendans kle ki fòme mache a komès kriptografik mobil yo gen ladan:
- nan
- Yon chanjman soti nan entènèt la nan mobil: entèfas yo ap pran konsepsyon mobil-first, ak demann pèfòmans yo ogmante. nan
- Demand pou eksperyans natif natal: aplikasyon yo dwe vit, san danje, ak santi "natif natal" nan sistèm opere. nan
Nan atik sa a, nou pataje ki jan ekip EVEDEX ak devlopè yo nan CleverPumpkin te entegre yon TypeScript SDK (orijinèlman bati pou entènèt la) nan apps natif natal yo kenbe yon logik biznis inifòm atravè platfòm yo. Solisyon sa a te ofri anpil avantaj, men tou te pote yon pati rezonab nan repitasyon ak li.
Why We Chose SDK and the Challenges We Faced
Vèsyon an entènèt nan EVEDEX deja itilize yon Custom Exchange SDK, yon bibliyotèk TypeScript ki konekte API a echanj sou bò kliyan. Avèk tan, li te devlope yon logik biznis konplè, ki gen ladan agrégation done mache, signature lòd, ak validasyon.
Objektif prensipal la te asire konpòtman konsistan atravè tout platfòm yo. Objektif nou an te pou evite duplikasyon logik, diminye kantite bugs, ak akselere devlopman. Sa vle di: entegre SDK a ki egziste sou entènèt la nan aplikasyon mobil natif natal.
Sepandan, SDK a te ekri nan TypeScript epi li pa te orijinal fèt pou itilize deyò yon navigatè. Sa a te devlope defi teknik prensipal nou an.
nan"Nou diskite tout opsyon implemantasyon posib nan detaye. Lè nou konsidere kontexte a plen, nou te deside yo eseye entegre tout TypeScript SDK nan aplikasyon yo natif natal. Sa a te yon teritwa nouvo pou nou, men nou te pare yo afekte travay sa a konvansyonèl. "
nan
-Alexander Kiaykin, CTO nan CleverPumpkin
"Nou diskite tout opsyon implemantasyon posib nan detaye. Lè nou konsidere kontexte a plen, nou te deside yo eseye entegre tout TypeScript SDK nan aplikasyon yo natif natal. Sa a te yon teritwa nouvo pou nou, men nou te pare yo afekte travay sa a konvansyonèl. "
- nanAlexander Kiaykin, CTO of CleverPumpkin
Nan iOS, nou te gen aksè nan entegre JavaScriptCore a, men pou Android, nou te dwe chèche pou yon altènatif. Nou chwaziLiquidCore, yon motè JS otonòm, sous louvri.
Pou asire interaksyon san danje ak SDK a soti nan kòd la natif natal, nou te devlope yon wrapper ant platfòm ki fasilite kominikasyon ant SDK a ak lojik biznis nan app a.
- nan
- Pa tout motè JS sipòte dènye ECMAScript sentaks: nou te degrade objektif la Transpilation TypeScript nan yon vèsyon JavaScript ki konpatib ak motè a. nan
- nan
- JS motè pa gen aksè dirèkteman nan kapasite sistèm: bagay tankou HTTP demann, WebSockets, ak rezo kominikasyon te implemente nan kòd natif. nan
Kòm yon rezilta, SDK a te modifye. Li kounye a sèvi ak entèfas ekstèn pou lojik rezo, HTTP ak WebSocket entèaksyon yo ap travay sou bò Swift / Kotlin, pandan y ap lojik pwosesis rete nan JavaScript. Nan fen a, lojik biznis te rete nan SDK la, ak operasyon rezo ki ba nivo yo te delege nan kòd la natif. Sa a te pèmèt nou kenbe konsistans arsitekturèl ak akselere devlopman san yo pa kompromèt pèfòmans.
Wallet Integration: Implementing Deposits and Withdrawals
Pa gen okenn echanj kriptografik ka opere san fonksyonalite depo ak retire. Objektif nou an te fè pwosesis sa a intuitif ak san danje.
Pou amelyore fasilite itilizatè a, nou te ajoute sipò pou transfè ajan fleksib ant rezo lè l sèvi avèkLI.FIsèvis, ki pèmèt itilizatè yo:
- nan
- transfè aktiv soti nan yon rezo nan yon lòt. nan
- Fè li nan jis yon kèk klike, san yo pa manyen rechèch pou pon oswa konprann lojik la konplèks nan interaksyon cross-chains. nan
- Chwazi opsyon ki pi bon ki baze sou pri / vitès preferans. nan
Nou ap chwazi pou sèvi akWebViewMalgre ke aplikasyon an se bati lè l sèvi avèk teknoloji natif, ak yon motè JavaScript separe ki itilize pou operasyon SDK, WebView pèmèt nou rapidman entegre interfaces LI.FI san yo pa bezwen re-implemantasyon UI l 'nan natif natal. Sa a pèmèt yon eksperyans itilizatè konsistan nan tou de platfòm entènèt ak mobil ak fè li pi fasil pou mete ajou fonksyonalite depo.
Nan menm tan an, nou te dwe konsidere espesifik yo nan travay ak crypto wallets nan yon anviwònman mobil. Pou konekte ak interaksyon ak wallets, nou te itilizeEIP-1193nan(Ethereum Provider JavaScript API), ki se estanda a ki definye ki jan aplikasyon yo ka entegre ak Ethereum wallets.
mobil app sipòte plizyè metòd koneksyon:
- nan
- atravè MetaMask nan
- Impòte yon wallet ekstèn lè l sèvi avèk yon frè sèk oswa klavye prive. nan
- Kreye yon nouvo wallet dirèkteman nan app la. nan
Nenpòt metòd chwazi, aplikasyon an ka sèvi kòm founisè lajan an pou paj depo a. Sa a pèmèt nou re-use entèfas la entènèt ki deja egziste san yo pa bezwen bati yon sistèm separe pou aplikasyon mobil la.
NB nan*: Nan etap la kounye a, EVEDEX opere ak rezo Ethereum-kompatib sèlman, se konsa, estanda altènatif pa te konsidere. *
NB nanConclusion and Key Takeaways
Entegre yon TypeScript SDK nan yon natif natal aplikasyon mobil te vin yon travay ki pa konvansyonèl ak pafwa difisil, men li te pèmèt nou asire konpòtman konsistan atravè tout platfòm, elimine duplikasyon logik, redwi kantite erè, ak peze pwosesis la devlopman:
- nan
- Yon SDK entènèt ka adapte pou anviwònman mobil, men li mande pou rechèch arsitektural ak dekompozisyon rezonab. nan
- nan
- Deskripsyon lojisyèl biznis soti nan operasyon sistèm-nivo se esansyèl pou arsitektur ki gen fòs. Nan ka nou an, kòd la natif pran swen nan operasyon rezo ak Kominikasyon WebSocket, pandan ke SDK a konsantre sèlman sou lojisyèl biznis. nan
- nan
- Sèvi ak estanda tankou EIP-1193 ede kenbe konpatibilite lajan kach ak senplike implemantasyon. nan
- nan
- Combining native code, a JavaScript engine, and WebView gave us the right balance between development speed, flexibility, and user experience. nan
nan"Li pa te fasil, men kounye a nou konnen byen ki jan yo embed yon TypeScript SDK nan yon natif natal kriptografik app. Sa a pa sèlman akselere devlopman an, men tou nou te bay yon fondasyon arsitektyèl pou tan kap vini an."
nan
— Vlad Komissarov, CTO nan EVEDEX
"Li pa te fasil, men kounye a nou konnen byen ki jan yo embed yon TypeScript SDK nan yon natif natal kriptografik app. Sa a pa sèlman akselere devlopman an, men tou nou te bay yon fondasyon arsitektyèl pou tan kap vini an."
— Vlad Komissarov, CTO at EVEDEX
Devlopman nan app mobil EVEDEX pa te sèlman yon lòt lanse pwodwi, li te yon reyèl eksperyans teknoloji ki ka kounye a sèvi kòm yon pwen kòmanse pou lòt ekip ki ap chèche pou solisyon yo ki pa konvansyonèl nan mond lan kriptografik.
Te ekri pa:
Te ekri pa:Vlad Komissarov, CTO nan EVEDEX
Alexander Kiaykin, CTO nanPwodwi pou Telefòn