Solidity 简介
Solidity语言是一种面向合约的高级编程语言,用于在以太坊区块链网络上实现智能合约。Solidity语言深受c++、Python和JavaScript的影响,针对以太坊(Ethereum)虚拟机(EVM)设计。
Solidity语言是静态类型语言,支持继承、库和复杂的用户定义类型。
可以使用Solidity语言创建区块链上运行的投票、众筹、钱包等各种类型的智能合约。
以太坊/Ethereum是什么?
以太坊是一个去中心化的,运行智能合约的区块链平台。
以太坊/Ethereum虚拟机(EVM)
Ethereum虚拟机,也称为EVM,是以太坊/Ethereum中智能合约的运行时环境。
可以用某种语言,例如Solidity语言,开发智能合约程序,编译成以太坊(Ethereum)虚拟机支持的字节码/bytecode,然后该程序就可以在虚拟机中执行了。
什么是智能合约?
智能合约(Smart contract )是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于1995年由Nick Szabo首次提出。
智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。
简单地说,智能合约可以理解为一个自执行的协议。智能合约可以自动处理协议的履行、管理、以及支付。
例如,可以编写这样一个智能合约:本月底之前,老王转账给小张1个以太币,这个智能合约部署后,就会在月底之前,自动把老王的1个以太币转账给小张,无需人为干预。
如果你现在不理解智能合约也没关系,我们稍后会更详细地讲解。
Solidity 工具列表
Dapp: Solidity 语言的构建工具、包管理器以及部署助手。
Solidity REPL: 一个命令行控制台,可以让你立刻尝试 Solidity 语言。
solgraph: 可视化的 Solidity 控制流,并能标明潜在的安全漏洞。
evmdis: EVM 反汇编程序,可以执行字节码的静态分析,能提供比 EVM 操作更高级的抽象。
Doxity: Solidity 语言的文档生成器。