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以及环境搭建:
不再维护:
我个人主要atom配合 Remix开发的,下面介绍一下Remix的使用
这里我们使用在线编译器,打开网址
image
最左边是文件夹管理,里面列出了当前的工作区里的文件,remix可以支持从本地文件夹读取文件。
正中间是工作区,工作区上半部是代码编辑区,在这里可以写solidity合约。 下半部是日志区,在执行智能合约时,会显示transaction相关的信息。在输出日志的时候还可以查看Details和Debug信息。
最右边的是功能区,里面有编译,运行,设置和分析以及调试器和支持。
在编译器点击Details可以查看编译细节,里面有NAME,METADATA,BYTECODE,ABI 等一些相关信息。
image
在设置里面可以选择我们的编译器版本,和一些IDE的使用设置。 其他就不介绍了,使用是很简单的。