Pera Wallet 7.0 заменяет раздельные кодовые базы iOS и Android одним приложением на React Native

Конец двух кодовых баз
Pera Wallet большую часть своей жизни создавала приложение дважды. С первых дней кошелька — он появился как официальный Algorand Wallet и был переименован в феврале 2022 года — iOS работала на кодовой базе Swift, а Android на Kotlin, поэтому каждая функция создавалась дважды, тестировалась дважды и выходила по двум разным графикам, и две платформы могли расходиться. 11 августа команда объявила об отказе от обеих баз. Версия 7.0, согласно анонсу, «не патч и не редизайн. Это полная перестройка приложения, начиная с кодовой базы». Единая кодовая база React Native теперь обеспечивает работу обеих платформ — React Native это фреймворк, компилирующий одно приложение в нативные бинарники iOS и Android.
Объединение влечёт три практических следствия: функции выходят в обоих магазинах по одному графику, эксклюзивные для платформ разрывы исчезают сами собой, а размер загрузки сократился со 103 МБ до 67.9 МБ, примерно на треть. Для самохранимого кошелька — такого, где только пользователь владеет закрытыми ключами и ни одна компания не может заморозить или потерять средства, — этот шаг также означает, что каждая будущая проверка безопасности получит одну реализацию для изучения вместо двух.
Что приносит перестройка
Главные изменения в 7.0, как их перечисляет команда:
| Концепция | Что это значит на практике |
|---|---|
| Главный экран на основе аккаунта с ползунком портфеля | Активы видны сразу; график можно полностью скрыть |
| Предпросмотр подписей с влиянием на баланс | Эффект транзакции на аккаунт показывается до подтверждения |
| Режим принуждения | Поддельный PIN-код открывает аккаунт-приманку под принуждением; встряхивание телефона мгновенно закрывает приложение |
| Нативные экраны Pera Stake и Pera Fund | Стейкинг и финансирование открываются внутри приложения, без перехода в webview |
| Глобальный поиск по кошельку | Один запрос охватывает аккаунты, активы и NFT — галерею NFT можно искать по ID актива |
| 3D-рендеринг NFT | NFT с 3D-моделями отображаются в полном объёме, а не как плоская заглушка |
| Представление структуры Universal Wallet | Иерархия генерации аккаунтов теперь видна |
| Поддержка пользовательских сетей | Разработчики могут добавлять localnet, betaNet, fNet или другие сети в приложении |
| Делегирование комиссии для Pera Fund | Новые пользователи могут совершить первую транзакцию даже с нулём ALGO или USDC |
| USB Ledger на Android | Аппаратные кошельки подключаются напрямую кабелем |
| Объединённый инбокс | Уведомления и рекламные баннеры в одном месте |
| Оптимизация для iPad | Нативный планшетный интерфейс вместо растянутого телефонного экрана |
Помимо списка, переработка подписания нацелена на тип сбоя, который дорого обходился пользователям кошельков по всему криптомиру: подтверждение запроса без понимания того, что он делает. Новые превью подписей сочетаются с возможностью протокола, которой многие держатели никогда не пользуются: Algorand Standard Assets (ASA, токены, выпускаемые нативно в сети) имеют опциональную роль заморозки, которую менеджер актива может активировать для остановки переводов конкретному держателю, и 7.0 позволяет создателям подписывать такие транзакции заморозки по требованию для выпущенных ими активов. Пользователи Universal Wallet получают ещё одно, менее заметное обновление, повышающее прозрачность: этот тип кошелька использует иерархическую детерминированную деривацию, то есть одна фраза из 24 слов (BIP-39, совместимая с другими HD-кошельками такими, как Lute) генерирует до 50 аккаунтов, и 7.0 теперь отображает фактическую цепочку деривации, связывающую их.
Построен на Rocca
Pera утверждает, что 7.0 частично построен на Rocca — фреймворке для кошельков от Algorand Foundation. Это white-label инфраструктура, то есть переиспользуемые строительные блоки, которые другая команда может переименовать и встроить в свой продукт, а не потребительский кошелёк как таковой. Открытый репозиторий показывает, какую архитектуру это подразумевает: фреймворк строится на пакете @algorandfoundation/wallet-provider, собирая кошелёк из модульных расширений — KeyStore, который управляет закрытыми ключами через нативную безопасность устройства (iOS Keychain, Android Keystore), AccountStore для отслеживания аккаунтов, LogStore для событий, а также запланированное расширение Provider с API, включающим requestFeeDelegation — ту же концепцию, которую 7.0 реализует в строке делегирования комиссии выше. Команда говорит, что «значительная часть этой перестройки происходит из этого фундамента». Сам фреймворк ещё развивается — в репозитории проект описан как пример онбординг-сценария, где дашборд — это UI-заглушка, а его хранилище ключей достигло кандидата на релиз 1.0 12 августа, — так что «построен на Rocca» — это скорее направление движения, чем готовый фундамент.
SDK в том же релизе
Перестройка вышла вместе с сопутствующим обновлением для разработчиков. Pera Connect — JavaScript SDK, который веб-приложения используют для связи с кошельком, — достиг версии 1.6.0 30 июля, добавив два новых стандарта Algorand: ARC-27 (стандартизированный многосетевой процесс подключения, позволяющий приложению указать, какая сеть ему нужна, и проверить возможности кошелька перед подключением) и ARC-60 (Sign in with Algorand), который заменяет пароли подписями из кошелька — каждый вход привязан к домену запрашивающего приложения, чтобы фишинговый сайт не мог использовать подпись повторно. ARC-60 работает только на Pera 7.0 и новее, привязывая новейшую функцию SDK к перестроенному приложению. По данным реестра npm, за последнюю неделю пакет скачали 9,378 раз, а за последний месяц — 46,593 раза.
Выпуск и на что обратить внимание
Релиз уже доступен, и для существующих пользователей это обычное обновление в магазине приложений. В App Store указана версия 7.0.3 от 15 августа со средней оценкой 4.77 по 7,954 оценкам; Google Play указывает 500K+ установок, 4.6 звезды на основе 22.1K отзывов, с обновлением от 14 августа. История версий также подтверждает, что консолидация реальна, а не косметическая: pera-ios и pera-android, два нативных репозитория, последний раз получали коммиты 16 июня, тогда как pera-react-native — где теперь живёт вся разработка — имеет коммиты вплоть до 18 августа и выпустил v7.0.1, v7.0.2 и v7.0.3 в течение трёх дней после анонса. Команда проводила публичную бету с июля на beta.perawallet.app с одобрением через TestFlight на iOS и бета-треком на Android, а сама страница беты содержит строку «Powered by Rocca Wallet».
Рядом с этим импульсом есть два предостережения. В анонсе и постах о бете не упоминается сторонний аудит безопасности перестроенного приложения — для кошелька, хранящего реальные средства пользователей, это упущение, которое потенциальному пользователю стоит взвесить. И связь с Rocca не нейтральна: Фонд, создавший фреймворк, на котором теперь частично построен Pera, также инвестировал в Pera в середине 2024 года вместе с Borderless Capital, Arrington Capital и DWF Labs, так что реклама «построен на Rocca» несёт родственную связь. Реакция сообщества пока тоже непроверяема — ни в форуме Algorand, ни в поиске Bluesky в ходе подготовки материала не появилось обсуждений запуска 7.0. Что же подтверждают доказательства, так это приверженность: публичная бета, три патча за неделю, SDK с реальным месячным объёмом загрузок и две закрытые легаси-кодовые базы. Дорожная карта кошелька теперь идёт через эту одну кодовую базу.
Источники
- Introducing Pera Wallet 7.0: Rebuilt From the Ground Up
- Pera Wallet · Pera 7 beta
- pera-react-native · algorandfoundation/rocca · perawallet/connect
- Universal Wallet FAQ
- Pera Algo Wallet on the App Store
- https://blog.perawallet.app/feed
- Releases · perawallet/pera-react-native
- https://github.com/perawallet/pera-react-native/releases.atom
- itunes.apple.com
- Release v7.0.0 · perawallet/pera-react-native · GitHub
- Tags · perawallet/pera-react-native · GitHub
- 2025 on Algorand: Roadmap progress
- Tags · perawallet/pera-react-native · GitHub
- Pera Algo Wallet - Apps on Google Play
- Pera Wallet Feedback
- Changelog | Pera Wallet
- GitHub · Где создаётся ПО
Source: https://blog.perawallet.app