最近这些天,区块链是每个开发人员的谈资。来自各个领域的许多软件开发商现在正试图进入区块链市场。我们与Mobilunity的区块链软件开发人员Eugene Kyselev 讨论了他是如何走出区块链开发方面的第一步的,希望对大家有所帮助。
Eugene Kyselev:说起来很平淡,一切都在正确的时间出现,对我来说,区块链开发是一个合乎逻辑的延续。我从JavaScript和其他框架开始,我想继续朝这个方向发展。几年前,随着各种ICO和采矿趋势的开始,我毫不犹豫地决定尝试区块链开发。
区块链开发现在正在以光速发展。区块链技术引起了政府和各国央行的注意;简而言之,一切都表明区块链前景光明。
Eugene Kyselev:很难说,这就像问“全球化时代将持续多久?”
我认为,只要对加密货币和其他区块链解决方案的需求不断增加,就需要持续一段时间。所有的一切,每件事物都会经历自己的发展,最终出现了加密货币和各种ICO,我很确定现在就是“区块链时代”,区块链技术还有许多其他重要的发现和创新应用。可以带来整个行业的新突破。
Eugene Kyselev:没有所谓的技术技能转变这样的东西。Blockchain使用常见的编程语言,如C++,Java,Python,Go。但是像Solidity这样的新技术也会出现。Solidity是一种面向对象的编程语言,用于为以太坊区块链平台开发智能合约。另一项有前途的技术是Hyperledger,一种由开源技术组成的区块链平台。Hyperledger允许你创建分布式分类帐或你自己的区块链框架。
Eugene Kyselev:凭着坚强的意志,你可以实现并学习一切。作为快速指南,我推荐 IBM Blockchain 101 课程。但对于初学者来说,你必须具备扎实的算法和数据结构知识,最重要的是加密算法。如果你是区块链工程师,那么深入了解Java/C或Python/Go也是必须的。
如果你专注于开发智能合约,则需要具备JavaScript开发经验,下一步是掌握Solidity。
Eugene Kyselev:这很简单。以Hyperledger Fabric Chaincode为例,要开始使用,你需要以下工具:
首先,启动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" }
Eugene Kyselev:让我们从Hyperledger开始吧。如上所述,它是区块链应用程序的开源平台(中心)。总的来说,Hyperledger不支持比特币和其他加密货币。Hyperledger是一组旨在促进区块链应用程序开发的项目。
自从互联网出现以来,没有一种技术像这项技术那样具有前景和开创性。互联网和区块链可以一起使用,以创建新一代的交易性应用程序,在业务流程的核心创建信任,建立问责制和透明度。
R3 DLT 不是一项技术,而是一个区块链联盟,其中包括100多家银行,金融机构,监管机构,专业机构,服务公司和技术公司。
目标是利用该平台探索区块链技术的可能性,区域链技术被认为是创新的,同时总结已建立的参与者的想法和数据,并使国际支付更快,更可靠。
Solidity是一种强烈的面向JavaScript的语言,旨在开发在以太坊虚拟机(EVM)中运行的智能合约。由于Solidity具有类似JavaScript的语法,因此我可以轻松快速掌握该语言。主要缺点是尚未实现该语言的完整版本。因此,它仍然具有相当有限的功能集,并且受到许多错误的困扰。
至少会对下面这些问题有很大的帮助:
每年,银行都会因欺诈而损失巨额资金。区块链具有几乎无可挑剔的安全性,可以帮助他们解决这个问题。转换到区块链钱包的银行客户由唯一标识号而不是名称标识。此外,他们使用私钥来获取资金。在他们的帮助下,只有他们的所有者可以处置资金——即使银行也无法获得这些资金。这些安全措施确保了比特币和其他加密货币的安全性,以便他们可以轻松保护存款。
区块链上的云存储将能够更好地抵御黑客攻击
云存储公司使用集中式服务器来存储数据。出于这个原因,黑客可以从中窃取信息的风险增加——通过访问服务器,黑客自动渗透到整个网络。一个区块链上的云存储可以分散地保护你的数据,并且它们的节点也会断开连接。因此,它们不易受到攻击,甚至攻击节点也不会破坏整个网络。
在物流方面,需要正确,快速地组织货物运输。关键是能够在整个供应链中跟踪货物。借助区块链技术,这一过程将变得更加安全和透明。此外,在去中心化的连续的记录将减少人类的作用和延迟的可能性。
选举欺诈,伪造签名和举行会议,而不通知所有成员是在公司治理中最普遍的问题。所有这些问题都通过区块链技术的整合得到部分解决。例如,它可以跟踪和计算投票,从而消除任何人的声音不会被计算或伪造的。相反,每个投票参与者将收到一个唯一的密钥来做出决定。
谢谢!
======================================================================
分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:
java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
汇智网原创翻译,转载请标明出处。这里是 原文