Solidity是什么:以太坊的包容性编程语言

许多去中心化技术的基础结构背后有一种被称为“工具”或“工具包”的东西,它们构成了技术的整体性质。在许多情况下,开发人员使用现有的框架或编程语言来创建这样的基础设施。编程语言可以理解为绘制肖像所需的颜色调色板。因此,这幅画本质上只在创造力受到限制的情况下才会强大,但不同的调色板允许完全不同的绘画类型。编程也是类似的,如果要以以太坊的“Solidity”语言为调色板,所创建的绘画都是去中心化的应用。

Solidity是什么:以太坊的包容性编程语言

以太坊的Solidity语言是一种新型财务编程的基础,在这种编程中,您可以创建自己的智能合约。以太坊背后的概念是创造一种新的生态系统,各方可以通过一种近乎完美的去中心化方式彼此沟通,在大多数情况下,中间人被切断。
智能合约及其架构
在理解可靠性的作用以及它如何彻底改变几乎所有去中心化系统的开发环境之前,理解智能合约的核心概念及其构建的目的是什么非常重要。
在传统的工作流中,一个人通常有一个合约,该合约以某种方式将多方绑定在一起。假设某人和另一个收债人签订了一份付款合约,收债人签了合约,就要付给他100美元。这很简单,对吧?
  以太坊背后的概念是,人们可以将整个过程虚拟化,通过智能合约提高效率。简单地以前面的债务义务为例,并将其虚拟化。这样就有了不可改变的和透明的制度,债务永远不会受到欺诈。
智能合约是在双方之间建立的,然而,双方可以是1人的一方与50人的一方签订,反之亦然。智能合约背后的另一个核心概念是,它为金融产品部分的新机会打开了大门。最初代币发行 (ICO)的概念之所以成为可能,是因为智能合约具有不可变性和透明性的特点。使用智能合约,您可以颁发一个本机代币。
设计和流程
在设计坚实的基础时,以太坊团队希望强调可用性和简单性。这样做的原因是为了使工具箱能够适用于尽可能广泛的人群。以太坊提出的主要主张是,实体的概念被设计为用于分散化应用程序(也称为dApp)的JavaScript。
JavaScript在开发人员中很有名,因为作为一个经验丰富的程序员,学习JavaScript相对容易,它包含了现代语言的主要概念和设计。同样,可靠性的基础被设计成尽可能类似于现有的现代编程出口。像HTML这样的标记语言的知识非常有限,这可能会给那些想要学习稳定性的人造成障碍,至少第一眼看上去是这样,但是,一旦开发人员掌握了其中的诀窍,导航起来就相当简单了。
尽管从技术上讲,可以创建自己的基础程序,比如高级循环、计算器等等,但是这种语言是专门为智能合约编程和分散应用程序开发而定制的。这意味着在开发人员开始将其应用于智能合约开发之前,用户无法提取其真正的可用性。如果要消除智能合约集成,就会得到一种非常弱的语言。
如果读者想要创建一个名为“myContract”的智能合约,那么开发人员必须通过“contract myContract”来建立它的实例化。通过这个例子,我们可以感受到 Solidity的流动。它维护了许多设计和预编程关键字,这些关键字将直接与以太坊虚拟机(EVM)协调的平台集成。
Solidity和分散式应用程序(dApp)
虽然那些熟悉区块链和加密货币的人能够理解分散式系统工作原理的核心,但是初学者可能很难确定dApp是什么以及它们与可靠性的关系。
分散式应用程序只是在网络上运行的应用程序,而不是单独的系统或用户。可以这样想:在为Mac创建应用程序时,管理应用程序后端的网络是Apple或单个实体。在创建dApp时,控制其所有进程的网络都是以太坊网络上的进程,因此为应用程序创建了一个“分布式”系统。
智能合约是建立到以太坊区块链直接连接的虚拟协议。dApp是一种应用程序,它使用智能合约连接到区块链,从而实现分散化。Solidity只是一个用于在静态应用程序和分布式后端之间建立连接的工具。
Solidity不是智能合约,也不是dApp,它是一种编程语言,用于创建智能合约,然后可以将应用程序链接到区块链。在学习了可靠性之后,开发人员可以创建与区块链交互的分散式应用程序。
传统的集中式应用程序维护与在静态点对数据库中起作用的单一数据库的连接。分散式应用程序是分布的,由于各种各样的原因,它们在点对点(P2P)方法中发挥着重要作用。主要优点是维护正常运行时间,并限制任何潜在的集中成本或错误。
竞争对手和路线图
Solidity每天都会有新的版本,这在社区中引起了一些争议。Solidity是一门新兴的语言,它仍然存在着许多错误,需要进一步的发展和完善,才能使其完全合法化。创建像以太坊这样脆弱的环境非常容易,这使得新开发人员的代码容易出现灾难性的错误,从而导致在创建智能合约时损失大量金钱。
在合约方面,以太坊的主要竞争对手在很多情况下被认为是TRON和EOS的主流案例。然而,就实际的健壮性编程语言的竞争而言,似乎只有有限数量的实体直接使用它。例如,EOS开发工具包提供了具有竞争力的智能合约,但是,合约是用c++编写的,c++是一种已经存在的语言。在内部智能合约开发方面,本地创建的编程语言可能需要一段时间才能超越其稳定性。