Giter VIP home page Giter VIP logo

sifir-mobile-wallet's Introduction

Sifir : Bitcoin and Lightning powered mobile wallet

  • Non-custodial and open-source
  • Anonymous, private and secure TOR connection to your own Bitcoin and Lightning node via Cyphernode.
  • All communication is signed and encrypted with PGP keys generated on device to ensure maximum privacy and origination of messages.
  • User friendly UX without compromising cypherpunk principles.

⚠️ Dragons lie ahead ! ⚠️ Sifir is still very much Alpha software. Please keep that in mind when using it. If you do find an issue while using the Sifir please open an issue for it so we can get on it.

ANDROID ONLY Sifir has only been tested on android phones at this time.

Downloading Release

  • Download and install the prebuilt APK from the release section
  • Google Store - Coming soon...

Build and Install for your self

  1. Setup React Native CLI https://facebook.github.io/react-native/docs/getting-started
  2. Clone the Sifir project repository
  3. Install any npm dependencies locally: npm i

Running in development mode

  1. Make sure you've installed all depedencies and that your phone is connected and recongized by your system.
  2. Open two terminal windows (or Tmux panes, emacs,...) In one terminal window run:
npm run start

and in another run:

npm run android

This will build, upload and start a debug version of the app on your phone with hot reload enabled.

Building APK for 'real' use

  1. Build APK by running: npm run android:apk This will build the APK as app-release.apk and also make a copy tagged with the git commit being built ex: sifir-android-app-release-e3fa51.apk Both files will be located in: <path to repo>/android/app/build/outputs/apk/release

  2. Make sure your phone is connected and recongized by your computer and then install APK directly on your phohne by running adb install app-release.apk

Built With

Authors

  • @gabidi

Acknowledgments

  • React Native
  • Cyphernode
  • Bitcoin

sifir-mobile-wallet's People

Contributors

gabidi avatar hamzawaleed0102 avatar timon0219 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

Watchers

 avatar  avatar  avatar

sifir-mobile-wallet's Issues

UI thread freezes on Samsung phone

The UI thread seems to freeze randomly on Samsung phones. There is no particular identified sequence of events that cause the bug. It happens within 1-3 minutes of using the App.

How to reproduce

  1. Pair the Sifir mobile app and cyphernode app and generate your keys
  2. Navigate back and forth between screens, send and receive some Bitcoin
  3. If the app does not freeze within 1-3 minutes, it won't .

Interesting observations

  • The bug never hits while attached to a debugger. The moment debugging is enabled you can spend hours using the app and it will not freeze. I know, maximum troll level. Probably due to the fact that ReactNative runs Debuging sessions within chrome's V8: https://reactnative.dev/docs/javascript-environment.html#javascript-runtime

  • If the UI freezes on a view with a Scroll or Text input component, the Scroll remains responsive to gestures and clicks, so does the Input, however everything else is frozen.

I've tried to debug this for weeks now, will wait for further feedback and move on to other issues.

Intuition

  • After monitoring App logs and behavior, it seems to be triggered by Androids garbage collector. Why or how .. is a mystery.

[Android] Publish app in F-Droid

F-Droid is application & app store for android apps (alternative to Google Play) that accepts only FLOSS (free/libre and open-source) apps and doesn't require any account creation/login in order to download apps.

The requirements for being included into f-droid are here: https://f-droid.org/en/docs/Inclusion_Policy/

The process for getting an app published to f-droid is outlined here: https://f-droid.org/en/docs/Inclusion_How-To/ https://gitlab.com/fdroid/rfp#submission-queue https://gitlab.com/fdroid/fdroiddata/blob/master/CONTRIBUTING.md

You can open a RFP (Request For Packaging) ticket here: https://gitlab.com/fdroid/rfp or an user can do so, provided you agree to include this app in F-droid (a comment to this issue is enough for it)

Some users don't have play-store on their devices as they are degoogled devices or don't create/use google account (using aurora store app https://auroraoss.com/ in anonymous mode (which is available on f-droid) is solution to still get apps from google-play) or using OS/custom ROMs that don't have it included, such as: (Some bundle f-droid by default)

https://grapheneos.org/ GrapheneOS
https://calyxos.org/ CalyxOS
https://lineageos.org/ LineageOS
https://lineage.microg.org/ LineageOS for microG
https://e.foundation/ /e/
https://www.replicant.us/ Replicant

Downloading APKs from official places like github releases https://github.com/Sifir-io/sifir-mobile-wallet/releases or website, or from unofficial sources like APK downloading sites https://apk.support or https://apkpure.com/ etc... will avoid the play-store/google dependency but it's lack automatic update mechanism unless it's built in into the application, F-Droid solve this.

Once the app is published into f-droid add the below image code into
README.md to show that the app available on f-droid:
Get it on F-Droid
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/en/packages/org.fdroid.fdroid/)

F-Droid URL: https://f-droid.org/
F-Droid Wikipedia: https://www.wikipedia.org/wiki/F-Droid

Contribution/Submit Applications: https://f-droid.org/en/contribute/#submit-applications
Inclusion Policy: https://f-droid.org/en/docs/Inclusion_Policy
Request For Packaging Tickets: https://gitlab.com/fdroid/rfp/issues

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.