Our Blog

Full-stack development and intelligence for blockchains

web3j-4.0.0 preview is available, just in time for Devcon 4

 

At blk.io we’ve had some exciting times recently; our team has been growing in order to bring to fruition our plans for web3j.

 
Web3j - Where Java meets the Blockchain

Earlier this month we released web3j 3.6.0 with some critical fixes, and we are now happy to announce the release of 4.0.0-alpha-1 with internal and community contributions.

4.0.x is still undergoing active development but we thought we’d give you a flavour of what is to come with an alpha release. Stay tuned, we don’t intend on keeping it an alpha for too long! Full details on this release can be found below.

Like last year blk.io is going to be at Devcon 4 so please send us a message if you’d like to chat.

Reactive Streams 2.0

What does this mean for web3j? All of the methods that included Observable in their names have been renamed to instead use Flowable.

We have also done a cleanup of the lengthy method names that were impacted by this API upgrade.

For example, catchUpToLatestAndSubscribeToNewTransactionsObservable has been renamed to replayPastAndFutureTransactionsFlowable. For more information refer to the Web3jRx interface.

The full change set can be found at #753, thanks to @vpriscan for this valued contribution.

BIP44 implementation

This spec builds upon the scheme described in BIP43 and the algorithm in BIP32 to provide a logical hierarchy for wallets, thus enabling generation of keys in a hierarchical structure from one single seed. There are many benefits to this, such as ease of maintenance and key regeneration. Refer to the BIP44 specification and Bip44WalletUtils source code for further information.

Various other fixes and improvements

Please accept my apologies if I’ve missed your contribution of the list — pull requests and issues are one of the main mechanisms to get feedback from users on the library, so I appreciate people taking the time to submit them.

For further details of the other changes, please refer to the releases page.

What do I need to do?

You will need to regenerate your smart contract wrappers to use this release, in addition to migrating across your method calls to use the updated function names as per the RxJava 2.0 section above.

What’s next?

For 5.x and beyond we will be looking to streamline our libraries and use Java 9’s Flows.

We are actively developing web3j, watch this space for more exciting news!

The blk.io team.