Java Magazine, Jan/Feb 2017
ORACLE COM JAVAMAGAZINE JANUARY FEBRUARY 2017 36 cryptocurrency Hardly a day goes by without a mention of blockchain in the technology or financial press But whats all the fuss about this technology and how can you work with it from your Java applications Before I talk about a library web3j that makes interaction possible let me explain what blockchain is and how it works A Very Brief History Blockchain technology started with the cryptocurrency Bitcoin Bitcoin emerged in 2008 and although it was not the first proposed cryptocurrency it was the first that was completely decentralized requiring neither a central authority for issuance nor transaction verification Bitcoin maintains a distributed ledger containing details of all Bitcoin transactions All Bitcoin ownership is derived from these ledger entries known as the Bitcoin blockchain Transactions on the blockchain are generated using a simple scripting language Fast forward five years later to 2013 when a 19 year old named Vitalik Buterin started developing a new decentralized platform based on ideas from Bitcoin that provided a more robust scripting language for the development of applications That platform named Ethereum provided a full Turing complete language It was first proposed in early 2014 and it launched in July 2015 Since then several other blockchain technologies from diferent groups have emerged however Ethereum is presently the most mature if you can call it that by far and it is the basis of this article The Ethereum blockchain is driven by the established cryptocurrency Ether Ether is the second largest cryptocurrency after Bitcoin with a market capitalization of approximately US 1 billion dollars versus Bitcoins US 10 billion capitalization Ethereum is intended to serve the back end of a secure decentralized internet where communication is with peers and you no longer have to interact directly with single entities or organizations web3j is a lightweight Java library for working with Ethereum which I use in this article What Is a Blockchain A blockchain can be thought of as a decentralized immutable data structure that undergoes state transitions that modify its state State iterates with transactions or operations on the blockchain the details of which are written to the blockchain These transactions are grouped into blocks which are linked together making up the blockchain see Figure 1 Much like the event log used in event sourcing current state is derived by replaying the state transitions that have taken place previously A blockchain is a distributed ledger technology DLT a term that has emerged for describing technologies such as blockchain that provide decentralized storage of data Not CONOR SVENSSON Blockchain Using Cryptocurrency with Java Integrating the Ethereum blockchain into Java apps using web3j
You must have JavaScript enabled to view digital editions.