从Java到区块链:如何成为区块链开发人员

栏目: Java · 发布时间: 7年前

内容简介:最近这些天,区块链是每个开发人员的谈资。来自各个领域的许多软件开发商现在正试图进入区块链市场。我们与Mobilunity的区块链软件开发人员Eugene Kyselev 讨论了他是如何走出区块链开发方面的第一步的,希望对大家有所帮助。Eugene Kyselev:说起来很平淡,一切都在正确的时间出现,对我来说,区块链开发是一个合乎逻辑的延续。我从JavaScript和其他框架开始,我想继续朝这个方向发展。几年前,随着各种ICO和采矿趋势的开始,我毫不犹豫地决定尝试区块链开发。区块链开发现在正在以光速发展。

最近这些天,区块链是每个开发人员的谈资。来自各个领域的许多软件开发商现在正试图进入区块链市场。我们与Mobilunity的区块链软件开发人员Eugene Kyselev 讨论了他是如何走出区块链开发方面的第一步的,希望对大家有所帮助。

JAXenter:Eugene,请告诉我们您在区块链开发方面的经验。你是怎么开始的?

Eugene Kyselev:说起来很平淡,一切都在正确的时间出现,对我来说,区块链开发是一个合乎逻辑的延续。我从JavaScript和其他框架开始,我想继续朝这个方向发展。几年前,随着各种ICO和采矿趋势的开始,我毫不犹豫地决定尝试区块链开发。

区块链开发现在正在以光速发展。区块链技术引起了政府和各国央行的注意;简而言之,一切都表明区块链前景光明。

JAXenter:你认为“区块链时代”将持续多久?

Eugene Kyselev:很难说,这就像问“全球化时代将持续多久?”

我认为,只要对加密货币和其他区块链解决方案的需求不断增加,就需要持续一段时间。所有的一切,每件事物都会经历自己的发展,最终出现了加密货币和各种ICO,我很确定现在就是“区块链时代”,区块链技术还有许多其他重要的发现和创新应用。可以带来整个行业的新突破。

JAXenter:为什么要将技术专长转变为区块链开发?

Eugene Kyselev:没有所谓的技术技能转变这样的东西。Blockchain使用常见的编程语言,如C++,Java,Python,Go。但是像Solidity这样的新技术也会出现。Solidity是一种面向对象的编程语言,用于为以太坊区块链平台开发智能合约。另一项有前途的技术是Hyperledger,一种由开源技术组成的区块链平台。Hyperledger允许你创建分布式分类帐或你自己的区块链框架。

JAXenter:许多开发人员都在问“你需要做些什么来成为区块链或加密货币开发人员?”你会推荐他们怎么做?

Eugene Kyselev:凭着坚强的意志,你可以实现并学习一切。作为快速指南,我推荐 IBM Blockchain 101 课程。但对于初学者来说,你必须具备扎实的算法和数据结构知识,最重要的是加密算法。如果你是区块链工程师,那么深入了解Java/C或Python/Go也是必须的。

如果你专注于开发智能合约,则需要具备JavaScript开发经验,下一步是掌握Solidity。

JAXenter:你如何开始 Java 编写区块链程序?

Eugene Kyselev:这很简单。以Hyperledger Fabric Chaincode为例,要开始使用,你需要以下工具:

  • Gradle
  • JDK
  • Vagrant

首先,启动chaincode部署:

peer chaincode deploy - l java - n map - p /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java - c '{"Function": "init", "Args": ["a", "100", "b", "200"]}

然后,查询交易:

/opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java $ peer chaincode invoke - l java \
- n 6d9a704d95284593fe802a5de89f84e86fb975f00830bc6488713f9441b835cf32d9cd07b087b90e5cb57a88360f90a4de39521a5595545ad689cd64791679e9 \
- c '{"Function": "transfer", "Args": [ "a", "b", "20"]}'

查询后,初始化变量“a”和“b”:

/opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java $ peer chaincode query - l java \
- n 6d9a704d95284593fe802a5de89f84e86fb975f00830bc6488713f9441b835cf32d9cd07b087b90e5cb57a88360f90a4de39521a5595545ad689cd64791679e9 \
- c '{"Function": "query", "Args": ["a"]}'
{ "Name" : "a" , "Amount" : "80" }
  
  
/opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java $ peer chaincode query - l java \
- n 6d9a704d95284593fe802a5de89f84e86fb975f00830bc6488713f9441b835cf32d9cd07b087b90e5cb57a88360f90a4de39521a5595545ad689cd64791679e9 \
- c '{"Function": "query", "Args": ["b"]}'
{ "Name" : "b" , "Amount" : "220" }

JAXenter:告诉我们更多关于Hyperledger,R3 DLT和Solidity的信息。

Eugene Kyselev:让我们从Hyperledger开始吧。如上所述,它是区块链应用程序的开源平台(中心)。总的来说,Hyperledger不支持比特币和其他加密货币。Hyperledger是一组旨在促进区块链应用程序开发的项目。

自从互联网出现以来,没有一种技术像这项技术那样具有前景和开创性。互联网和区块链可以一起使用,以创建新一代的交易性应用程序,在业务流程的核心创建信任,建立问责制和透明度。

R3 DLT 不是一项技术,而是一个区块链联盟,其中包括100多家银行,金融机构,监管机构,专业机构,服务公司和技术公司。

目标是利用该平台探索区块链技术的可能性,区域链技术被认为是创新的,同时总结已建立的参与者的想法和数据,并使国际支付更快,更可靠。

Solidity是一种强烈的面向JavaScript的语言,旨在开发在以太坊虚拟机(EVM)中运行的智能合约。由于Solidity具有类似JavaScript的语法,因此我可以轻松快速掌握该语言。主要缺点是尚未实现该语言的完整版本。因此,它仍然具有相当有限的功能集,并且受到许多错误的困扰。

JAXenter:现在有很多关于区块链的炒作。这项技术可以解决哪些问题?

Eugene Kyselev:

至少会对下面这些问题有很大的帮助:

1.确保银行存款的安全

每年,银行都会因欺诈而损失巨额资金。区块链具有几乎无可挑剔的安全性,可以帮助他们解决这个问题。转换到区块链钱包的银行客户由唯一标识号而不是名称标识。此外,他们使用私钥来获取资金。在他们的帮助下,只有他们的所有者可以处置资金——即使银行也无法获得这些资金。这些安全措施确保了比特币和其他加密货币的安全性,以便他们可以轻松保护存款。

区块链上的云存储将能够更好地抵御黑客攻击

云存储公司使用集中式服务器来存储数据。出于这个原因,黑客可以从中窃取信息的风险增加——通过访问服务器,黑客自动渗透到整个网络。一个区块链上的云存储可以分散地保护你的数据,并且它们的节点也会断开连接。因此,它们不易受到攻击,甚至攻击节点也不会破坏整个网络。

2.货物运输速度更快

在物流方面,需要正确,快速地组织货物运输。关键是能够在整个供应链中跟踪货物。借助区块链技术,这一过程将变得更加安全和透明。此外,在去中心化的连续的记录将减少人类的作用和延迟的可能性。

3.选举舞弊

选举欺诈,伪造签名和举行会议,而不通知所有成员是在公司治理中最普遍的问题。所有这些问题都通过区块链技术的整合得到部分解决。例如,它可以跟踪和计算投票,从而消除任何人的声音不会被计算或伪造的。相反,每个投票参与者将收到一个唯一的密钥来做出决定。

谢谢!

======================================================================

分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:

java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。

  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • python以太坊,主要是针对 python 工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用 php 进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、 mongodb 、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • EOS教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。

汇智网原创翻译,转载请标明出处。这里是 原文


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Transcending CSS

Transcending CSS

Andy Clarke、Molly E. Holzschlag / New Riders / November 15, 2006 / $49.99

As the Web evolves to incorporate new standards and the latest browsers offer new possibilities for creative design, the art of creating Web sites is also changing. Few Web designers are experienced p......一起来看看 《Transcending CSS》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具