Coder Social home page Coder Social logo

wallet-android's Introduction

Actions Status

Actions Status

What is Aurora?

Aurora is a reference-design mobile wallet app for the forthcoming Tari digital currency. The goal is for creators and developers to be able to use the open-source Aurora libraries and codebase as a starting point for developing their own Tari wallets and applications. Aurora also sets the bar for applications that use the Tari protocol. In its production-ready state, it will be a beautiful, easy to use Tari wallet focused on Tari as a default-private digital currency.

Want to contribute to Aurora? Get started here in this repository for Android or here for iOS.

   

Build Instructions

  1. Install Android Studio 4.0.
  2. Clone the repository: git clone https://github.com/tari-project/wallet-android.git
  3. Open Android Studio, select Open an existing Android Studio Project and select the project root folder.
  4. Wait until Android Studio finishes initial downloading, syncing and indexing.
  5. If you have not yet configured NDK, you should see the "NDK not configured" message at the end of the build and sync process.

  6. Click "Install NDK ..." link in the build log and accept the license, this will commence NDK and CMake installations. Let Android Studio do more downloading and sync.ing and wait until you see "CONFIGURE SUCCESSFUL" in the build logs.

  7. At this step, please go to the SDK Manager and make sure that both NDK and CMake are installed.

  8. Go to Build Variants and select regularDebug for the full configuration, or privacyDebug for privacy configuration.

  9. Make project. (BuildMake Project)
  10. OPTIONAL secret.properties file in the project folder contains application secrets and will be generated for you with default values during the build process. Please follow the comments in this file and edit if required.
  11. OPTIONAL The regular build of Aurora uses Sentry for error monitoring. sentry.properties file in the project folder contains Sentry configuration and will be created with empty values for you during the build process. Please follow the comments in this file and edit with your Sentry server values if you'd like to enable crash reporting.
  12. Voila 🎉 You're now ready to run Aurora! Please follow the next item on how to setup your emulator, or you can already run it on your device.

Emulator Configuration

Aurora Android native libraries only support armeabi-v7a, arm64-v8a and x86_64 ABIs. Therefore you can only run Aurora on devices and emulators with a supported ABI. Android Studio emulators use the unsupported x86 ABI as default, but you can download an x86_64 image for your emulator and run Aurora on it. Please Download an x86_64 image under the x86 Images tab in the System Image step of Virtual Device Configuration.

Using Your Custom Native Library (FFI) Version

Tari native wallet library version to be used by Aurora is specified by the ext.libwalletVersion in the build.gradle file in the project root directory. Aurora build script automatically fetches the native libraries of this version into the libwallet folder in the root directory during the build process. Any library files you place in this folder will be deleted and replaced by this automatic download process.

If you want to disable the automatic download and use the native libraries of your choice, please comment out the line preBuild.dependsOn("downloadLibwallet") in the file app/build.gradle.

For updating openssl

https://github.com/217heidai/openssl_for_android/releases

wallet-android's People

Contributors

aleksandrvakhtin avatar alexandrvakhtintari avatar cjs77 avatar igordanilcenko avatar jasonvdb avatar jigneshsanghani avatar kukabi avatar leet4tari avatar nyarian avatar striderdm avatar stringhandler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

wallet-android's Issues

Create ForegroundService for libwallet

The Tari Android wallet will obtain wallet services from the Tari blockchain via a foreground service.

This foreground service should only be accessible from whitelisted apps (or some other suitable authentication process).

The foreground service will monitor the blockchain via libwallet and a connected base node to update the UI application about:

  • New incoming transactions and messages
  • Completed outgoing transactions
  • Newly mined blocks containing transactions I'm interested in

See also #46

Backend Mobile: Wallet: Transaction history

Store all data related to transactions I've sent and received.

Expose an API that has

  • get_tx_list (filters) - list all my transactions, or filter by sent/received/to dest_pubkey/from src_pubkey

The status on tx's should be kept current by communicating with a base node (confirmed = >NNN confirmations, pending = <NNN confirmations, unconfirmed = in mempool, else unknown).

Rejected txs won't be identifiable on the blockchain, so these would have to be tracked and marked locally.

[Feature] Sending Tari: Adding a recipient by QR Code

@talmahaj commented on Fri Jan 10 2020

See parent

TODO:
[ ] Re-enable QR scanning in "Send To" screen. Screenshot 2020-02-19 at 14 15 24
[ ] Parse the JSON and paste the emoji ID into the text view.

Notes:

  1. Not for MVP, but on scanning a code, we'll want to provide an alias for the emoji ID and save it to the contact list.
  2. The exact JSON format is not 100% finalised, but it's currently as follows:
{ 
  "public_key": "64 char hex string",
  "emoji_id": "12 char emoji string",
}

The app should use the FFI to confirm that the public key and emoji Id match before pasting the emoji Id into the text view.

Backend Mobile: Wallet: Address book

The Tari wallet should integrate with existing contacts if they exist (mobile) or implement its own (desktop / mobile in maximum privacy mode):

  • Associate a pubkey with a name, detail, picture and/or with contacts entry on phone.
  • Update addressbook details given pubkey
  • Delete an addressbook entry
  • Get entry from pubkey
  • Search for entry given name/detail/glob
  • Expose a special "My details" record that has my pubkey and publicly available name/pic if any (must fit in QR code)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.