I assume that almost all of you have already heard about Bitcoin, Ethereum and other cryptocurrencies with funny names. Now they are at the peak of popularity, and literally do not leave news feeds and forums, and endless debates about “whether it will burst or not burst”, “will it rise or fall” are as captivating as horse racing and casinos... But what should we do? developers? How do we interact with all these fancy things? It's simple: the necessary libraries for Java already exist! With their help, you can easily take advantage of the fashion trend. The order in which libraries appear in the article is related to the number of stars in the Github repository.
The name speaks for itself, doesn't it? If you've been thinking about how to create a Bitcoin wallet and manage transactions between nodes, you should definitely try BitcoinJ. The project has already acquired an active community and very good documentation, thanks to which it attracts developers. Of course, like most open source projects that are just beginning to gain popularity, BitcoinJ has a number of disadvantages. For example, security problems associated with open bugs and scalability issues. However, this library is very useful for anyone who wants to understand how the Bitcoin protocol works. I will express my personal opinion: BitcoinJ is not yet very suitable for commercial projects.
I'll be brief: Ethereum is the second most popular cryptocurrency. The Web3j project allows you to work with the Ethereum blockchain without having to write your own integration code. The library can be used for Java and Android applications. Again, the main functions are wallet creation, transaction management, and this time also wrappers for smart contracts. Yes, that’s right, wrappers for smart contracts! Part of the Ethereum project is a special language called Solidity, which is the de facto standard for creating smart contracts. web3j smart contract wrappers are used if you want to avoid implementation details for working with smart contracts. In addition, the library is equipped with excellent documentation with many examples. For me personally, web3j is the favorite of this top.
This library is designed primarily for business use. HyperLedger Fabric should be considered a powerful tool, whether you want to create an enterprise application or prototype a small program. The project is actively developed by members of the Linux Foundation. The main focus is on creating and managing smart contracts. Key Features:
#1. BitcoinJ
Link to GitHub repository: https://github.com/bitcoinj/bitcoinj More information about the library/where to download from: https://bitcoinj.github.io/#2. Web3j
Link to GitHub repository: https://github.com/web3j/web3j More information about the library/where to download from: https://web3j.io/#3. HyperLedger Fabric
Link to GitHub repository: https://github.com/hyperledger/fabric-sdk-java More information about the library/where to download from: https://www.hyperledger.org/- management of channels for the exchange of confidential information;
- transaction approval policies;
- consistent delivery of transactions across the network.
GO TO FULL VERSION