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

    [Dev] iOS Feathercoin Wallet Development

    Technical Development
    5
    11
    6767
    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.
    • wrapper
      wrapper Moderators last edited by wrapper

      [Dev] iOS Feathercoin Wallet Development

      You have been invited to iOS Wallet development thread as you have indicated an interest, / we need you.

      FeatherWallet seems the most descriptive and also matches the Android name
      https://github.com/aciddude/loafwallet-ios-deprecated/commits/FeatherWallet

      Status : the code requires the replacement of hash256 with neoscrypt and duplication of Feathercoin forks / eHRC. Review of Android Wallet implementation and Litcoin iOS wallet Scrypt implementation. Update and further discusion.

      1 Reply Last reply Reply Quote 1
      • Trancendence
        Trancendence last edited by

        Oh, are we not basing it on the BreadWallet fork via @AcidD https://github.com/FeatherWallet/featherwallet ?

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

          Either or. It’s only the neoscrypt implementation that needs to be done

          • FTC Block Explorer + API @ https://fsight.chain.tips
          • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
          • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
          • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

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

            Breadwallet have done a massive re-architecture and split out core code to breadwallet-core. luckily - this makes compare and contrast with BTC<->LTC super easy as loafWallet followed the move.

            See: https://github.com/breadwallet/breadwallet-core/compare/master...litecoin-foundation:master
            Now it’s a matter of understanding it… :thinking: :joy:

            In terms of NeoScrypt implementation, excuse my noobishness if I’m wrong in these assumptions:

            • Step 1. From what I’ve seen NeoScrypt should be able to be built without without neoscrypt_asm.S as the assembly code has been implemented in C as well :ok_hand:
            • Step 2. Looks like iOS can drop into native C which means that we can bind to the NeoScrypt lib…
            • Step 3. Profit :moneybag:

            Please correct me if my assumptions are wrong here…

            wrapper AcidD 2 Replies Last reply Reply Quote 1
            • wrapper
              wrapper Moderators @Trancendence last edited by

              @Trancendence

              In terms of NeoScrypt implementation, excuse my noobishness if I’m wrong in these assumptions:

              • Step 1. From what I’ve seen NeoScrypt should be able to be built without without neoscrypt_asm.S as the assembly code has been implemented in C as well :ok_hand:
              • Step 2. Looks like iOS can drop into native C which means that we can bind to the NeoScrypt lib…
              • Step 3. Profit :moneybag:

              Please correct me if my assumptions are wrong here…

              That’s my overall appreciation as well, but Acidd once said, “You make it sound so easy”

              1 Reply Last reply Reply Quote 0
              • J
                j0k3rhd last edited by

                If iOS app ever gets built, im more then willing to test the wallet out… :)

                Youtube Channel
                Http://youtube.com/geek88

                FTC Geek Spend - 6mgiiXDeqnwKjPZM8a2TG6X9YQKHfWJiAi

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

                  The other issues are setting up the forks, for the block time and eHRC change over, that’s in chainparams.cpp in the qt wallet.

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

                    Hey Guys

                    So I also have this
                    https://github.com/aciddude/loafwallet-ios-deprecated/commits/FeatherWallet

                    That’s the LTC wallet that will sync up until it finds a neoscrypt Block and then gets an “invalid block header” message.

                    Ghostlanders neoScrypt is here:
                    https://github.com/ghostlander/NeoScrypt

                    with iOS and Swift you can use C code directly. .h files stay the same and .c files become .m or .mm (cant remember) – apparently bread wallet is native swift.

                    The BreadWallet/Loaf Wallet files that talk about scrypt are

                    BRKey+BIP38.h
                    BRKey+BIP38.m < this has the entire scypt calculations in it… if you read the ghostlander neoScrypt white paper, and then look at this file, it will make a lot of sense.

                    The above i think is the base of their scrypt implementation and then they call it in different areas of the code.

                    I had some questions for ghostlander

                    AcidD
                    
                    hey ghost
                    
                    I was wondering if you could help me
                    
                    I need a little explaining on neoscrypt
                    
                    I need the chacha element of it explained
                    in relation to the original scrypt
                    scrypt is salsa20/8
                    So 8 rounds of Salsa20
                    NeoScrypt is salsa20/20 and chacha20/20
                    so 20 rounds of salsa20
                    i dont know where chacha comes into it
                    Do the blocks first go through 20 rounds of Salsa and then 20 rounds of chacha ?
                    
                    
                    
                    
                     ghostlander
                    
                    The order doesn’t matter. First extend 80 bytes input to 256 bytes with FastKDF, then Salsa, then ChaCha on the original FastKDF output, then XOR their results together, then FastKDF compress 256 bytes to 32 bytes output.
                    

                    I hope this helps.

                    • FTC Block Explorer + API @ https://fsight.chain.tips
                    • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                    • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                    • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                    1 Reply Last reply Reply Quote 0
                    • AcidD
                      AcidD Moderators @Trancendence last edited by

                      @trancendence said in [Dev] iOS Feathercoin Wallet Development:

                      Breadwallet have done a massive re-architecture and split out core code to breadwallet-core. luckily - this makes compare and contrast with BTC<->LTC super easy as loafWallet followed the move.

                      See: https://github.com/breadwallet/breadwallet-core/compare/master...litecoin-foundation:master
                      Now it’s a matter of understanding it… :thinking: :joy:

                      In terms of NeoScrypt implementation, excuse my noobishness if I’m wrong in these assumptions:

                      • Step 1. From what I’ve seen NeoScrypt should be able to be built without without neoscrypt_asm.S as the assembly code has been implemented in C as well :ok_hand:
                      • Step 2. Looks like iOS can drop into native C which means that we can bind to the NeoScrypt lib…
                      • Step 3. Profit :moneybag:

                      Please correct me if my assumptions are wrong here…

                      This is great and would be the correct way to go so we get featherwallet-core

                      • FTC Block Explorer + API @ https://fsight.chain.tips
                      • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                      • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                      • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                      1 Reply Last reply Reply Quote 2
                      • Trancendence
                        Trancendence last edited by Trancendence

                        Happy New Year from New Zealand!!

                        I’ve got a little news to kick the New Year off with a bang for FTC! :tada:
                        I’ve migrated all changes as added to the above repos tonight to MatthewHartstonge/featherwallet-core

                        Next up, I’ll be looking into binding the new lib into a fork of BreadWallet to make sure everything is happy, then the NeoScrypt implementation :smile:

                        D 1 Reply Last reply Reply Quote 3
                        • D
                          Davereplicant Regular Member @Trancendence last edited by

                          @trancendence fantastic work! Look forward to it. Happy new year!!!

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