Giter Site home page Giter Site logo

nickvandyke / sia-android Goto Github PK

View Code? Open in Web Editor NEW
45.0 11.0 13.0 87.6 MB

Android app for the decentralized cloud storage platform Sia

License: Other

Kotlin 96.53% CMake 0.07% C 0.33% Java 3.07%
sia sia-network android siacoin sia-node siad cryptocurrency cloud-storage cloud-storage-services cloud-storage-application

sia-android's Introduction

Sia for Android Awesome Kotlin Badge forthebadge Google Play Link

This app serves as an Android client for the decentralized cloud storage platform Sia. Sia has the potential to disrupt the cloud storage industry, and a successful mobile app for Sia will greatly help in making this a reality. This app aims to be that.

This app can:

  • Run a Sia node on your device
  • Interact with all wallet functionalities of the running node - create, send, receive, etc.
  • Interact with the renter module, including uploading to and downloading from the Sia network

This app is developed independently by me. It is not an official Nebulous Labs product.

Acknowledgements

Huge thanks to SiaPulse for a donation that made the time spent on this many times more possible.

your-mirror for implementing list/grid toggle, multiple fiat currencies, and wallet page background graph.

JGall1 for implementing QR code generation and scanning.

Donations

Any amount is appreciated and supports development. Thanks!

Siacoin: 20c9ed0d1c70ab0d6f694b7795bae2190db6b31d97bc2fba8067a336ffef37aacbc0c826e5d3

Ether: 0x0f35db6c049df0183716bd7696f467d4873583bb

sia-android's People

Contributors

jgall1 avatar nickvandyke avatar your-mirror 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sia-android's Issues

Calculate and display balance in cold wallet mode

When in cold wallet mode, query explore.sia.tech for transactions involving addresses of the cold wallet. Should be able to determine the cold wallet's overall balance using this and some math. Not sure if this is possible with the explorer's API, I haven't looked into it.

Error retrieving sync progress sometimes appears when app in background

When the app is left open in the background for a while, sometimes the Error retrieving sync progress notification will be shown. This means the WalletMonitorService made an http request for the sync progress and didn't receive a response. Which means the backend service (ColdStorageService or Siad) wasn't running when it made the request. Or that the request failed for some other reason. But there's no way in the code (that I can find) that could cause Siad/ColdStorageService to be shut down but not the WalletMonitorService. So maybe the android OS needs memory and happens to be killing the backend service but not the WalletMonitorService.

Haven't tested if this also happens when Run in background is set and the app is closed.

Less elegant solution would potentially be to stop WalletMonitorService in onDestroy() of the backend services (if the app's preferences are still set to use that backend service. If the backend service is destroyed because the backend modes are switched, then it shouldn't stop WalletMonitorService).

When trying to run an x86_64 siad on an x86_64 CPU device, ProcessBuilder#start cannot find the file

Don't know the cause of this. Copying the binary and making it executable succeeds. For both copying and execution, the same process is followed as for the arm64 version of siad.

For this reason, choosing to run a local node on an x86_64 device will say it's not supported, and will not update the setting. If you wish to test this or try to fix it, you'll have to change this (very small change).

My physical android device is arm64 - I'm using an emulator to test x86_64. Maybe this is the cause.

Publish app on f-droid

For those of us who prefer not to run google services on our devices, would it be possible to include this app on f-droid ?

I might also add that as far as I can see, the sort of user who goes through the trouble of learning how to install a custom rom without google services/apps on their device, is at this point probably also interested in cryptocurrency - publishing the app on f-droid to hordes of foss fans seems like a good way to get some exposition with the right crowd!

new-user improvements

The current intro method - the Welcome screen and Help screen - contains a lot of boring text. A menu similar to the About menu that concisely and simply explains each functionality (cold storage, remote node, local node) and at the end offers buttons for setup of each would be hugely preferred. These setup buttons could set the Mode setting to the correct setting, and then bring to user to a Create Wallet dialog - should be able to use an AlertDialog that has WalletCreateFragment as it's view for this. After this dialog, they'll be brought to the Wallet page.

Implement files page

This is a big task, and I'm working on polishing the existing app and the Wallet functionality before moving on to it.

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.