BitcoinKit icon indicating copy to clipboard operation
BitcoinKit copied to clipboard

We're back. Sorry for long absence.

Open usatie opened this issue 5 years ago • 9 comments

Hi all. Thanks for your long patience, and I apologize for long absence. I've been overwhelmed by personal problems. But most of them will be resolved soon. And I was not just hanging around, but I've been learning a lot, in order to make it better. I'm preparing updates. Will respond to issues as well.

P.S. I've created discord for BitcoinKit development. If you're interested in developing BitcoinKit, feel free to visit here. https://discord.gg/TZZs7uQ

usatie avatar Apr 30 '19 05:04 usatie

Great to hear @usatie we all know how it is, balancing OSS and life, it's hard! Hope you are feeling alright! And don't work yourself to death! :)

Sajjon avatar Jun 10 '19 17:06 Sajjon

Did you see that Apple announced support for Swift Package Manager for iOS during WWDC? It would be really cool to be able to use BitcoinKit and SPM in Xcode 11 :D

Sajjon avatar Jun 10 '19 17:06 Sajjon

Thank you. That would be on our roadmap. I'm starting to work on.

  1. Review all the PRs
  2. Start preparation for next version 2.0.0

usatie avatar Sep 11 '19 06:09 usatie

Finished for reviewing and merging all the PRs. Next, I'm working on preparation for the next version.

usatie avatar Sep 12 '19 12:09 usatie

What is your plan for the next version?

jbdtky avatar Sep 13 '19 15:09 jbdtky

@jbdtky First of all, I want to hear from people. And I want to make this place more active. But okay, these are in my mind for now, and I need help to accomplish them all.

1. SwiftPM support

SwiftPM for iOS Including refactoring the dependencies to openssl/secp256k1

2. Break down BitcoinKit into smaller frameworks

Wallet/API implementation is not good to be included in this library. It's more like an application or higher-level library.

3. Add some changes to the code imported from my wallet project.

Currently I'm wrapping BitcoinKit in other framework to be more usable in our wallet project, and most of the code can be imported to BitcoinKit. ex.

├── FeeCalculator.swift
├── HDWallet.swift
├── Info.plist
├── LockScriptConverter.swift
├── PaymentURI
│   ├── BitcoinScheme.swift
│   ├── PaymentURI.swift
│   ├── PaymentURIError.swift
│   └── PaymentURIParameter.swift
├── QRCodeParser
│   ├── QRCodeParseResult.swift
│   └── QRCodeParser.swift
├── RedeemScriptProvider.swift
├── TransactionBuilder.swift
├── TransactionPlan.swift
├── TransactionPlanner.swift
├── TransactionSigner.swift
├── UnspentSelector.swift
├── Wallet.swift
├── WalletError.swift

4. Refactor private/internal/public modifiers

Currently, some of them are messed around.

5. Increase test coverage and stability

Add tests.

6. Implement full SPV feature

This was on the way and stuck.

7. Better documentation

We only have README.md now. Both documentation in codes, and Documentation/something.md are necessary.

8. Implement more powerful features

  • Cashshuffle
  • Shnorr etc...

usatie avatar Sep 13 '19 18:09 usatie

Sounds like a good start. 2. May be a great idea. It could be separated frameworks that I have done in my side for more focus token. However we could add some basic functionality for tokens in the sdk like address format (for slp), I have it in a fork. 8. In my fork, I added support for the new OP_CODE, I think it’s really important to add the OP_CHECKDATASIG and VERIFY. It is a great opportunity for script.

  • Schnorr signature support would be awesome.
  • Cash shuffle is a bit complex in the workflow and I don’t think people would like to use it by default in their wallet, it could be provided by an external lib as plugin based on BitcoinKit maybe, what do you think?

Anyway, It’s already a great list. If you need help for anything, please contact me on telegram @jbdtky and or invite me in the workgroup if there is and I will participate in the dev with pleasure.

jbdtky avatar Sep 14 '19 05:09 jbdtky

@jbdtky Thank you. I appreciate for your cooperation!

PR is welcom for both of what you implemented.

I agree.

Cash shuffle is a bit complex in the workflow and I don’t think people would like to use it by default in their wallet, it could be provided by an external lib as plugin based on BitcoinKit maybe, what do you think?

I created a discord group for the workgroup. This is the invitation link. https://discord.gg/TZZs7uQ

usatie avatar Sep 14 '19 17:09 usatie

Can you elaborate what's the problem with SPV? Where are you stuck at? I see there is a branch for that already

mzygar avatar Oct 18 '19 11:10 mzygar