阅读时间: 2 分钟
Solidity是一种面向对象的编程语言,用于在各种区块链平台上编写智能合约,最引人注目的是以太坊。
以太坊
以太坊是一个开源的、基于区块链的软件平台。它有自己的加密货币,叫做以太币。它能够创建智能合约和去中心化的应用程序,被称为dapps。此外,以太坊也是一种编程语言,在EVM上执行。
简单地说,以太坊是 "编纂、去中心化、安全和交易几乎任何东西"。
围绕以太坊的一个大项目是微软与ConsenSys的合作。它在微软 Azure上提供了以太坊区块链作为一种服务**(EBaaS**)。因此,企业客户和开发人员可以拥有一个一键式的云端区块链开发环境。
什么是以太坊虚拟机(EVM)?
EVM允许程序员执行一般用高级语言编写的智能合约,如Solidity。此外,我们还有更多的语言,如Vyper和Bamboo。
EVM不能直接执行高级语言的代码。它们需要首先转换为低级语言的操作码。
此外,有140个独特的操作码使EVM成为 "图灵完全"。这意味着EVM能够解决任何计算问题。由于每个操作码的大小为1字节,这意味着最多可以有256个操作码。
智能合约
"智能合约是一种让全球各地的人互相做生意的方式,即使他们不说同一种语言或使用同一种货币。"
米海-阿利西
智能合约是买家和卖家之间的交易直接写在代码行中。而这是通过一个分布式的、去中心化的区块链网络来实现的。导致消除法律或外部执行机制的影响。
例如,它遵循if and then逻辑的概念,即如果x发生,则y发生。
Solidity:编程语言
Solidity是由Gavin Wood, Yoichi Hirai, Christian Reitweissner开发的。最重要的是,它是被Mutan、LLL和Serpent取代的高度使用的面向契约的编程语言之一。
-
Solidity是一种静态类型的、面向对象的编程语言。
-
围绕ECMAScript语法的思想而开发,这使得它更容易被开发者所适应。
-
它支持继承,也包括多重继承。此外,它还支持复杂的用户定义类型和更多。因此,它为你提供了开发自动化区块链应用程序的所有功能。
注意:请记住,在部署合同时,请使用最新发布的solidity版本,因为任何新版本都会引入新的更新和错误修复。
// My First Smart Contract
pragma solidity >=0.5.0 <0.7.0;
contract HelloWorld {
function get()public pure returns (string memory){
return 'Hello Contracts';
}
}
最重要的是,在solidity中,第一条语句总是pragma,声明代码应该使用的编译器的版本。
注意:如果版本早于0.4.0或者编译器从0.5.0开始,源文件将无法编译。
总结
在这篇文章中,我们了解了一个全新的世界计算机世界,以太坊,EVM。此外,我们还介绍了如何用一小段代码在Solidity中编写智能合约。
祝你学习愉快!
参考资料
www.investopedia.com/terms/e/eth…