/veil_wallet

Veil mobile wallet

Primary LanguageDartMIT LicenseMIT

Veil light wallet

Build

A crossplatform veil light wallet written with dart/flutter.

Get Veil Wallet on Google Play

Releases for other platforms can be found here

Development versions can be downloaded from github actions

* Private keys stored with flutter_secure_storage, next encryption methods used to secure data:

Getting Started

Requirements:

Windows:

  • visual studio 2022 with c++ support

Linux:

  • required libs
sudo apt update
sudo apt install libsecret-1-dev clang pkg-config ninja-build libgtk-3-dev cmake
  • it's highly recommended to NOT install flutter via snap

MacOS and iOS:

  • zsh terminal recommended
  • homebrew
  • cocoapods (can be installed via homebrew)
brew install cocoapods
xcode-select --install

iOS:

  • iOS simulator for Xcode

Android:

IDE:

Project developed with VS Code

Building project:

Before building it's important to download submodules

git submodule update --init --recursive

Also see requirements for veil_light_plugin

You may find solutions for common problems here: flutter-notes.md

Windows:

# release
flutter build windows --release

MacOS:

# release
flutter build macos --release
# after that you may open project in Xcode (./macos/Runner.xcworkspace)

Linux:

# release
flutter build linux --release

iOS:

# release
flutter build ios --release --no-codesign
# after that you may open project in Xcode (./ios/Runner.xcworkspace)

Android:

# debug on device
flutter run -d <device_id>

# release build in aab format
flutter build appbundle --release

# release build in apk format
flutter build apk --release

Developing

Updating veil_light_plugin dependency

git submodule update --remote --merge

Viewing logs:

flutter logs

Design notes

To generate icons for platforms use:

dart run flutter_launcher_icons

You may also look at generator config flutter_launcher_icons.yaml

Localization

App uses arb format for localization. User locale detected automatically on app start.

To add new locale you should create file:

./lib/l10n/app_<lang_code>.arb

You can use ./lib/l10n/app_en.arb or ./lib/l10n/app_ru.arb as a template

* app_en.arb contain some metadata which is not required for other languages, you may safely remove it (see app_ru.arb for example)