Solidity 教程

Solidity 语言是一种面向合约的高级编程语言,用于在以太坊区块链网络上编写智能合约。

Solidity 语言深受 c++、Python 和 JavaScript 的影响,并针对以太坊虚拟机(EVM)进行了专门设计。

Solidity 语言是一种静态类型语言,支持继承、库和复杂的用户定义的数据类型。

我们可以使用 Solidity 语言创建区块链上运行的投票、众筹、钱包、DeFi、GameFi以及NFT等各种类型的智能合约。


 

1. 以太坊是什么

以太坊(Ethereum),是一个去中心化的,能够运行智能合约的区块链平台。

以太坊,由Vitalik Buterin和合伙人共同创建,并在2014年发布,是目前世界上使用最为广泛的、可编程的去中心化应用平台。

2. 以太坊虚拟机

以太坊虚拟机(EVM),是以太坊中智能合约的运行时环境。

我们可以使用一些编程语言开发智能合约程序,例如 Solidity 语言。最终,将其编译成以太坊虚拟机支持的字节码(bytecode),部署到以太坊平台,然后就可以在以太坊虚拟机中执行了。

 

3. 什么是智能合约

智能合约(Smart contract),是一种旨在以信息化方式传播、验证或执行合同的计算机协议,简单说就是在区块链上运行的程序。

智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1995 年由 Nick Szabo 首次提出。

智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。

简单地说,智能合约可以理解为一个可以自动执行的协议。智能合约可以自动处理协议的履行、管理、以及支付。

例如,可以编写这样一个智能合约:本月底之前,老王转账给小张1个以太币,这个智能合约部署后,就会在月底之前,自动把老王的1个以太币转账给小张,无需人为干预。

 

4. 以太坊智能合约

以太坊上的智能合约是位于以太坊区块链上特定地址的代码和数据的集合。

 本章介绍如何搭建 Solidity 开发环境。我们推荐使用在线集成开发环境 Remix,来学习 Solidity 语言。本教程的所有例子,都将使用 Remix 进行编写、编译和部署运行。Remix ...