本文共 1987 字,大约阅读时间需要 6 分钟。
Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。
Solidity 是静态类型语言,支持继承、库和复杂的用户定义类型等特性。
它的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又有很多的不同,下面列举一些:
Address
的类型。用于定位用户,定位合约,定位合约的代码(合约本身也是一个帐户)。payable
,可以在语言层面直接支持支付,而且超级简单。代码示例:
pragma solidity ^0.4.20;contract HelloWorld{ uint balance; function HelloWorld() { balance = **; } function update(uint amount) returns (address, uint){ balance += amount; return (msg.sender, balance); }}
工欲善其事必先利其器,下面介绍开发的IDE以及环境搭建:
基于浏览器的 IDE,集成了编译器和 Solidity 运行时环境,不需要服务端组件。
IntelliJ IDEA 的 Solidity 插件(可用于其他所有的 JetBrains IDE)
Microsoft Visual Studio 的 Solidity 插件,包含 Solidity 编译器。
SublimeText 编辑器的语法高亮包。
Atom 编辑器的插件,支持高亮、编译和运行时环境(兼容后端节点和虚拟机)。
Atom 编辑器的插件,提供 Solidity 语言的 Lint 检查(静态检查)。
Atom 的可配置的 Solidty 静态检查器,基于 Solium。
一种静态检查器,识别和修复 Solidity 中的风格以及安全问题。
一种静态检查器,提供安全和风格指南以及智能合约验证的最佳实践规则。
Microsoft Visual Studio Code 插件,包含语法高亮和 Solidity 编译器。
Emacs 编辑器的插件,提供语法高亮和编译错误报告。
Vim 编辑器的插件,提供语法高亮。
Vim 编辑器的插件,提供编译检查。
不再维护:
基于 Qt 的 IDE,可以设计、调试和测试 Solidity 智能合约。
专门的网页 IDE,也提供一个完整以太坊环境的脚本访问。
Solidity 语言的构建工具、包管理器以及部署助手。
一个命令行控制台,可以让你立刻尝试 Solidity 语言。
可视化的 Solidity 控制流,并能标明潜在的安全漏洞。
EVM 反汇编程序,可以执行字节码的静态分析,能提供比 EVM 操作更高级的抽象。
Solidity 语言的文档生成器。
JavaScript 的 Solidity 解析器
ANTLR 4 解析器生成器的 Solidity 语法
我个人主要atom配合 开发的,下面介绍一下的使用
这里我们使用在线编译器,打开网址
最左边是文件夹管理,里面列出了当前的工作区里的文件,remix可以支持从本地文件夹读取文件。
正中间是工作区,工作区上半部是代码编辑区,在这里可以写solidity合约。
下半部是日志区,在执行智能合约时,会显示transaction相关的信息。在输出日志的时候还可以查看Details和Debug信息。最右边的是功能区,里面有编译,运行,设置和分析以及调试器和支持。
在编译器点击Details可以查看编译细节,里面有NAME,METADATA,BYTECODE,ABI 等一些相关信息。
在设置里面可以选择我们的编译器版本,和一些IDE的使用设置。
其他就不介绍了,使用是很简单的。转载地址:http://jjxca.baihongyu.com/