This project uses cargo make to combine the build commands for compiling the Rust edgeware-wallet
module and linking it to the Flutter interface. This structure will eventually enable our substrate RPC client to talk directly to the Flutter interface (with no dependency on polkadot.js).
shekohex/flutterust
is a generic template for Rust to Dart FFI.
- Generate a new Edgeware Account.
- Backup/Restore your account using
Paper Key
(Seed Phrase). - Transfer
EDG
to your contacts (Tested on Edgeware testnet). - Keep track of your contacts (view balances, share contacts).
- Share your account using QR Code and add contacts by scanning the QR Code.
- Biometric Authorization when sending tokens instead of using passwords (Face ID, Touch ID, Fingerprint, ..etc).
Need to see a new feature? Open a new issue with
Feature Request
label :)
You can get the APK (For Android) from releases you will find two variants one for (ARM64, real devices) and the other one for (x86_64, emulators). If you don't have a recent Android device (Android 7+) you could download the (x86_64) APK and "Drag & Drop" it on an Emulator.
For iOS, well .. you can't just install anything (IPA) on Real device, you will have to compile and test the code on the iOS Simulator.
It is common for developers to get stuck setting the path to the Dart and Flutter SDKs after installation so take careful note of where these are installed. See the Dart docs: Configure PATH and environment variables for more info.
- Run
flutter doctor
to verify that you have everything needed to build and run a flutter application.
You probably won't have a connected device and that's OK, you can pick your emulator in step (5) below.
- Install Cargo Make, and CBindgen (skip if you already have them installed)
$ cargo install cargo-make cbindgen
- Clone this repository.
These instructions assume that you have installed Android Studio or the flutter plugins for Android Studio.
-
Run the following commands in the root of the cloned repository.
$ rustup target add aarch64-linux-android x86_64-linux-android
$ cargo make android-dev # for android only using x86_64 emulator (run cargo make android to build for all android targets)
$ flutter run
These instructions assume that you may NOT have installed Android Studio nor the flutter plugins for Android Studio.
- Open the iOS emulator. This could be as simple as invoking the following command if you've set this alias before.
$ open -a simulator
You may have to specify File -> Open Device -> $MODEL
once the simulator opens.
- In the root of the cloned repo, run the following commands.
$ rustup target add aarch64-apple-ios x86_64-apple-ios
$ cargo make ios --profile release # Release Build is Required since debug build is very big.
$ flutter run
- How do I create an account?
When you open the application for the first time, the application will try to find if you already got an account on your device. if there is no account, it will ask you if you want to "Generate account" or "Recover my account". Click on "Generate account" and follow the steps (it is only one step, really that easy!).
- How do I get free EDG for testing?
assuming the app built against the testnet
(beresheet1.edgewa.re) you can use this tool to mint
your account with a free balance.
Go to your account (Click on the little icon on the top left corner) and go to My Information
and you will see your address there (Long press to copy it).
after adding tokens (EDG) to your account, close the information screen and open it again, or simply close the app and open it again.
This crate uses #![deny(unsafe_code)]
to ensure everything is implemented in
100% Safe Rust, although there are some places where FFI is used, this lint is disabled.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the GPL-3.0 license, shall be licensed as above, without any additional terms or conditions.