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

    [Dev] feathercoin-wallet - Version 5 Development - Mobile / Android wallet

    Technical Development
    3
    24
    20753
    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.
    • ghostlander
      ghostlander Regular Member last edited by

      You’re working with some old NeoScrypt code base of 2015 or so. I suggest to update first.

      https://github.com/ghostlander/NeoScrypt

      1 Reply Last reply Reply Quote 1
      • wrapper
        wrapper Moderators last edited by wrapper

        Cheers @ghostlander

        Feathercoin-wallet-2 ~~Build now works~~

        I have cloned your new neoscrypt from here:

        git clone https://github.com/ghostlander/NeoScrypt.git

        Then :
        Copied the neoscrypt.c and .h

        into : /feathercoinj/core/jni/ ,

        and recompile feathercoinj

        Test build / audit / feathercoin-wallet-2

        Results of builds

        mvn site --errors

        [INFO] Feathercoin Wallet … SUCCESS [ 8.719 s]

        Errors and warning

        [INFO] Error stacktraces are turned on.

        [WARNING] Some problems were encountered while building the effective model for com.feathercoin.wallet:wallet:apk:3.04
        [WARNING] ‘build.plugins.plugin.version’ for com.jayway.maven.plugins.android.generation2:maven-android-plugin is missing. @ line 185, column 12
        [WARNING] ‘build.plugins.plugin.version’ for org.apache.maven.plugins:maven-jarsigner-plugin is missing. @ line 152, column 13

        [WARNING] Report plugin org.apache.maven.plugins:maven-project-info-reports-plugin has an empty version.

        [WARNING] No project URL defined - decoration links will not be relativized!

        Summery
        [WARNING] Report plugin org.apache.maven.plugins:maven-project-info-reports-plugin has an empty version.
        [WARNING]
        [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
        [WARNING]
        [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
        [INFO] configuring report plugin org.apache.maven.plugins:maven-project-info-reports-plugin:2.9
        [WARNING] No project URL defined - decoration links will not be relativized!
        [INFO] Rendering site with org.apache.maven.skins:maven-default-skin:jar:1.0 skin.
        [INFO] Generating “Dependencies” report — maven-project-info-reports-plugin:2.9
        [WARNING] The repository url ‘http://people.apache.org/repo/m2-snapshot-repository’ is invalid - Repository ‘apache.snapshots’ will be blacklisted.

        Still fails with normal build instructions

        mvn clean install -X

        Further work
        Push 3 commits need to get this far.

        I’ll continue to look at what went wrong (error and warning messages) with the maven build for feathercoin-walet-2

        feathercoin-wallet v5 build environment
        Move on to getting the bitcoin-wallet android wallt to compile - ready to start looking at the best way to reintroduce the needed litecoin / feathercoin specific settings.

        Litecoin wallet status
        I note the Litecoin-wallet is also stuck at version 3 - so it would be interesting / good to try and form some collaboration / brance that does both? or could be pushed upstream, to build either, bitcoinj, litecoinj or feathercoinj …

        1 Reply Last reply Reply Quote 2
        • wrapper
          wrapper Moderators last edited by

          feathercoin-wallet-2 build environment, Fixing / research on

          Research / experiment with Homebrew to install old version of Maven

          **Build status : failed

          The feathercoinj does compile and appears to be installed in maven2 correctly.

          feathercoin-wallet-2 won’t compile, with the instructions provided. A couple of additional instructions / settings have helped, or may be necessary, have been identified.

          Possible cause needs specific maven version to build

          Information so far shows a change in the development environment, like the version of the build system Maven, is a likely area to cause the problem.

          $ brew doctor

          Warning: Unbrewed header files were found in /usr/local/include.
          If you didn’t put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted.

          Unexpected header files:
          /usr/local/include/zxing/Exception.h
          …

          Warning: Unbrewed static libraries were found in /usr/local/lib.
          If you didn’t put them there on purpose they could cause problems when
          building Homebrew formulae, and may need to be deleted.

          Unexpected static libraries:
          /usr/local/lib/libzxing.a

          Warning: /usr/bin occurs before /home/tony/.linuxbrew/bin
          This means that system-provided programs will be used instead of those
          provided by Homebrew. The following tools exist at both paths:
          mvnDebug
          brew
          mvn

          Consider setting your PATH so that /home/tony/.linuxbrew/bin
          occurs before /usr/bin. Here is a one-liner:
          echo ‘export PATH=“/home/wrapper/.linuxbrew/bin:$PATH”’ >> ~/.bash_profile

          Warning: Homebrew’s bin was not found in your PATH.
          Consider setting the PATH for example like so
          echo ‘export PATH=“/home/wrapper/.linuxbrew/bin:$PATH”’ >> ~/.bash_profile

          Warning: Homebrew’s share was not found in your XDG_DATA_DIRS but you have this variable set to include other locations.
          Some programs like vapigen may not work correctly.

          1 Reply Last reply Reply Quote 2
          • wrapper
            wrapper Moderators last edited by wrapper

            This is an experimental build of feathercoin-wallet-2 to try to update dependencies and get the original maven build to compile / pull into gradle. Draft build Instructions.

            Instructions to try updated / experimental feathercoin-wallet-2 build

            Follow the guide to install dependencies and set SDK / Ndk and how to compile and feathercoin-wallet-2 v3.04 and feathercoinj, the java wrapper to Neoscrypt.c

            Making sure you have < 150 GB space free, run an android update :
            /media/BigDisk1/Android/Sdk/tools/android update sdk --no-ui --obsolete --force

            Download and build the test versions. :

            Build feathercoinj
            git clone https://github.com/wrapperband/feathercoinj
            compile feathercoinj
            mvn clean install -DskipTests

            Build feathercoin-wallet-2 :
            Open a Terminal : check the path to your android Sdk and :
            export ANDROID_HOME=$HOME/Android/Sdk
            export PATH=$PATH:$ANDROID_HOME/tools

            The Android directory can be large here is it if it is not on /home disk :
            export ANDROID_HOME=/media/BigDisk1/Android/Sdk

            Clone the repository
            git clone https://github.com/wrapperband/feathercoin-wallet-2
            cd to feathercoin-wallet-2

            Compile the wallet and associated modules :
            mvn clean install -U (-U rebuild all modules)

            or compile offline :
            mvn dependency:resolve
            mvn dependency:resolve-plugins
            key to switches : -o = offline -e = errors -X = debug -U = all modules
            mvn clean install -DskipTests -o -e -X -U

            [Current errors compiling feathercoin-wallet-2 :]

            mvn dependency:resolve

            [ERROR] Failed to execute goal on project wallet: Could not resolve dependencies for project com.feathercoin.wallet:wallet:apk:3.04: Failure to find com.feathercoin.wallet:integration-android:jar:1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

            mvn clean install -DskipTests -o -e -X -U

            Apache Maven 3.3.9
            Maven home: /usr/share/maven
            Java version: 1.8.0_121, vendor: Oracle Corporation
            Java home: /usr/lib/jvm/java-8-oracle/jre
            Default locale: en_GB, platform encoding: UTF-8
            OS name: “linux”, version: “4.8.0-37-generic”, arch: “amd64”, family: “unix”
            [INFO] Error stacktraces are turned on.
            [INFO] Scanning for projects…
            [WARNING]
            [WARNING] Some problems were encountered while building the effective model for com.feathercoin.wallet:wallet:apk:3.04
            [WARNING] ‘build.plugins.plugin.version’ for com.jayway.maven.plugins.android.generation2:maven-android-plugin is missing. @ line 185, column 12
            [WARNING] ‘build.plugins.plugin.version’ for org.apache.maven.plugins:maven-jarsigner-plugin is missing. @ line 152, column 13

            1 Reply Last reply Reply Quote 2
            • wrapper
              wrapper Moderators last edited by

              Importing the feathercoin wallet 2 a maven build into gradle to make it an android-studio project

              The feathercoin-wallet-2 android wallet won’t compile. The most efficiency way forward is to fork the latest android wallet code and re add FTC specific settings.

              However, on going development and knowledge of other potential fixes that can be applied to the mobile wallet, make it expedient to try to compile the old version.

              Although, compiling the old wallet (v2) in a later (v5) environment has been shown to be very complicated. That experience is useful, when trying to duplicate undocumented one off work.

              https://developer.android.com/studio/intro/migrate.html

              Are these the correct settings?
              When the wallet is imported or the new wallet forked, there are some default settings :

              Phone / Tablet
              Minimum SDK (15) : Android 4.0.3 Ice cream sandwich Was 14 was old setting?

              Do we need to release different versions for TVs smart boxes etc very popular?

              Wear : SDK (21)
              TV : (21)
              Auto : (21)
              Glass : (gdk 19)

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

                Development of Feathercoin Mobile Wallet.

                @Wellenreiter has fixed the compile issue with the mobile wallet and updated the current wallet to be compatible with 0.6.0 wallet.

                ToDo
                Update to include and test V4 bridge compatibility
                Include a privacy statement
                Fix compile issue with Android Studio > 2.4 preview 7
                Include latest Neoscrypt
                Update build instructions.

                Move to head …

                Instructions : for https://github.com/wellenreiter01/feathercoinj

                git clone https://github.com/wellenreiter01/feathercoinj
                git checkout v0.99

                and

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

                Wellenreiter 1 Reply Last reply Reply Quote 1
                • Wellenreiter
                  Wellenreiter Moderators @wrapper last edited by

                  @wrapper said in [Dev] feathercoin-wallet - Version 5 Development - Mobile / Android wallet:

                  @Wellenreiter has fixed the compile issue with the mobile wallet and updated the current wallet to be compatible with 0.6.0 wallet.

                  To be clear, the actual Android app is the feathercoin-wallet-2 which uses feathercoinj as a library/dependency.
                  The gradle settiings I implemented for feathercoinj need to be transfered/adapted to the feathercoin-wallet-2

                  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 1
                  • wrapper
                    wrapper Moderators last edited by wrapper

                    I managed to compile the feathercoinj with the gradle command :

                    cd feathercoinj
                    gradle clean :native-scrypt:copy test build

                    I was then able to run gradle init on feathercoin-wallet-2

                    gradle init

                    That seems to be the first step in updating to gradle. Maven compiled to a common directory where feathercoinj was available.

                    note: The Thread how to was followed to install dependancies.
                    Most of the notes are irrelevant (failed ways forward / info), especially with the the less work on the old version as possible, but looking back over, the neoscrypt update may be use-able.

                    note: not assuming this actually built.

                    Gradle Build :

                    $ cd feathercoin-wallet-2
                    $ gradle clean build

                    :clean UP-TO-DATE
                    :integration-android:clean UP-TO-DATE
                    :sample-integration-android:clean UP-TO-DATE
                    :wallet:clean UP-TO-DATE
                    :assemble UP-TO-DATE
                    :check UP-TO-DATE
                    :build UP-TO-DATE
                    :integration-android:compileJava UP-TO-DATE
                    :integration-android:processResources UP-TO-DATE
                    :integration-android:classes UP-TO-DATE
                    :integration-android:jar
                    :integration-android:assemble
                    :integration-android:compileTestJava UP-TO-DATE
                    :integration-android:processTestResources UP-TO-DATE
                    :integration-android:testClasses UP-TO-DATE
                    :integration-android:test UP-TO-DATE
                    :integration-android:check UP-TO-DATE
                    :integration-android:build
                    :sample-integration-android:compileJava UP-TO-DATE
                    :sample-integration-android:processResources UP-TO-DATE
                    :sample-integration-android:classes UP-TO-DATE
                    :sample-integration-android:jar
                    :sample-integration-android:assemble
                    :sample-integration-android:compileTestJava UP-TO-DATE
                    :sample-integration-android:processTestResources UP-TO-DATE
                    :sample-integration-android:testClasses UP-TO-DATE
                    :sample-integration-android:test UP-TO-DATE
                    :sample-integration-android:check UP-TO-DATE
                    :sample-integration-android:build
                    :wallet:compileJava UP-TO-DATE
                    :wallet:processResources UP-TO-DATE
                    :wallet:classes UP-TO-DATE
                    :wallet:jar
                    :wallet:assemble
                    :wallet:compileTestJava UP-TO-DATE
                    :wallet:processTestResources UP-TO-DATE
                    :wallet:testClasses UP-TO-DATE
                    :wallet:test UP-TO-DATE
                    :wallet:check UP-TO-DATE
                    :wallet:build

                    BUILD SUCCESSFUL

                    Total time: 1.828 secs

                    1 Reply Last reply Reply Quote 2
                    • wrapper
                      wrapper Moderators last edited by

                      Further to Privacy policy (Link) for mobile wallet and Forum guidelines / policy.

                      The mobile wallet needs to point to a privacy statement. Whilst a clone, or even the original Bitcoin Mobile privacy policy is what the (Feathercoin) app does. It has got to be our policy to follow the (paid for) advice Bitcoin wallet uses …

                      We may wish to update a more full Forum policy. this seems a succinct version or FTC guidelines.

                      I note this project has a very good, and resonably generic policy statement :

                      https://hackforums.net/misc.php?action=help&hid=12

                      Also, slightly related, they had a good joining statement, we could do that and add a line about saying hello in New Members as your first post …

                      From the Hack forum : Member Joining statement :

                      Whilst we attempt to edit or remove any messages containing inappropriate, sexually orientated, abusive, hateful, slanderous, or threatening material that could be considered invasive of a persons privacy, or which otherwise violate any kind of law, it is impossible for us to review every message posted on this discussion system. For this reason you acknowledge that all messages posted on this discussion system express the views and opinions of the original message author and not necessarily the views of this bulletin board. Therefore we take no responsibility and cannot be held liable for any messages posted. We do not vouch for or warrant the accuracy and completeness of every message.

                      By registering on this discussion system you agree that you will not post any material which is knowingly false, inaccurate, abusive, hateful, harassing, sexually orientated, threatening or invasive of a person’s privacy, or any other material which may violate any applicable laws.

                      Failure to comply with these rules may result in the termination of your account, account suspension, or permanent ban of access to these forums. Your IP Address is recorded with each post you make on this discussion system and is retrievable by the forum staff if need-be. You agree that we have the ability and right to remove, edit, or lock any account or message at any time should it be seen fit. You also agree that any information you enter on this discussion system is stored in a database, and that “cookies” are stored on your computer to save your login information.

                      Any information you provide on these forums will not be disclosed to any third party without your complete consent, although the staff cannot be held liable for any hacking attempt in which your data is compromised.

                      By continuing with the sign up process you agree to the above rules and any others that the Administrator specifies.

                      1 Reply Last reply Reply Quote 1
                      • wrapper
                        wrapper Moderators last edited by wrapper

                        Sweep through Mobile Wallet modifications from Bitcoin to FTC in order to check settings -

                        Settings :

                        Transaction Fee is CENT in Feathercoin-wallet (Litecoin setting)

                        Should fix an exchangerate crash and tx fee issue :: Commit

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

                        wallet/src/de/schildbach/wallet/litecoin/Constants.java

                         -	public static final BigInteger DEFAULT_TX_FEE = Utils.CENT.divide(BigInteger.valueOf(20));
                         +	public static final BigInteger DEFAULT_TX_FEE = Utils.CENT; // 0.01
                        

                        Check where this was updated to FTC should be 0.001

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

                          Bitcoinj documentation

                          https://bitcoinj.github.io/#documentation

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