当前位置: 首页 > 百家 > 正文

什么是Solidity:以太坊的包容性开发语言

什么是Solidity:以太坊的包容性开发语言

许多去中心化技术的基础设施背后是工具,或者说是“工具包”,它们构成了技术的整体性质。在许多情况下,开发者使用现有框架或编程语言创建这类基础设施。编程语言可以理解为绘制一幅像所必需的调色板。因此,这幅画本质上只有在创造力限制自身的情况下才会强大,但不同的调色板允许完全不同的图画类型。编程也是如此,若以以太坊的“Solidity”语言为调色板,画出的画就是去中心化应用程序。

以太坊的Solidity语言是可以创建用户自己的智能合约这种新型金融程序的基础。智能合约是以太坊在不同实体间实现去中心化及虚拟协议的方式。以太坊背后的愿景是创建新型生态系统,让各方可以通过一种近乎完全去中心化的方式彼此交流,不再总是需要中间人。

智能合约和架构

在理解Solidity的作用及其如何改变几乎所有去中心化系统的开发环境前,需要弄明白智能合约的核心概念及其构建目的。

在传统工作流程中,通常拥有一份通过某种方式将多方绑定在一起的合约。比如说,一家公司拥有一份支付合约而另一家收债人一旦签署这份合约,就可以让他们支付给他100美元。

以太坊背后的概念是,人们可以将这整个过程虚拟化,通过智能合约让事务更加高效。若将前文的债务义务虚拟化,该公司就拥有了不可改变且透明的系统,债务永远不会出现欺诈或错误计算的可能。

智能合约是建立在双方之间的,不过双方可以是一方1人而另一方50人。智能合约的另一个核心概念是它给金融产品领域的新机遇打开了大门。首次代币发行(ICOs)的概念之所以成为可能就是因为智能合约的不可改变和透明性。拥有智能合约,你可以通过ERC20的以太坊标准发行原生代币。

设计和流

在设计Solidity的基础时,以太坊团队希望着重于可用性和简单性。其原因是为了让尽可能多的人能够使用工具包。以太坊的主要主张是Solidity要成为去中心化应用程序(dApps)中的JavaScript。

Solidity的基础的设计是尽可能与现有的现代编程产品相似。像HTML这类标记语言的知识非常有限,这可能会给想要学习Solidity的人带来阻碍,不过开发者一旦掌握它,操作起来就非常简单了。

尽管从技术上来说这种语言可以用于创建自己的基础程序,例如高级循环、计算器等,但它主要是为了智能合约编程和去中心化应用开发设计的。这意味着在程序员开始将其应用到智能合约开发中时,用户才能完全感受到它真正的可用性。

如果读者想要创建一个名为“myContract”的智能合约,那么开发人员必须通过“contract myContract”来建立其实例。通过这个例子,我们可以感受到Solidity的流(flow)。它包括了许多设计和预编程关键字,这些关键字将集成到直接与Ethereum虚拟机(EVM)协调的以太坊平台。

Solidity和去中心化应用(dApps)

虽然那些熟悉区块链和数字货币的人理解去中心化系统工作原理的核心,但是初学者可能很难理解什么是去中心化应用以及它们与可靠性的关系。

去中心化应用程序只是在网络上运行的应用程序,而不是单独的系统或用户。可以这样想:在为Mac创建应用程序时,管理应用程序后端的网络是Apple或单个实体。在创建去中心化应用时,控制其所有进程的网络都是以太坊网络上的进程,因此为应用程序创建了一个“分布式的”系统。

智能合约是建立与以太坊区块链建立直接连接的虚拟协议。去中心化应用是一种使用智能合约连接到区块链,从而实现去中心化的应用程序。Solidity只是一个用于在静态应用程序和分布式后端之间建立连接的工具。

Solidity不是智能合约,也不是去中心化应用,它是一种编程语言,用于创建智能合约,然后可以将应用程序链接到区块链。在学习了Solidity之后,开发人员可以创建与区块链交互的去中心化应用程序。

传统的集中式应用程序包含在静态点对数据库中起作用的单一数据库的连接。去中心化应用程序是分布式的,且由于各种各样的原因,它们在点对点(P2P)方式下发挥作用。其主要优点是维护正常运行时间,并限制任何潜在的集中成本或错误。

竞争者和路线

Solidity每天都有新的版本,但这在社区中引起了一些争议。Solidity是一门新兴的语言,这意味着它仍然存在着许多错误,需要进一步的发展和完善才能使其完全合法化。轻易能够创建像以太坊这样的脆弱环境使得新开发人员的代码容易出现灾难性的错误,从而导致在创建智能合约时损失大量金钱。

在合约方面,以太坊的主要竞争对手通常被认为是TRON(波场)和EOS的主流案例。然而,就实际的Solidity编程语言的竞争而言,似乎只有有限数量的实体直接使用它。比如说,EOS开发工具包提供了具有竞争力的智能合约创建能力,但是,合约是用现有的语言c++编写的。在内部智能合约开发方面,其他编程语言可能暂时还无法超越Solidity。

作者:John Iadeluca

翻译:cici@比特财经

网址:

https://btcmanager.com/what-is-solidity-ethereums-inclusive-development-language/

【声明:此文为本站原创翻译,如有不当之处请多指教!欢迎转载,转载请务必注明译者以及转自比特财经!】
(免责声明:本文仅代表作者本人观点,不代表比特财经立场)

转自:比特币中文网

固定链接: 什么是Solidity:以太坊的包容性开发语言 | 三个硬币

该日志由 bitman 于2019年01月16日发表在 百家 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 什么是Solidity:以太坊的包容性开发语言 | 三个硬币
关键字:

什么是Solidity:以太坊的包容性开发语言:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter