gcash / android-neutrino Goto Github PK
View Code? Open in Web Editor NEWAndroid mobile wallet using the bchwallet/neutrino backend
Android mobile wallet using the bchwallet/neutrino backend
The source code of all the play store releases after Oct 2019 of this app have not been released in this repo. This is a problem as the source code is thus no longer verifiable.
Unconfirmed transactions are blocked if it's syncing. The should show up when they confirmed but there's nothing you can do at this point to make it download the transaction if it missed it.
We might be able to wire up the CFMempool filtering after the next release of bchd but other than polling that which isn't a great idea it would have to run on start or on swipe refresh of the recycler view.
Between the time when "send" button is swiped and when the "successful" animation shows up, it seems possible to swipe "send" again, which results in a weird behavior of pulling in unrelated transactions ("send $0"). In my case this made it into my wallet history: https://www.blockchain.com/bch/tx/c642b114f84753bbf2a75f010f9ef2cc168881ba07e1be579e889f26cf919233
Allow recovering from other mobile wallets (eg. Copay) using a 12-word seed.
Slow(er) QR code scanning on some (likely older) devices:
im_uname claims that QR code scanning on his LG G5 (Android 8) is slower than other wallets (eg. Crescent Cash) with a ~0.4s freeze when the code is scanned.
It would be good to get an idea how widespread this minor issue is as it would be ideal if as many devices as possible were performing as quick as possible.
On my personal OP6, Neutrino is by far the quickest to scan and doesn't have the small freeze/pause that most other wallets have.
Tested on both ASUS_X018D & Samsung Galaxy S7
When importing a new wallet, all transactions show up if you don't do anything while the wallet syncs. However, if you generate an address during the sync then it doesn't display all the transactions... I had it only display 2/5 transactions when I click the address generation button during sync.
This hangs in a loop getting this error and the user never sees any blocks come in because of it. This is fairly rare but does happen. Restarting and/or uninstalling and reinstalling usually fixes it.
It just hangs in a permanent loop and never gains a connection. This is fairly rare. Restarting almost always fixes it.
When a user clicks a link in a browser and gets a response with a mimetype set, it normally opens up the only registered application for that mimetype or show a list of available applications that can handle the mimetype.
Neutrino did not show up in my list when following a BIP70 payment link, so there's at least one missing mimetype that it knows hojw to deal with, yet hasn't registered with android as a supported application for.
Please register neutrino as a handler for "application/bitcoincash-paymentrequest" and other missing mimetypes.
It crashes without printing anything in the logs so it's unclear the cause. My guess is last instance isn't fully cleaned up yet and it's still accessing the file system. Not sure how to fix.
They don't make it to the TransactionNotifications
stream. They will show up if you do a swipe refresh or restart but ideally they would get pushed to the stream.
App will crash and refuse to restart as soon as the wallet get its first transaction.
Setting the Android language to English fix the issue and allow Neutrino to restart and works properly.
I would suspect Neutrino crash when it needs to use a comma instead of a dot as a decimal separator.
Add basic support for Testnet using SPV. This could be as simple as a toggle in the settings, preferably pointing to the Testnet used by Bitpay that most of us have been using since 2017.
When scanning for QR (by either touching the scan button, or the QR button from the send screen) camera view is activated, however it does not recognize or react to any QR codes in view. On the same device, other wallets such as Electron Cash, Crescent and Badger wallet, readily recognize any QR address.
Device: Asus Zenfone Max Pro M1 (ASUS_X00TD)
OS is Lineage OS for MicroG
Android version: 9
Build number: lineage_X00TD-userdebug 9 PQ3A.190801.002 d39b38178a dev-keys
I sent funds to the wallet last night and got a confirmation that they were received. After turning off the app for the night I wanted to use it this morning, but for several minutes after starting the app it showed my balance as $0.
During this time, I still had a notification stating that I should do a backup now that I have funds in my wallet.
It eventually showed the correct number, but it would be good to have some indication that work is taking place to update the balance, or to update the balance much faster.
I have been tapping the Blockchain rectangle in Settings throughout the day, but it stop at "Height: 661000" and "Scanned Through: 0". There hasn't been any commits in a year. Is this project on hiatus or abandoned?
This is hard to pin down when and why it happens. Seems to happen when the app has been open for a while less than when it just started. Restarting usually makes them show up.
When paying an invoice of 0.03346 BCH (amount embedded in QR), I sent this transaction instead:
There's clearly some subtle things that are off, perhaps in fee calculation, that sliced a sat off the final amount - and this broke the processor on the receiving site, which bugged me for "partial payment".
If you have a wallet which is encrypted, then restore a new wallet then the encryption key is no longer valid. When you try to send it tells you the fingerprint is invalid.
This is a weird one. On several occasions I've seen it fail to mark a transaction as confirmed even though child transactions have confirmed and been marked as confirmed.
Not sure what would cause this. Did the tx not match the block filter?
The main view displays the balance and transaction list and provides buttons to load other views.
The Wallet
class is intended to be the main class by which we interact with the bchwallet daemon. The class will need to be able to start and stop the daemon and provide convenience methods to the gRPC interface.
The methods we will need to implement are:
getBlockChainInfo
returns hash and height. Should probably save the height in the class for use when calculating confirmations.getBalance
getCurrentAddress
getTransactions
changePassphrase
createTransaction
sweepAccount
signTransaction
publishTransaction
walletExists
createWallet
validateAddress
generateMnemonicSeed
The following must subscribe to TransactionNotifications
and call back on the appropriate listener
registerTransactionCallback
registerBlockCallback
The "Slide to pay" text after scanning a BIP70 payment request is misaligned and is placed too high up in the sliding area, almost clipping it. It should be vertically centered.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.