java 区块链开发_Java开发人员的区块链入门

java 区块链开发

顶级技术专家将区块链列为十大新兴技术之一,它们有潜力在未来十年内改变我们的世界,这值得您花时间学习。 如果您是一名具有Java背景的开发人员,并且想快速了解区块链技术,那么本文将为您提供入门所需的基本信息。

区块链是一个巨大的空间,可能难以驾驭。 它与其他软件技术不同,因为它具有并行的非技术领域,涉及投机,诈骗,价格波动,交易,初始代币发行(ICO),加密货币, 比特币最大化 ,博弈论,人类贪婪等。 本文将忽略区块链的这一方面,而将重点完全放在了解其技术方面所需的知识上。

区块链基础

不管区块链的编程语言和实现细节如何,您都需要对它的理论基础有一个基本的了解,然后才能对其进行构建。 我发现比特币和以太坊是您需要了解的第一批最重要的技术。 这两个项目有一些共同点:他们在区块链领域引入了一些新事物,在该行业中拥有最高的市值,并且在该领域拥有最大的开发者社区。

大多数其他区块链项目(无论是公共的还是私有的,未经许可的或被许可的)都是比特币或以太坊的分支,并通过某种程度的权衡来尝试改善其缺点。 如果您想了解区块链,学习比特币和以太坊就像是在大学学习期间学习网络,数据库理论,消息传递,数据结构和编程语言课程。 了解这两种区块链技术如何运作将使您对区块链领域敞开胸怀。

在尝试使用区块链技术进行任何工作之前,我建议您学习比特币和以太坊的技术基础。 碰巧的是,我为此最推荐的两本书是安德烈亚斯·安东诺普洛斯 ( Andreas M. Antonopoulos)撰写的。

  • 掌握比特币是我发现的关于比特的最深入,技术性最高但仍易于理解和阅读的书。 (其他大多数书籍都太过哲学或非技术性。)
  • 在有关以太坊的许多技术书籍中,我最喜欢精通以太坊的详细程度

另一本很好地介绍了以太坊开发的书是Roberto Infante 撰写Building Ethereum Dapps

Java开发人员的区块链项目

最终,区块链是现有技术与网络行为推动的人类行为的新结合。 如果您来自技术背景,则有必要利用现有知识并了解区块链带来的好处。 但是,大多数人都知道的技术,例如Java,.NET和关系数据库,在区块链领域并不常见。 相反,区块链主要由服务器端的C,Go和Rust以及客户端JavaScript主导。

也就是说,几个区块链项目和组件都是用Java编写的,并且Java开发人员可以将其用作区块链的杠杆入口点。

如果您是Java开发人员,已经通过阅读我上面推荐的书籍完成了背景研究,并且准备动手工作,请从以下使用Java编写的流行开源区块链项目之一开始:

  • Corda可能是Java开发人员最自然的起点。 Corda是一个基于JVM的项目,建立在流行且广泛使用的Java项目(例如Apache Artemis,Hibernate,Apache Shiro,Jackson和关系数据库)的基础上。 它受到比特币的启发,但具有业务流程,消息传递和其他熟悉的概念的元素。 您可以作为Java开发人员阅读它的第一印象 。
  • Pantheon是Java中以太坊节点的完整实现。 它是专门为吸引Java生态系统开发人员进入区块链世界而创建的。 其创建者提供了介绍性演示文稿和入门视频 。
  • Bitcoinj是比特币协议最流行的Java实现。 如果您希望直接从比特币开始,那么这是您要探索的Java项目。
  • Web3j是一个用于连接以太坊节点的客户端库(而Corda和Pantheon是完整的区块链节点实现的示例)。 这是一个非常有据可查的 ,活跃的项目,使与以太坊兼容节点的交谈变得简单。 我为此创建了一个Apache Camel连接器,您可以阅读有关 。
  • Hyperledger Fabric Java SDK是功能齐全的Java SDK,它是最受欢迎的企业区块链项目之一Hyperledger Fabric 。
  • FundRequest是用Java编写的最终用户应用程序。 尽管以上项目是客户或节点的示例,但FundRequest是在以太坊网络之上实现并完全用Java编写的开源筹资平台。 这是如何实现基于区块链的完整项目并与以太坊网络交互的一个很好的例子。
  • Eventeum是一个Java项目,可以帮助您监视以太坊网络并将事件存储在Kafka上。 与区块链网络集成时,它解决了一些最常见的挑战。

如果您准备开始使用区块链,请访问GitHub并使用上面列出的项目之一。 其余的将跟随。 未来是开放和分散的 。

翻译自: https://opensource.com/article/19/4/blockchain-java-developers

java 区块链开发

你可能感兴趣的:(编程语言,区块链,java,人工智能,大数据)