Bitcoin Forum
May 05, 2024, 01:49:07 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 »  All
  Print  
Author Topic: HashEngineering - Android Wallet Creation Service  (Read 35874 times)
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
November 17, 2013, 02:02:11 AM
Last edit: August 11, 2017, 05:35:14 AM by HashEngineering
 #1

Hash Engineering Solutions is currently working on the following android wallets.

Our code base is currently bitcoin-wallet 5.x.

Active Project Status

DASH - formerly Darkcoin
Recent Upgrade to Bitcoin Wallet 5.14.
https://play.google.com/store/apps/details?id=hashengineering.darkcoin.wallet
https://github.com/HashEngineering/dash-wallet/releases/
Source Code:
https://github.com/HashEngineering/dashj
https://github.com/HashEngineering/dash-wallet

Completed Projects - Updated when needed

GroestlCoin
Recent News:  This wallet is being updated to v5.24
https://github.com/HashEngineering/groestlcoinj (forked from https://github.com/bitcoinj/bitcoinj )
https://github.com/HashEngineering/groestlcoin-wallet (forked from https://github.com/bitcoin-wallet/bitcoin-wallet - v4.x)
https://github.com/HashEngineering/groestlcoin-wallet/releases/ (download the latest .apk file)
Google Play: https://play.google.com/store/apps/details?id=hashengineering.groestlcoin.wallet

Myriadcoin
First Beta Released.
Download:
https://github.com/HashEngineering/myriadcoin-wallet/releases/
https://play.google.com/store/apps/details?id=hashengineering.myriadcoin.wallet
Source Code:
https://github.com/HashEngineering/myriadcoinj
https://github.com/HashEngineering/myriadcoin-wallet


Completed Projects - No Longer Updated
Quark
Added the Dogecoin Sweep and a splash screen with video!
https://github.com/HashEngineering/quarkcoinj - Quark Java Library (for the Android App and possibly other software)
https://github.com/HashEngineering/quarkcoin-wallet - The Android Wallet Source code
Downloads:
https://github.com/HashEngineering/quarkcoin-wallet/releases/ (download the latest .apk file)
https://play.google.com/store/apps/details?id=hashengineering.quarkcoin.wallet

Megacoin
The Kimoto Gravity Well is very slow.  Found a to add Native Code to optimize with only 100% speed improvement.
https://github.com/HashEngineering/megacoinj
https://github.com/HashEngineering/megacoin-wallet
https://github.com/HashEngineering/megacoin-wallet/releases/
https://play.google.com/store/apps/details?id=de.schildbach.wallet.megacoin (no longer on Google Play)

Infinitecoin
https://github.com/HashEngineering/infinitecoinj
https://github.com/HashEngineering/infinitecoin-wallet
https://github.com/HashEngineering/infinitecoin-wallet/releases/  (download the latest .apk file)
https://play.google.com/store/apps/details?id=de.schildbach.wallet.infinitecoin (no longer on Google Play)


Franko - Based on version 0.8.5.4 (with modified Kimoto Gravity Well - FGW)
https://github.com/HashEngineering/frankoj
https://github.com/HashEngineering/franko-wallet
https://github.com/HashEngineering/franko-wallet/releases/  (download the latest .apk file)
https://play.google.com/store/apps/details?id=hashengineering.franko.wallet (no longer on Google Play)


Digitalcoin
Recent News:  Upgraded to version 3.0 (3 algorithms)
https://github.com/HashEngineering/digitalcoinj
https://github.com/HashEngineering/digitalcoin-wallet
https://github.com/HashEngineering/digitalcoin-wallet/releases/ (download the latest .apk file)
Google Play: https://play.google.com/store/apps/details?id=hashengineering.digitalcoin.wallet

Namecoin
Recent News:  It does not support any of the "name"-ing services.
https://github.com/HashEngineering/namecoinj
https://github.com/HashEngineering/namecoin-wallet
https://github.com/HashEngineering/namecoin-wallet/releases
https://play.google.com/store/apps/details?id=hashengineering.namecoin.wallet (no longer on Google Play)

A forum has been set up for android developers at:  http://www.hashengineeringsolutions.com/forum

Which coins need android wallets?  Only these hash algorithms Proof Of Work coins can be ported at this time.  Proof of Stake coins will require much more coding (http://www.peercointalk.org/index.php?topic=1751.15).  We can make coins that use other hash functions as well.

Hash algorithms that we have translated into Java: - mainly just putting together existing pieces of code
Quark (Java and Native)
Qubit
X11 (Java code for the individual hash functions was already available, native).
Skein
Groestl

Difficulty Adjustment Algorithms
KimotoGravityWell (Java + Native/Java Hybrid)
FrankoGravityWell (Java + Native/Java Hybrid)
DarkGravityWave (all three versions)
Freicoin method (used in Megacoin)
PPCoin method (used in IFC)
Variations of the Bitcoin method

GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
1714873747
Hero Member
*
Offline Offline

Posts: 1714873747

View Profile Personal Message (Offline)

Ignore
1714873747
Reply with quote  #2

1714873747
Report to moderator
1714873747
Hero Member
*
Offline Offline

Posts: 1714873747

View Profile Personal Message (Offline)

Ignore
1714873747
Reply with quote  #2

1714873747
Report to moderator
1714873747
Hero Member
*
Offline Offline

Posts: 1714873747

View Profile Personal Message (Offline)

Ignore
1714873747
Reply with quote  #2

1714873747
Report to moderator
Each block is stacked on top of the previous one. Adding another block to the top makes all lower blocks more difficult to remove: there is more "weight" above each block. A transaction in a block 6 blocks deep (6 confirmations) will be very difficult to remove.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714873747
Hero Member
*
Offline Offline

Posts: 1714873747

View Profile Personal Message (Offline)

Ignore
1714873747
Reply with quote  #2

1714873747
Report to moderator
1714873747
Hero Member
*
Offline Offline

Posts: 1714873747

View Profile Personal Message (Offline)

Ignore
1714873747
Reply with quote  #2

1714873747
Report to moderator
1714873747
Hero Member
*
Offline Offline

Posts: 1714873747

View Profile Personal Message (Offline)

Ignore
1714873747
Reply with quote  #2

1714873747
Report to moderator
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
November 17, 2013, 02:04:15 AM
Last edit: August 11, 2017, 05:41:21 AM by HashEngineering
 #2

HashEngineering started aa copy/paste find/replace Android Wallet app creation service.  Currently we limit out work to previously made wallets by fixing bugs and maintaining the code and providing user support.

While we don't create android apps from scratch, we understand the C++ source code that defines the parameters that uniquely identify each coin.  These parameters include the hash functions, coin generation rules, the network protocols and ports, difficulty retargets, transaction fees, genesis block information, DNS seeds, checkpoints and even where to get data from the block explorers and exchanges.  This information is moved into a slightly modified Bitcoin Wallet / Bitcoin Java Library source code that allows for easy porting of a proven wallet to a new coin.

HashEngineering was created when there was a need to fix the digitalcoin android wallet to be compatible with the V0.2 and V1.0 forks.  We were further inspired when the digitalcoin android wallet developer announced that the standalone android app (it doesn’t require an online wallet) would no longer be maintained.  Therefore we decided to fork the Bitcoin Wallet (v3.22) and BitCoin Java Library (v0.11) to digitalcoin in such a way that the java source code could more easily be ported to other coins while requiring a minimal amount of changes.  A few lines of code were taken from the Litecoin Wallet (no longer available on Google Play) for the scrypt hash functions.

Currently the Bitcoin Client source and the Bitcoin Android Wallet source have the coin defining parameters sprinkled through out many C++ or Java files [Similar to the actual Bitcoin QT Client].  Our modification contains a Java class called CoinDefinition where all of these parameters are stored in one place.  

Code:
public class CoinDefinition {
    public static final String coinName = "digitalcoin";
    public static final String coinTicker = "DGC";
    public static final String coinURIScheme = "digitalcoin";
    public static final String cryptsyMarketId = "26";

The modifications to the Bitcoin Wallet code include sections such as this one that refer to the CoinDefinition:

Code:
public class MainNetParams extends NetworkParameters {
    public MainNetParams() {
        super();
        interval = INTERVAL;
        targetTimespan = TARGET_TIMESPAN;
        proofOfWorkLimit = CoinDefinition.proofOfWorkLimit;
        acceptableAddressCodes = new int[] { CoinDefinition.AddressHeader/*,0*/ };
        dumpedPrivateKeyHeader = 128 + CoinDefinition.AddressHeader;
        addressHeader = CoinDefinition.AddressHeader;
        port = CoinDefinition.Port;
        packetMagic = CoinDefinition.PacketMagic;
        genesisBlock.setDifficultyTarget(CoinDefinition.genesisBlockDifficultyTarget);

After this there is still a lot of Find/Replacing of the coin names that must be done to finish the port.  Since we began, we determined that we can reduce the amount of find/replacing by leaving all the bitcoin references in the code for page names, classes and methods.  Only the text needs to be changed and the graphics need to be updated.

What about Proof of Stake Coins?
Proof of Stake coins will require more code to be added to the Bitcoin Java Library (which now as been done by two independent developers).  Currently, the Android Bitcoin Wallet is setup as SPV - Simplified Payment Verification.  The App does not download the entire blockchain with all data on every block like the standard desktop client.  This is good for a mobile device, where bandwidth is at a premium.  Certainly no one would want to download the entire blockchain of Bitcoin to their phone (140 GB).  The Bitcoin android app only downloads the block headers (80 bytes) and then queries the other peers for other information on transactions.

The block header contains several types of data, but for this discussion the important data is the difficulty.  The Android Wallet will verify the difficulty of each block as each header is downloaded from the network.  Most coin forks have to do with difficulty code changes so this is an important thing to check.

A proof of work coin only has 1 type of difficulty per block, which is for the proof of work hash function.  The problem with Proof of Stake coins is that a block may be a Proof of stake block or a Proof of Work block.  Unfortunately, the block header does not contain the information to determine if the block is POS or POW.  More information is needed and that is the first transaction of the block.  The Bitcoin Java Library can be switched to a mode that downloads the full block information.  There will be other code needed to check what kind of block it is (POS, POW).  Other code will check to make sure the difficulty is correct for each block.  Additionally, other information is required to verify the coin staking.  This prevents the wallet from being a lightweight wallet.

Fortunately, some are working to get around the above issues.  One is for Peercoin.  It works in a similar way as the Bitcoin Wallet, but it does not verify blocks or block headers in the app, but submits requests to verify to a centralized server using a getvalidhashes API in an ABE based block explorer.  To date we have not been able to get this solution to work for other coins.  We don't do servers and rely on the others to do that and they have yet to deliver.
http://www.peercointalk.org/index.php?topic=1751.15 (links for source are here).  

Additionally a developer has created a Blackcoin Wallet, which uses a "Full Pruned" blockchain storage method.  
Java Library Source - https://github.com/janko33bd/bitcoinj/tree/blackcoinj
Wallet Source - https://bitbucket.org/janko33/bitcoin-wallet-4.16

Coinomi can also be forked for support a POS coin, but that does require electrum servers.

Looking at the APK file for the source code:
1.  One can use a Java Decompiler such as:  http://jd.benow.ca/#jd-gui-overview to open the .apk file.
2.  Most of the code is in the classes.dex file.  That can be opened by first extracting it using a Archive file viewer such as 7Zip () and then using this tool to convert it to a .jar file (https://code.google.com/p/dex2jar/downloads/detail?name=dex2jar-0.0.9.15.zip&can=2&q=).  Then use the java decompiler from step 1 to look at it.

GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
muddafudda
Legendary
*
Offline Offline

Activity: 1008
Merit: 1022



View Profile
November 17, 2013, 03:33:52 AM
 #3

Interesting and will take a good look later. Sounds good.
ahmed_bodi
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500

Bitrated user: ahmedbodi.


View Profile
November 18, 2013, 12:14:48 PM
 #4

nice work hash engineering! hopefully this means we can get numerous mobile options around for coins! the mods you've made is one of the reasons i switched to electrum for the dgc wallet since that is coded in the same manner

Bitrated user: ahmedbodi.
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
November 20, 2013, 04:46:29 PM
 #5

The digitalcoin Wallet coding is complete. 

GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
ahmed_bodi
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500

Bitrated user: ahmedbodi.


View Profile
November 20, 2013, 04:57:26 PM
 #6

Great I'll fork it and create the required mods to make it us able for all coins

Bitrated user: ahmedbodi.
deeppurple72
Full Member
***
Offline Offline

Activity: 140
Merit: 100


View Profile
December 06, 2013, 04:31:40 PM
 #7

Hello.

Is this the same DIGITALCOIN WALLET for ANDROID
Currently on google playstore?

The google playstore DGC wallet has an issue
Using the WRONG exchange rate.

Just wondering if your app is the same one on playstore
Or not. If it is the playstore app, please fix the
Incorrect exchange rate the app is using.

Also, sometimes it takes a very very long time
To find any peers and sync up the blockchain.

Thanks.
ahmed_bodi
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500

Bitrated user: ahmedbodi.


View Profile
December 06, 2013, 04:43:49 PM
 #8

that is mine im in the process of updating it, thanks

Bitrated user: ahmedbodi.
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
December 07, 2013, 04:42:32 AM
 #9

Hello.

Is this the same DIGITALCOIN WALLET for ANDROID
Currently on google playstore?

This is not yet the digitalcoin Wallet currently on Google Play.  It will be soon!

This updated version will fix several of the problems that exist with the version on Google Play.


GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
December 07, 2013, 04:43:39 AM
 #10

Thanks to input from ahmed_bodi, we will make the forking process even more simple as the process will require only a minimal amount of renaming.

GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
defaced
Legendary
*
Offline Offline

Activity: 2184
Merit: 1011


Franko is Freedom


View Profile WWW
December 21, 2013, 10:28:45 PM
 #11

So far the one for FRK is working GREAT!

Fortune Favors the Brave
Borderless CharityEXPANSEEXRAllergy FinderFranko Is Freedom
stink
Full Member
***
Offline Offline

Activity: 182
Merit: 100



View Profile
December 23, 2013, 01:37:06 AM
 #12

There is a FlorinCoin bounty out for a android wallet here: https://bitcointalk.org/index.php?topic=379134.new#new

BTC address: 1P4iEGR8oBjr27k3NyzLfi8wraGajMunLg
Cryptsy trade key: 48007eb091500413be905854f1c5d5a42bd9a94b
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
December 31, 2013, 06:08:56 AM
 #13

So far the one for FRK is working GREAT!

Thanks for the feedback.
 
Anyone else want to join my crusade of developing android apps?  It is one thing to fork the bitcoin wallet, another thing to keep up with the coin forks!

GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
stink
Full Member
***
Offline Offline

Activity: 182
Merit: 100



View Profile
January 07, 2014, 03:20:48 PM
 #14

So far the one for FRK is working GREAT!

Thanks for the feedback.
 
Anyone else want to join my crusade of developing android apps?  It is one thing to fork the bitcoin wallet, another thing to keep up with the coin forks!

I have a 5000 florin bounty out for a wallet on florincoin.

BTC address: 1P4iEGR8oBjr27k3NyzLfi8wraGajMunLg
Cryptsy trade key: 48007eb091500413be905854f1c5d5a42bd9a94b
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
January 09, 2014, 06:45:58 AM
 #15

I have a 5000 florin bounty out for a wallet on florincoin.

Thanks for this information.  I will consider this coin.  I will need to do some research on Florin to see how difficult it will be to fork from digitalcoin.

GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
January 10, 2014, 07:07:52 AM
 #16

We found out that we were missing the Native Library for scrypt, which was slowing down the processing of the blockchain.  Now syncing the blockchain is 20 times faster and it should use much less power!

GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
January 13, 2014, 06:40:32 AM
 #17

The Franko Wallet has been released:
https://play.google.com/store/apps/details?id=hashengineering.franko.wallet

The digitalcoin-wallet will soon be released on Google Play.

GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
January 13, 2014, 06:43:17 AM
 #18

I have a 5000 florin bounty out for a wallet on florincoin.

Florin Coin uses transaction comments, which will require extra coding in the Transaction class.  As it turns out someone else is working on a java project for a similar coin which will be of help.

GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
wtman
Legendary
*
Offline Offline

Activity: 1030
Merit: 1000


View Profile
January 18, 2014, 03:31:31 AM
 #19

How hard is quark?

Are you taking orders? Cost? Please pm
HashEngineering (OP)
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250

Independent Cryptoveloper


View Profile WWW
January 20, 2014, 03:16:36 PM
 #20

Quark will be hard.  It has six separate hashing functions, each of which need to be translated to Java.  At this point, the blake function has been found in Java.

GRS:  FrFpTbfEAni5Ruf8mNdwVQazJVJaQyEM2Y
BTC:  128Ptecsv4j6NoxdBxdvGzBtipfaAarZMJ
https://bitcointalk.org/index.php?topic=336215 - Android Wallet Creation Service
Pages: [1] 2 3 4 5 6 7 8 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!