我认为未来将围绕区块链这一新兴技术来构建,这绝非遥不可及。区块链最初是作为一种公共和未授权的技术设计的,然后又引入了另一个区块链。每个区块链都有自己独特的用例集。公共/无执照的区块链是开放的、分布式的和缓慢的,而私人/有执照的区块链是部分或完全封闭和集中的。
在本文中,我将与您讨论在开始构建和使用区块链技术应用程序之前,您需要学习哪些知识。
当我刚开始学习区块链时,许多问题浮现在我的脑海里。区块链有哪些不同的类型?为了有效的开发,我应该使用哪种编程语言?区块链发展的平台是什么?
在本文中,我们将讨论为了开始使用区块链技术开发应用程序,我们应该一起学习的不同编程语言。
区块链编程的类型
区块链架构编程
在开发区块链之前,我们必须首先解决构成其架构和协议的重要功能。它必须用代码编写。比如2009年比特币发布之前,统治局面的规则和协议都是用C写的,这种编程通常用C、Java等更接近机器的语言来完成。
在常见的集中式应用中,后端代码运行在中央服务器上,而Dapp的后端代码运行在分布式对等网络上。和普通应用一样,DApp可以使用任何语言和用户界面编写其前端代码,方便调用后端API。
流行的区块链编程平台,基于
超级分类帐
Hyperledger是开源区块链的一个综合项目,旨在帮助促进区块链技术的发展。在其指导下,它支持基于区块链的分布式账簿的协作开发,包括相关工具、培训和社区活动。Hyperledger的目标是提供模块化的区块链技术,其中包含丰富且易于使用的API。Hyperledger降低了安全风险,并确保只有想要交易的各方才能成为交易的一部分。Hyperledger提供了区块链架构、数据隐私、信息共享和不变性的所有功能。
以太坊是一个开源的区块链平台,用于开发运行在区块链技术上的分布式应用程序或DApps。
以太坊区块链平台可以有效地帮助脚本或智能合约通过网络中的节点顺利运行。它不仅可以跟踪交易,还可以对交易进行编程。
以太坊提供了很多编程语言供开发者选择,包括C、Go、Python、Java等语言。智能契约由Solidity构建,Solidity语言是一种面向契约的高级编程语言。
区块链编程语言TOP5
1.C
先说列表中最古老、最受推崇的常青树语言C。我们所有编程的人都知道它是C语言的扩展。在C中,创建一个数据、函数和对象包后,可以方便地在其他程序中调用和重用,可以大大减少编码时间。
那么问题来了,现在高级语言那么多,为什么还要用C?
嗯,因为C有一定的功能,所以很吸引人。考虑到区块链发展中的挑战,区块链应该像一个安全的堡垒,它也可以有效地管理资源。
区块链应该与许多不可信的节点交互,同时仍然为任何和所有节点提供快速服务。这种快速服务对数字加密货币的成功至关重要。要完成所有这些需求并在最高层执行,你需要对CPU和内存的使用有完全的控制权,而C正好为用户提供了这一点。
C的另一个有趣的方面是移动语义。移动语义指的是提供一种在对象之间移动内容的方式,而不是复制。语义的优势在于,一些数据的副本只能在需要的时候获得,通过减少冗余可以提高程序性能。区块链需要有效的内存管理和高性能。
区块链编程的另一个可以想象的挑战是集成并行化和非并行化的不同任务。大多数编程语言只关注一个方面,但C的线程能力可以处理并行和非并行任务。c允许多个设备在线程间有效通信,优化了单线程的性能。
c语言的优缺点
优点:独立且跨平台复杂,调试困难。静态类型学习曲线高且快,不支持垃圾回收。
区块链用例
c主要用于加密货币和重要的区块链项目,如比特币、Ripple、比特币现金、莱特币、Stellar和Monero等。
2.Java Script语言
JavaScript是流行的软件开发语言之一。JavaScript有很多有用的库和框架,如jQuery、React、Angular和Node.js,是推动现代Web开发的超级引擎。它与HTML和CSS一起,增强了网站的许多交互功能。
JavaScript有一个非常适合区块链处理的主要特性。JS非常擅长处理异步操作。随着区块链上用户数量的增加,将会有很多同时进行的操作。使用JS可以更容易地处理所有这些不同的区块链节点之间的通信。但不可否认的是,JavaScript在计算机处理能力的利用上不如C高效。
JavaScript的优点和缺点
优点面向对象的动态基于原型的解释依赖于支持函数式编程的浏览器。任何人都可以查看源代码。
区块链中的JavaScript用例
区块链开发者使用的JavaScript在web3.js和ethereum.js中它可以帮助开发者连接应用前端,连接以太坊网络和智能合约。
区块链另一个常用的JavaScript是Hyperledger Fabric SDK for node.js这是一个IT行业和企业经常使用的大型框架。所以,如果你喜欢这种编码,可能是个不错的选择。
3.计算机编程语言
作为一种相对现代的编程语言,Python通常是新程序员的最爱。Python有一个类似英语的简单语法。Python用于服务器端开发基于Web的应用程序,也可以用于连接数据库系统。Python可以处理大数据,执行复杂的数学运算。
Python吸引人的地方在于它使用新行来完成一行命令,不像其他编程语言通常使用分号或花括号。
无论你尝试什么语言,我们都离不开Python。几乎每个区块链生态系统都有一个或多个用Python编写的公共工具。
也许Python正在成为一种更受欢迎的语言。
Python的优点和缺点
优势
缺点适用于很多平台(Windows,Mac,Linux,Raspberry等。).它主要用作服务器端语言。与其他编程语言相比,开发人员编写的代码更少。然后不好看的后台运行在编译系统上。原型设计非常快。扩展库并不总是以一种全面的方式被记录。
Python在区块链的用例
在区块链领域,Python被用来为Hyperledger编写智能合约。还有很多其他的好项目,比如pyethereum,都有自己的实现。Python也用于为NEO创建智能合同。
开发
GoLang,也称为Go,是一种相对现代的通用领域语言。它由谷歌于2007年开发,并于2012年公开应用。
Go是一种静态语言,它的语法有点类似于C语言。它的设计理念是健壮和多用途的语言。Go试图将现代语言(如Python和JavaScript)的语法和用户友好性与C语言的性能和安全性优势结合起来。
Go是一种编译语言,提供了功能丰富的标准库。当您在区块链项目的多个部分中使用Go时,它具有最大的灵活性。
在Go语言中,名为Goroutines的方法提供了异步或并行运行多个程序或程序的几个部分的能力,这是区块链项目所需的一个重要特性。通常,在语言中使用线程来实现这一点,例如Java和其他语言。
围棋的利与弊
缺点编译时间快,不好学。该程序简单、简洁、安全。Go没有像python或者javascript那样超强类型的软件包,是可扩展的。对于一些开发人员来说,语法并不清楚。垃圾回收是一个很年轻的语言和社区,没有其他流行语言那么大。
围棋在区块链的应用案例
与戈朗相关的区块链项目有一系列,包括相当多的热门项目。比如Go-Ethereum就是用Golang写的最重要的项目之一。用Go编写的另一个重要项目是Hyperledger Fabric,这是许多大公司欢迎的区块链解决方案之一。分布式网游的另一个好项目是Loom Network,里面有用Go写的链码。
固态
Solidity是以太坊团队的Gavin Wood、Christian Reitwiessner等人开发的。它看起来像JavaScript,用于特定领域,也是一种面向对象的高级语言。
Solidity受C、Python和JavaScript语言的影响,其目的是在以太坊平台上创建应用和以太坊虚拟机(EVM)。EVM是一个在以太坊平台上编写的智能契约运行时环境。Solidity是一种静态类型语言,支持继承、库和复杂的用户自定义类型。迄今为止,它是以太坊社区和区块链业界最好的DSL。
要运行Solidity的代码示例,我们可以使用Remix IDE。Remix是一个基于Web浏览器的IDE,集成了编译器和Solidity运行时环境,没有服务器端组件。它不仅可以编写Solidity代码,还可以部署和运行智能合约。
坚固性的优点和缺点
缺点:协议中提供了继承属性非常年轻的语言,技术社区还很小,支持很少。静态类型复杂、简单且易于学习,因为标准库不可用。只在以太坊生态系统中使用。
区块链的可靠性用例
Solidity语言用于开发以太坊智能合约。暂时没见过其他用的物品,所以有一定的可靠性。以太坊开发生态系统庞大,是目前区块链开发最重要的部分之一,所以Solidity是智能合约开发中使用最多的语言。
总结
区块链技术有望对每一个行业和产业产生巨大的影响。未来几个月到几年,随着互联世界变得越来越分布式,区块链将成为主流技术,未来将有无限的想象空间!
相关参考:
https://phys . org/news/2019-01-透明-隐私-赋权-人-区块链. html
https://blockgeeks.com/guides/what-is-blockchain-technology/
编译:楚龙
资料来源:21CTO社区
声明:本文仅供信息传播、交流和学习,不代表任何观点,不构成任何投资建议。如果稿件版权单位或个人不想在微信官方账号发布,可以联系后台,本微信官方账号视情况可立即下架。