区块链开发(十)区块链技术-智能合约Solidity编程语言
来源:互联网 发布:java 进程同步 编辑:程序博客网 时间:2024/05/24 02:46
【文档翻译系列】Solidity语言
Solidity是一种智能合约高级语言,运行在Ethereum虚拟机(EVM)之上。
Solidity与其它语言相关的特点?
它的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又有很多的不同,下面列举一些:
- 以太坊底层是基于帐户,而非UTXO的,所以有一个特殊的
Address
的类型。用于定位用户,定位合约,定位合约的代码(合约本身也是一个帐户)。 - 由于语言内嵌框架是支持支付的,所以提供了一些关键字,如
payable
,可以在语言层面直接支持支付,而且超级简单。 - 存储是使用网络上的区块链,数据的每一个状态都可以永久存储,所以需要确定变量使用内存,还是区块链。
- 运行环境是在去中心化的网络上,会比较强调合约或函数执行的调用的方式。因为原来一个简单的函数调用变为了一个网络上的节点中的代码执行,分布式的感觉。
- 最后一个非常大的不同则是它的异常机制,一旦出现异常,所有的执行都将会被回撤,这主要是为了保证合约执行的原子性,以避免中间状态出现的数据不一致。
参考这个博客,Solidity语言写智能合约
http://www.tryblockchain.org/index.html
阅读全文
0 0
- 区块链开发(十)区块链技术-智能合约Solidity编程语言
- 区块链-智能合约简单脚本编写方法(solidity)
- 区块链-智能合约简单脚本编写方法(solidity)
- 区块链学堂(第一课):区块链引子+智能合约+Solidity
- 区块链2.0:智能合约
- 区块链2.0:智能合约
- 区块链--智能合约详解
- 区块链技术(二):以太坊编程语言SOLIDITY安装
- 区块链开发(五) Browser-solidity
- 区块链入门(5)Truffle 项目实战,Solidity IDE, 智能合约部署
- 区块链智能合约底层编译环境搭建开发虚拟货币技术
- 使用开发区块链技术智能合约建立数字货币教程
- 区块链学习-智能合约与ICO
- 区块链智能合约部署初探
- 『区块链智能合约』从零构建Ethereum智能合约到实战开发
- 『区块链智能合约』从零构建Ethereum智能合约到实战开发
- 区块链学堂(2):最简单的智能合约
- 区块链开发(六)本地部署 Browser-solidity
- 实训第三天之模态框&ajax跨域
- Linux中nc的安装
- MailSploit | 新型漏洞令钓鱼邮件更猖狂
- longmode is disabled for this virtual machine
- Java Spring MVC入门(二)——配置项目
- 区块链开发(十)区块链技术-智能合约Solidity编程语言
- latex bib参考文献类型
- 后台跨域造成session失效
- INNER JOIN ... ON用法
- 1. 认识 Java 程序【连载 1】
- 使用php-cs-fixer规范统一代码风格
- 硬盘的读写原理
- 如何使用超声波感应器【第二部】
- androidstudio需要的权限依赖