以太坊的包容性开发语言里到底藏着什么秘密?| 火星技术帖

链客Talk·热度: 17588
作为以太坊(Ethereum)智能合约编程语言, Solidity 语言很容易快速上手,希望有越来越多的人来掌握它。

Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。

Solidity 是静态类型语言,支持继承、库和复杂的用户定义类型等特性。

它的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又有很多的不同。以下就是Solidity 语言中隐藏的一些精妙之处。

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

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

智能合约的核心概念与架构

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

在传统工作流程中,通常拥有一份通过某种方式将多方绑定在一起的合约。以太坊背后的概念是,人们可以将这整个过程虚拟化,通过智能合约让事务更加高效。若将前文的债务义务虚拟化,该公司就拥有了不可改变且透明的系统,债务永远不会出现欺诈或错误计算的可能。

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

Solidity中的流

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

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

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

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

Solidity和dApps

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

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

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

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

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

Solidity的竞争者们

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

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

作为以太坊(Ethereum)智能合约编程语言, Solidity 语言很容易快速上手,希望有越来越多的人来掌握它。

声明:本文为入驻“火星号”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。 未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:作为区块链信息平台,本站所提供的资讯信息不代表任何投资暗示,本站所发布文章仅代表个人观点,与火星财经官方立场无关。鉴于中国尚未出台数字资产相关政策及法规,请中国大陆用户谨慎进行数字货币投资。
语音技术由科大讯飞提供
最近更新
本文来源:链客Talk
原文标题:
24H热门新闻
暂无内容

评论0