https://github.com/threefoldtech/mycelium_flutter
https://github.com/threefoldtech/mycelium_flutter
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/threefoldtech/mycelium_flutter
- Owner: threefoldtech
- License: apache-2.0
- Created: 2024-04-19T04:19:55.000Z (about 2 years ago)
- Default Branch: development
- Last Pushed: 2026-05-27T14:04:43.000Z (7 days ago)
- Last Synced: 2026-05-27T15:24:54.756Z (7 days ago)
- Language: Dart
- Size: 2.96 MB
- Stars: 4
- Watchers: 2
- Forks: 3
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Myceliumflut
A cross-platform Flutter application providing a user interface for Mycelium, the ThreeFold IPv6 overlay network. Supports Android, iOS, macOS, Windows, and Linux with native Rust bridges for core network functionality.
## Development
### prequisites
- install flutter SDK https://docs.flutter.dev/get-started/install according to your platforms
- install Rust
- vscode for editing the Dart code
### iOS
**requirements**
- Real iPhone is needed for test, we can't use Simulator here because mycelium need iOS `Network Extensions` which can't run on Simulator.
**build iOS Swift-Rust Bridge**
```bash
cd mycelmob
bash build-ios.sh
```
there is `IPHONEOS_DEPLOYMENT_TARGET` variable in the `build-ios.sh` which need to be the same with the value set in `XCode`.
### Macos
**build Macos Swift-Rust Bridge**
```bash
cd mycelmob
bash build-mac.sh
```
### Android
**requirements**
- Android Studio. The flutter related configuration can be found in the above flutter SDK installation guide
- Android NDK 26.1.10909125. Updated version can be found at `android/app/build.gradle` file
**build Android Kotlin-Rust Bridge**
```bash
cd mycelmob
bash build-android.sh
```
### Windows
**requirements**
Visual Studio 2022.
Complete list at https://docs.flutter.dev/get-started/install/windows/desktop#software-requirements
**build Windows DLL**
```bash
cd mycelffi
./build.bat
```
### run
go to `myceliumflut` dir
- `flutter pub get`
- `flutter run`
- or using vscode:
- `code .` (to open vscode)
- `Run` -> `Start Debugging
## Usage
### Windows
We currently need to run it as administrator
## Installer / Release
### Android
**self distributed `.apk`**
```console
flutter build apk
```
**google playstore release**
1. create the signature, as described at https://docs.flutter.dev/deployment/android#sign-the-app
2. change `signingConfig signingConfigs.debug` in [build.gradle](./android/app/build.gradle) to `signingConfig signingConfigs.release`
3. increase build number in pubspec.yaml
4. build the `.aab` (application bundle)
```console
flutter build appbundle
```
### Windows
Build in release mode
```console
flutter build windows --release
```
copy visual studo `.dll` files:
```console
cp 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT\msvcp140.dll' .\build\windows\x64\runner\Release\
cp 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT\msvcp140_1.dll' .\build\windows\x64\runner\Release\
cp 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT\msvcp140_2.dll' .\build\windows\x64\runner\Release\
cp 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT\vcruntime140.dll' .\build\windows\x64\runner\Release\
cp 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.40.33807\x64\Microsoft.VC143.CRT\vcruntime140_1.dll' .\build\windows\x64\runner\Release\
```
run preparation script
```console
.\installers\windows\prepare.bat
```
Run Inno Setup, our working dir is `build\windows\x64\runner\Release`:
- mycelium-network.exe as the application main executable (it is renamed from the original myceliumflut.exe)
- `add file(s)` and add all `.dll` files
- `add folder` and add `data` folder with it's subdirectories
Scroll down the list & select the `data` folder path and click on `Edit…` button.
It is important to ensure that the destination sub-folder has the same name `data` otherwise the app wont run after installation as all contents of the folder are dispersed outside. So, enter the name of the `Destination subfolder` as `data` and click `OK`.
The Inno Setup script can be found [here](./installer/windows/myceliumflut_innosetup.iss), you need to modify the path (according to your env) before `Build` it on `Inno Setup` app.
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
Copyright (c) TFTech NV.