A Melos monorepo for the
cs_wownero package,
the cs_wownero_flutter_libs package, and their dependencies.
- A simplified Flutter/Dart Wownero wallet library. Fork of cs_monero
- Depends on https://github.com/MrCyjaneK/monero_c/
- Abstracts the wallet2 spaghetti.
- Refactored and organized version of flutter_libmonero based on https://github.com/cypherstack/flutter_libmonero/tree/heavy-refactor.
Install Melos (dart pub global activate melos) and
run melos bootstrap (or melos bs) in this root directory to get started.
By default, cs_wownero_flutter_libs will automatically include and download the
appropriate platform-specific binaries when you run flutter pub get. Use
these at your own risk. For windows building see building notes before
proceeding. To build the libraries yourself:
- Add this repo as a git submodule to your project and add
cs_wowneroandcs_wownero_flutter_libsto your pubspec.yaml as relative/path dependencies. - Install Melos
(
dart pub global activate melos) and runmelos bootstrap(ormelos bs). - Build the platform you want using one of the following commands:
melos build:androidmelos build:iosmelos build:linuxmelos build:macosmelos build:windows
- Run
melos copyLibsto copy the binaries to where Flutter can find them.
- This repo's build scripts are just wrappers around
monero_c's build scripts. For details and requirements see https://github.com/MrCyjaneK/monero_c/ - To do a clean/fresh build, just the delete the top level
builddir. - Windows: Builds have been tested on Windows 11 with Ubuntu 24.04 in WSL2. Do not install Flutter via Snap, follow one of these guides instead: https://docs.flutter.dev/get-started/install/linux/desktop
- Windows: Due to path handling in a makefile in monero_c, the WSL
PATHcannot contain spaces or brackets. To work around this, runmelos prepareMoneroCand thenexport PATH=$(echo "$PATH" | tr ':' '\n' | grep -v '[ ()]' | paste -sd:)before runningmelos build:windows.
- Tests? (at least what is possible)
- Accounts API?
- Use FFI project skeleton for libs vs Platform Plugin?
- Cleaner/more user friendly API