区块链入门到实战(28)之Solidity–介绍
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
区块链⼊门到实战(28)之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个以太币转账给⼩张,⽆需⼈为⼲预。