Forum Home
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular

    [DEV] Mobile Android and iPhone wallet app application Developments

    Technical Development
    15
    81
    50010
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Matl Regular Member last edited by

      Any iOS saavy developers out there? Coin Pocket a wallet for BTC hit thd AppStore yesterday. Here is the open source code:
      https://github.com/enriquez/coinpocketapp.com

      1 Reply Last reply Reply Quote 0
      • Wellenreiter
        Wellenreiter Moderators last edited by

        I just started the Android and java stuff some weeks ago.

        No experience with IOS, sorry

        Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
        Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

        1 Reply Last reply Reply Quote 0
        • M
          mirrax last edited by

          windows phone? Anybody can develop?

          1 Reply Last reply Reply Quote 0
          • ?
            A Former User last edited by

            If you could that would be epic ahy!

            1 Reply Last reply Reply Quote 0
            • kris_davison
              kris_davison last edited by

              Are there any changes to the android wallet Needes to deal with NeoScrypt?

              Or maybe it’s in FeathercoinJ?

              1 Reply Last reply Reply Quote 0
              • Wellenreiter
                Wellenreiter Moderators last edited by

                Yes, the android wallet needs to be adapted for neoscrypt.

                Any help is highly appreciated.

                Volunteers please contact me via pm

                Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                1 Reply Last reply Reply Quote 0
                • ?
                  A Former User last edited by

                  Excellent guys.

                  Keeping the android wallet up to date and running should be one of the priorities for the algo change.

                  1 Reply Last reply Reply Quote 0
                  • Wellenreiter
                    Wellenreiter Moderators last edited by

                    The Android wallet still is not prepared for the Neoscrypt fork.

                    As the date for the move to Neoscrypt comes closer, we need to implement the Neoscrypt module in the Android wallet or it will not work anymore after the fork.

                    Are there any coders willing to help?

                    reply here or send me a PM

                    Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                    Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User last edited by

                      I’ll put up 0.5btc for the job.

                      And if you do something really stellar with the wallet I’ll double it depending on what extra you’ve put in.

                      1 Reply Last reply Reply Quote 0
                      • kris_davison
                        kris_davison last edited by

                        I think what really needs sorting is the feathercoinj project which is the part that talks to the Feathercoin network. The wallet would then just need to include the new version of that to work.
                        But it could be quite a job? I am willing to help any way I can but its taking out the scrypt algo and including the NeoScrypt one or writing a Java implementation.

                        1 Reply Last reply Reply Quote 0
                        • Wellenreiter
                          Wellenreiter Moderators last edited by

                          As far as I found there are a couple of steps to do:

                          1. create a neoscrypt module as it already exist for scrypt. It should be a c-compiled librady for android. The existing scryp module tries to load the library and if that fails it executes the scrypt function in java. the java object is: com.lambdaworks.crypto.SCrypt the link to the existing scrypt module on guthub is: https://github.com/wg/scrypt/blob/master/src/main/java/com/lambdaworks/crypto/SCrypt.java May be that gives an idea what needs to be done.
                          2. modify the file block.java in feathercoinj to execute scrypt hashing for blocks < 432,000 and neoscrypt hashing starting at the 432,000
                          3. modify tests I’m not sure, if step 3 is really needed. I hope I got the major steps I will grant access to the feathercoinj repo on github so we can work together.

                          Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                          Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                          1 Reply Last reply Reply Quote 0
                          • kris_davison
                            kris_davison last edited by

                            I spent an hour or two last night banging my head against a wall trying to get feathercoinj compiled in ecplise. (without any code changes)

                            I got the code from Hanks Github (Is this the correct repo?) and attempted to build it as a maven project but there seems to be alot of missing dependencies which mean it wont compile.

                            I tried manually adding some of the dependences but without much luck. Also the tests wont compile because of some odd issue with the test params.

                            So I canned it for now I will try again tonight if I get a chance.

                            It really should not be this hard lol

                            …EDIT: Looks like the project was setup in intellij originally so I may install that tonight when I try.

                            As it may well work out of the box with that IDE.

                            1 Reply Last reply Reply Quote 0
                            • Wellenreiter
                              Wellenreiter Moderators last edited by

                              I used Android studio to compile and feathercoinj from here:

                              https://github.com/wellenreiter01/feathercoinj

                              Feathercoin-Wallet for android is here in case you need it:

                              https://github.com/wellenreiter01/feathercoin-wallet-2

                              the test section is broken, so I compiled without-test

                              But I agree, setup and compile the first time is a pain… :-

                              Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                              Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                              1 Reply Last reply Reply Quote 0
                              • kris_davison
                                kris_davison last edited by

                                Thanks for the pointers.

                                I’ll give that a shot!
                                :)

                                1 Reply Last reply Reply Quote 0
                                • kris_davison
                                  kris_davison last edited by

                                  OK Im compiled and im starting to look at what has to be done. Its quite a task. :)

                                  Right in Block.java I have identified one placewe need to check the block number to either hash with scrypt ot neoscrypt.

                                  it is in checkProofOfWork() (around line 600 or so) as at the moment it is always calling these methods

                                  getScryptHash() and getScryptHashAsString()

                                  rather than my new methods (cunningly named I think)

                                  getNeoScryptHash() and getNeoScryptHashAsString() (genious lol)

                                  So What I need is a way of either checking what the number of this block is or what the previous block is and all I can see is a hash of the pervious block? Any Ideas ?

                                  1 Reply Last reply Reply Quote 0
                                  • Wellenreiter
                                    Wellenreiter Moderators last edited by

                                    Check wallet.java, line 1181.

                                    The block object has a procedure ‘getHeight’ :)

                                    Based on the height, you could add a flag to the call of checkProofOfWork() forcoing it to use getScryptHash() or getNeoScryptHash()

                                    Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                                    Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                                    1 Reply Last reply Reply Quote 0
                                    • kris_davison
                                      kris_davison last edited by

                                      Perfect thanks wellenreiter :)

                                      1 Reply Last reply Reply Quote 0
                                      • lizhi
                                        lizhi last edited by

                                        I used Android studio to compile and feathercoinj from here:

                                        https://github.com/wellenreiter01/feathercoinj

                                        Feathercoin-Wallet for android is here in case you need it:

                                        https://github.com/wellenreiter01/feathercoin-wallet-2

                                        the test section is broken, so I compiled without-test

                                        But I agree, setup and compile the first time is a pain… :-

                                        I have a problem for compile feathercoinj :

                                        D:\FTC\andriod\feathercoinj-master>mvn clean package
                                        [INFO] Scanning for projects…
                                        [ERROR] The build could not read 1 project -> [Help 1]
                                        [ERROR]
                                        [ERROR] The project com.google:feathercoinj-tools:[unknown-version] (D:\FTC\andriod\feathercoinj-master\tools\pom.xml) has 1 error
                                        [ERROR] Non-resolvable parent POM: Could not find artifact com.google:feathercoinj-parent:pom:0.96-SNAPSHOT and ‘parent.relativePath’ points at wrong local
                                        POM @ line 21, column 11 -> [Help 2]
                                        [ERROR]
                                        [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
                                        [ERROR] Re-run Maven using the -X switch to enable full debug logging.
                                        [ERROR]
                                        [ERROR] For more information about the errors and possible solutions, please read the following articles:
                                        [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
                                        [ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

                                        1 Reply Last reply Reply Quote 0
                                        • lizhi
                                          lizhi last edited by

                                          I still can complie it with eclipse include JNI code, but wallet.apk can not work after I install it. I don’t know any miss, Jar is a mess and It is frustrating. I think create a new project with eclipse 3.7.2, maven is a shit .

                                          Android Runtime Info:

                                          04-02 14:32:39.386: D/dalvikvm(618): Trying to load lib /data/data/com.feathercoin.wallet/lib/libneoscrypt.so 0x411eb378
                                          04-02 14:32:39.386: D/dalvikvm(618): Added shared lib /data/data/com.feathercoin.wallet/lib/libneoscrypt.so 0x411eb378
                                          04-02 14:32:39.386: D/dalvikvm(618): No JNI_OnLoad found in /data/data/com.feathercoin.wallet/lib/libneoscrypt.so 0x411eb378, skipping init
                                          04-02 14:32:39.436: W/hasher(618): output: 
                                          04-02 14:32:39.606: D/dalvikvm(618): GC_CONCURRENT freed 217K, 7% free 10869K/11591K, paused 19ms+31ms, total 137ms
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): Failed to verify block: 
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): com.google.feathercoin.core.VerificationException: Hash is higher than target: 2de0ecb2b7daa24fb9ef64fe0934508481bd14cf421c9d90f7b8e160a322850a vs ffff0000000000000000000000000000000000000000000000000000000
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at com.google.feathercoin.core.Block.checkProofOfWork(Block.java:627)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at com.google.feathercoin.core.Block.verifyHeader(Block.java:748)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at com.google.feathercoin.core.AbstractBlockChain.add(AbstractBlockChain.java:405)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at com.google.feathercoin.core.AbstractBlockChain.add(AbstractBlockChain.java:289)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at com.google.feathercoin.core.Peer.processHeaders(Peer.java:365)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at com.google.feathercoin.core.Peer.processMessage(Peer.java:244)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at com.google.feathercoin.core.Peer.access$5(Peer.java:208)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at com.google.feathercoin.core.Peer$PeerHandler.messageReceived(Peer.java:1342)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:88)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:787)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:536)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:485)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
                                          04-02 14:32:39.656: E/AbstractBlockChain(618): 	at java.lang.Thread.run(Thread.java:856)
                                          04-02 14:32:39.667: E/AbstractBlockChain(618): fdbe99b90c90bae7505796461471d89ae8388ab953997aa06a355bbda8d915cb
                                          04-02 14:32:39.756: W/Peer(618): Block header verification failed
                                          04-02 14:32:39.756: W/Peer(618): com.google.feathercoin.core.VerificationException: Could not verify block fdbe99b90c90bae7505796461471d89ae8388ab953997aa06a355bbda8d915cb
                                          04-02 14:32:39.756: W/Peer(618): v1 block: 
                                          04-02 14:32:39.756: W/Peer(618):    previous block: 12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2
                                          04-02 14:32:39.756: W/Peer(618):    merkle root: 808267d4d2e63c1098b4caa198eebd8096b912164efa0afeb8fdee31d726a925
                                          04-02 14:32:39.756: W/Peer(618):    time: [1366147060] Tue Apr 16 21:17:40 GMT 2013
                                          04-02 14:32:39.756: W/Peer(618):    difficulty target (nBits): 504365040
                                          04-02 14:32:39.756: W/Peer(618):    nonce: 3863023104
                                          04-02 14:32:39.756: W/Peer(618): 	at com.google.feathercoin.core.AbstractBlockChain.add(AbstractBlockChain.java:299)
                                          04-02 14:32:39.756: W/Peer(618): 	at com.google.feathercoin.core.Peer.processHeaders(Peer.java:365)
                                          04-02 14:32:39.756: W/Peer(618): 	at com.google.feathercoin.core.Peer.processMessage(Peer.java:244)
                                          04-02 14:32:39.756: W/Peer(618): 	at com.google.feathercoin.core.Peer.access$5(Peer.java:208)
                                          04-02 14:32:39.756: W/Peer(618): 	at com.google.feathercoin.core.Peer$PeerHandler.messageReceived(Peer.java:1342)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:88)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:787)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:536)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:485)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
                                          04-02 14:32:39.756: W/Peer(618): 	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
                                          04-02 14:32:39.756: W/Peer(618): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
                                          04-02 14:32:39.756: W/Peer(618): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
                                          04-02 14:32:39.756: W/Peer(618): 	at java.lang.Thread.run(Thread.java:856)
                                          04-02 14:32:39.756: W/Peer(618): Caused by: com.google.feathercoin.core.VerificationException: Hash is higher than target: 2de0ecb2b7daa24fb9ef64fe0934508481bd14cf421c9d90f7b8e160a322850a vs ffff0000000000000000000000000000000000000000000000000000000
                                          04-02 14:32:39.756: W/Peer(618): 	at com.google.feathercoin.core.Block.checkProofOfWork(Block.java:627)
                                          04-02 14:32:39.756: W/Peer(618): 	at com.google.feathercoin.core.Block.verifyHeader(Block.java:748)
                                          04-02 14:32:39.756: W/Peer(618): 	at com.google.feathercoin.core.AbstractBlockChain.add(AbstractBlockChain.java:405)
                                          04-02 14:32:39.756: W/Peer(618): 	at com.google.feathercoin.core.AbstractBlockChain.add(AbstractBlockChain.java:289)
                                          04-02 14:32:39.756: W/Peer(618): 	... 26 more
                                          04-02 14:33:01.636: W/hasher(618): output: 
                                          04-02 14:33:01.826: W/AbstractBlockChain(618): Block does not connect: 942650fccdbc157c05aab9f03e258b8dfe96c25997fa578aaa5904ab64c9d99a prev 79a0d95baf57d91f5d1e99ef2a01ce06b69b62849640b54208be2255ec50dbb1
                                          04-02 14:33:01.826: I/Peer(618): Did not start chain download on solved block due to in-flight header download.
                                          04-02 14:33:12.566: W/hasher(618): output: 
                                          04-02 14:33:12.716: W/AbstractBlockChain(618): Block does not connect: 62d7ba0eb0e9006e6e1f6de9652110ec1e3f941089be3af05aec31603da7eeb4 prev 942650fccdbc157c05aab9f03e258b8dfe96c25997fa578aaa5904ab64c9d99a
                                          04-02 14:33:12.726: I/Peer(618): Did not start chain download on solved block due to in-flight header download.
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • kris_davison
                                            kris_davison last edited by

                                            The Jan post is relating to the wrong project version 0.9.6 being in the pom it needs to be whatever your project version is? 0.9.7.

                                            Anyway im not sure about the second one. Wellenreiter did you check in all the working code into github? I had some major issues compiling feathercoinj also.

                                            Any tips on how you got that bad boy running wellenreiter?

                                            Are you running this on Linux or android lizhi? As I’m guessing the .so lib may only work with android?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post