Next gen application for Polkadot & Kusama ecosystem, transparent & community-oriented, focused on convenient UX/UI, fast performance & security. Nova Wallet aims to provide as many Polkadot ecosystem features as possible in a form of mobile app, unbiased to any network & without any restrictions/limits to the users. Developed by former Fearless Wallet team & based on open source work under Apache 2.0 license.
- Xcode: 16.1+ (recommended)
- iOS Deployment Target: 16.0+
- Swift: 5.9+
- Homebrew: For package management
- Mint: For Swift tool management
- Generamba: For VIPER module generation
- Ruby: For Generamba (comes with macOS)
git clone https://github.com/nova-wallet/nova-wallet-ios.git
cd nova-wallet-ios
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install Homebrew packages
brew bundle
# Install Mint tools (SwiftLint, SwiftFormat, Sourcery)
mint bootstrap
# Install Generamba for VIPER module generation
gem install generamba
# Open the Xcode project
open novawallet.xcodeproj
- Select the
novawallet
scheme - Choose your target device or simulator
- Press
Cmd + R
to build and run
Use the provided script to generate new VIPER modules:
# Make the script executable
chmod +x generamba-module.sh
# Generate a new module (replace 'ModuleName' with your desired name)
./generamba-module.sh ModuleName
This will create a complete VIPER module structure in novawallet/Modules/
with:
- View Controller
- Presenter
- Interactor
- Wireframe
- Protocols
- Tests
# Install templates
generamba template install
# Generate module manually
generamba gen ModuleName viper-code-layout
The project uses several code quality tools managed by Mint:
- SwiftLint: Code style and convention enforcement
- SwiftFormat: Automatic code formatting
- Sourcery: Code generation and boilerplate reduction
These tools are automatically installed via mint bootstrap
and configured in the project.
novawallet/
├── Common/ # Shared utilities and extensions
├── Modules/ # VIPER modules (generated with Generamba)
├── Assets.xcassets/ # App assets and images
├── Configs/ # Build configurations
└── Resources/ # Additional resources
Nova Wallet iOS is available under the Apache 2.0 license. See the LICENSE file for more info. © Novasama Technologies GmbH 2023