[Dev] iOS Feathercoin Wallet Development
-
[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/FeatherWalletStatus : 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.
-
Oh, are we not basing it on the BreadWallet fork via @AcidD https://github.com/FeatherWallet/featherwallet ?
-
Either or. It’s only the neoscrypt implementation that needs to be done
-
Breadwallet have done a massive re-architecture and split out core code to
breadwallet-core
. luckily - this makes compare and contrast withBTC<->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…
- Step 1. From what I’ve seen NeoScrypt should be able to be built without without
-
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”
- Step 1. From what I’ve seen NeoScrypt should be able to be built without without
-
If iOS app ever gets built, im more then willing to test the wallet out… :)
-
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.
-
Hey Guys
So I also have this
https://github.com/aciddude/loafwallet-ios-deprecated/commits/FeatherWalletThat’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/NeoScryptwith 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.
-
@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 withBTC<->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
- Step 1. From what I’ve seen NeoScrypt should be able to be built without without
-
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-coreNext 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:
-
@trancendence fantastic work! Look forward to it. Happy new year!!!