Top technology prognosticators have listed blockchain among the top 10 emerging technologies with the potential to revolutionize our world in the next decade, which makes it well worth investing your time now to learn. If you are a developer with a Java background who wants to get up to speed on blockchain technology, this article will give you the basic information you need to get started.
Blockchain is a huge space that can be overwhelming to navigate. It is different from other software technologies, as it has a parallel non-technical universe involving speculations, scams, price volatility, trading, initial coin offerings (ICOs), cryptocurrencies, Bitcoin maximalism, game theory, human greed, and more. This article will ignore that side of blockchain and focus completely on what you need to know to understand its technical aspects.
Regardless of a blockchain’s programming language and implementation details, you need to have a basic understanding of its theoretical foundation before you can build upon it. I have found that Bitcoin and Ethereum are the first, most essential technologies you need to understand. Both projects have several things in common: they introduced something new in the blockchain space, have the highest market cap in the sector, and have the largest developer communities in this space.
Most other blockchain projects — whether they are public or private, permissionless or permissioned — are forks of Bitcoin or Ethereum and try to improve their shortcomings, in some ways by making certain trade-offs. If you want to know about blockchain, learning Bitcoin and Ethereum is akin to taking networking, database theory, messaging, data structures, and programing language classes during your university studies. Understanding how these two blockchain technologies function will open your mind to the blockchain universe.
Before you try to do any work with blockchain technology, I recommend learning the technical basics of Bitcoin and Ethereum. It also happens that the two books I most recommend for this purpose were written by Andreas M. Antonopoulos.
Another book that covers Ethereum development very well is Building Ethereum Dapps by Roberto Infante.
Ultimately, blockchain is a new combination of existing technologies with human behavior fueled by network effects. If you are coming from a technical background, it makes sense to build on your existing knowledge and see what blockchain brings to the table. However, the technologies most people know, such as Java, .NET, and relational databases, are not common in the blockchain space; instead, blockchain is primarily dominated by C, Go, and Rust on the server side, and JavaScript on the client side. That said, several blockchain projects and components are written in Java and can be used by Java developers as a leveraged entry point to blockchain.
Popular Java-based blockchain projects
If you’re a Java developer who has done your background study by reading the books I recommend above and are ready to get your hands dirty, start with one of the following popular open source blockchain projects written in Java:
If you’re ready to get started with blockchain, go to GitHub and play with one of the projects listed above. The rest will follow. The future is open and decentralized.
Follow me on twitter for other posts in this space. A version of this post was originally published on Opensource.com under CC BY-SA 4.0
<a href="https://medium.com/media/3c851dac986ab6dbb2d1aaa91205a8eb/href">https://medium.com/media/3c851dac986ab6dbb2d1aaa91205a8eb/href</a>