Rubicon - це некастодіальний криптогаманець для безпечного зберігання, відправлення та отримання цифрових валют та токенів. Він підтримує чотири нативні валюти: Bitcoin, Ethereum, Litecoin, Tron та два токені: Tether ERC 20 та Tether TRC 20.
Спочатку замовник планував створити платіжний інструмент тільки для своїх існуючих клієнтів, проте трохи пізніше ухвалив рішення вивести криптогаманець на глобальний ринок і зробити його загальнодоступним.
Як проходила розробка Rubicon Wallet, з якими труднощами та викликами стикалася наша команда під час роботи – розповідаємо далі.
Цілі і завдання
Розробити мобільний криптовалютний гаманець для IOS та Android на нативних технологіях:
- Створити індивідуальний та зручний UX/UI дизайн, з можливістю персональної кастомізації.
- Реалізувати програму на рівні коду.
- Розробити панель адміністратора для керування контентом.
- Забезпечити надійний захист доступу до додатку та безпеку транзакцій.
- Додати можливість імпорту зовнішніх некастодіальних гаманців по seed-фразі.
Як працює Rubicon Wallet
Є два способи почати використовувати Rubicon Wallet:
- Створити новий криптогаманець.
- Імпортувати в додаток свій існуючий некастодіальний гаманець за допомогою seed-фрази.
Додаток Rubicon є просто зручним інструментом, за допомогою якого користувачі можуть безпечно зберігати засоби та виконувати трансфери.
Кількість гаманців, які можна додати до Rubicon – необмежена.
Зберігання та відображення коштів
Додаток відображає баланс одразу у двох валютах — у цифровій та фіатній. За бажанням, користувач також може переглянути інформацію про поточну вартість криптовалют прямо в Rubicon Wallet, для цього ми інтегрували в додаток графіки, що оновлюються в режимі реального часу. Наприклад, можна задати період, що цікавить, — день, місяць або рік, потрібну фіатну валюту, і подивитися історію курсів. Якщо вартість крипти сприятлива, її можна відразу придбати, не залишаючи додаток Rubicon.
Трансфери: відправлення та отримання активів
Відправлення та отримання коштів - це основні функції криптогаманця, тому ми врахували популярні поведінкові патерни та запровадили кілька корисних фіч. Наприклад, додали можливість вказувати суму переказу у фіаті, та вносити постійних контрагентів до списку контактів, щоб щоразу не вводити номер їх гаманця під час створення трансферу.
Історія фінансових операцій доступна користувачеві будь-коли. Для зручності, ми додали можливість фільтрації: за датою та типом транзакції (відправлення або отримання).
Персональні налаштування
Для зручності використання Rubicon, ми впровадили можливості персоналізації додатку. Наприклад, користувач може змінити колірну тему, налаштувати push-сповіщення або змінити потрібну мову.
Безпека та прозорість
Важливою перевагою Rubicon є те, що ніхто, навіть власники додатку, не мають жодної можливості впливати на транзакції користувачів. Це створює оптимальне довірче тло і виключає ризик одностороннього заморожування або блокування коштів.
Надійний захист доступу до додатку забезпечують:
- Запит PIN-коду або біометрії при кожному відкритті додатку.
- Запит PIN-коду або біометрії після автоматичного блокування екрана або бездіяльності.
- Запит PIN-коду або біометрії перед здійсненням транзакції.
Таким чином, користувач може бути впевнений, що коштами на його гаманці ніхто не зможе скористатися без його участі.
Розробка
Роботу над проєктом ми розділили на дві частини: створення самого криптогаманця та розробка панелі адміністратора.
Як основний стек взяли нативні технології Swift і Kotlin з використанням Jetpack Compose, а бекенд побудували на Python. Додатково задіяли сторонні API сервіси, що полегшують роботу з блокчейн-мережами Tron та Ethereum.
Розробка проходила у декілька етапів. Докладніше про кожен із них зараз розповімо.
1. Збір інформації та аналіз
Вивчили ідею замовника, а згодом провели докладний аналіз ринку. Це допомогло нам зрозуміти потреби цільової аудиторії, сильні та слабкі сторони конкурентів Rubicon, що ми й використали під час подальшої розробки.
2. Проєктування
Перед початком розробки повністю описали функції гаманця, продумали його внутрішню архітектуру та структуру безпеки, побудували майндмепи та змалювали варфрейми інтерфейсу. В результаті отримали ретельно продуманий прототип, який дозволив максимально точно оцінити терміни та вартість реалізації проєкту.
Щоб скоординувати свої плани з клієнтом, ми провели презентацію мокапа та обговорили нюанси, а потім взялися за технічну реалізацію криптогаманця.
3. Розробка дизайну
Дизайн зробили мінімалістичним та лаконічним. Кількість графічних елементів, які б відволікати користувача від основного контенту, було зведено до мінімуму. А щоб додаток виглядав чисто та контрастно, в UI ми використовували зелений колір. Він створює відчуття свіжості та відкритості, а ще добре гармонує зі світлою та темною колірними схемами.
Особливу увагу приділили головному екрану і вирішили зробити його функціональним, за аналогією з іншими успішними рішеннями в криптоіндустрії. При відкритті додатку користувач на першому екрані бачить свій баланс, доступні криптовалюти і може перейти до створення трансферу в один клік.
4. Mobile та backend-розробка
Rubicon Wallet функціонує як звичайний мобільний додаток: фронтенд формує та надсилає нові запити, а на бекенді здійснюється обробка даних.
Для виконання завдань, пов'язаних з виконанням транзакцій, Rubicon звертається до блокчейн-мереж Ethereum і Tron через API, які були інтегровані нашими розробниками:
- CryptoCompare — передає інформацію про поточну та історичну вартість криптовалюту в режимі реального часу. Ці дані додаток використовує для відображення балансу у фіаті і при побудові графіків курсу крипти.
- TronGrid — використовується для отримання балансу, списку транзакцій, надсилання транзакцій та інших операцій у мережі Tron.
- Etherscan — надає дані історії транзакцій в мережі Ethereum.
- GetBlock - відображає баланс і відправляє Ethereum-транзакції в блокчейн.
5. Тестування
Провели кілька рівнів тестування, усунули баги та переконалися, що всі функції криптогаманця працюють так, як це було задумано.
Результат
Наша команда виконала розробку некастодіального гаманця Rubicon для операційних систем IOS та Android. Деплой в App Store вже виконаний, а Play Market відбудеться найближчим часом.
Клієнт залишився задоволений технічною реалізацією криптогаманця та продовжує співпрацю з нашою командою після релізу додатку. Сьогодні ми збираємо зворотний зв'язок від користувачів та працюємо над оновленнями додатку, які спрямовані на підвищення безпеки та покращення функціональності продукту.