Future of wallet-template?

44 views
Skip to first unread message

Andreas Schildbach

unread,
Apr 30, 2019, 4:46:28 PM4/30/19
to bitc...@googlegroups.com
I'm breaking out the discussion from
https://github.com/bitcoinj/bitcoinj/pull/1780
and
https://github.com/bitcoinj/bitcoinj/issues/1819
to here for everyone to participate.

For me, wallet-template always was not much more than an example, being
in its own subproject only for the reason that Mike wanted to use the
latest Java language features, JFX, etc.

Sean would like to develop it more into a library of reusable wallet
components, also UI components as far as I understand.

I think if that's the goal, it should probably live in its own
repository and use its own versioning. (The repo could still be under
the "bitcoinj" group if that's desired.)

On the other hand, there is the argument that by trying out
wallet-template, bitcoinj core is being tested. Of course that's also
the case if you use wallet-tool, or any of the other examples, or most
importantly the unit tests.

So what's your opinion on it?

Sean Gilligan

unread,
May 1, 2019, 2:15:29 PM5/1/19
to bitc...@googlegroups.com, Andreas Schildbach
I have fairly ambitious plans (which are somewhat funding dependent) for
making a JavaFX-based wallet framework as well as one or more wallet
apps and I think that framework encompasses a larger scope (e.g. Omni
Layer) than bitcoinj. So I'll probably create a repository under
ConsensusJ for the full effort.

However, I would like to do as much of the work as possible "upstream"
at bitcoinj. I would like to see at least two or three gradle submodules
(either in the main bitcionj repo or in a separate one):

1. JavaFX wallet components
2. Non-JavaFX wallet components (e.g. 12/24 word support utils, etc.)
3. wallet-template (or a sample wallet)

I'm personally a fan of using fewer repositories where possible so that
refactoring, integration/functional tests work more smoothly. (Though we
could make the effort setup dependent CI builds, etc.)

I'll try to brainstorm a list of existing and new components that I have
in mind over the next few days.

I'm hoping others will respond as I'd love to see a real community
effort around bitcoinj on JavaFX.

-- Sean

Andreas Schildbach

unread,
May 11, 2019, 11:46:44 AM5/11/19
to bitc...@googlegroups.com
I've given a bit time for others to comment, but I'm afraid it seems
there is not much interest at the moment. However that could change as
soon there is something to show and be proud of.

1. and 3. sounds to me like it should go into a separate repo targetted
at JavaFX UI components and a reference wallet using these components.
If you'd like to have this with "bitcoinj developers" I can create it
for you and make you a maintainer.

2. sounds like the respective classes and packages of bitcoinj core
would be a good fit.

Looking forward to your list of ideas!

Sean Gilligan

unread,
May 13, 2019, 10:02:36 PM5/13/19
to bitc...@googlegroups.com, Andreas Schildbach
Yeah, not much apparent interest at the moment, but hopefully that will
change once we actually have something.

Well, rather than making a list of ideas, I did a refactoring to make
things more modular. You
can see it in Draft PR #1851 https://github.com/bitcoinj/bitcoinj/pull/1851

I'm planning on making a couple prototype apps using that refactoring as
a base, so we'll see how well it works shortly.

-- Sean

Parminder oz

unread,
May 30, 2019, 1:22:31 PM5/30/19
to bitcoinj
Hi Sean, 

I support this idea. Are you planning to support most of the common BIP standards. e.g BIP 44, 84 etc ? (It'll make life easy with hardware wallets ).  This is the only advance / maintained java bitcoin lib that i have found, but now it seems to be lagging behind js, C# etc. 

Github is planning project sponsor. If you are planning to focus on this, can we make a list of things-to-do then let others support those features? I'm happy to sponsor some cost but at this stage can't devote much time. I might help out with UI/UX every now and then.  BitcoinJ tutorial/documentation is also outdated, may be we can have better documentation. I can provide 1 or 2 developers but they have no relevant experience and better documentation, tutorials or guidance will help bring new developers.

Other relevant projects

https://github.com/gary-rowe/trezor-java For Trezor or Hardware integration (Incomplete)

I'm really looking forward to bring this lib on par with other implementations.

Sean Gilligan

unread,
May 30, 2019, 10:32:40 PM5/30/19
to bitc...@googlegroups.com, Parminder oz
Hi Parminder,

> Are you planning to support most of the common BIP standards. e.g BIP 44, 84 etc

Yes, I am hoping to and actively working on it in the wallet framework/template code. I've also opened a few related issues:
https://github.com/bitcoinj/bitcoinj/issues/1869 (this one inspired by your email)

> (It'll make life easy with hardware wallets ).

That is the motivating application for my present work.

> This is the only advance / maintained java bitcoin lib that i have found, but now it seems to be lagging behind js, C# etc.

It seems bitcoinj is getting more contribution these days and is making good progress. I hope we can catch up.

> are [you] planning to focus on this?

For now yes, and would be happy to receive some sponsorship (please reach out to me privately)

> can we make a list of things-to-do then let others support those features?

Yes, I suppose we should do this with a Github issue(s) or milestones. Andreas, what did you use for tracking Segwit?

I would also like to improve the documentation and tutorials at some point in the near future. (I have some ideas on how to do this.)

-- Sean
--
You received this message because you are subscribed to the Google Groups "bitcoinj" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoinj+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bitcoinj/2924e0bd-0eda-44b4-a9d1-739dd0a5c775%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Jose Luis Estevez

unread,
Sep 11, 2019, 8:57:24 AM9/11/19
to bitcoinj
Hello, for me, the wallet template is an important project within bitcoinj, as well as the Android wallet, if you want to separate, I hope a repository will open within the bitcoinj github. I am a Java programmer and I would like to help with that evolution.
Reply all
Reply to author
Forward
0 new messages