Solidity语言

Solidity是一种智能合约高级语言,运行在Ethereum虚拟机(EVM)之上。语法接近JavaScript,是一种面向对象的语言,不说别的力,了解区块链基础知识和智能合约的大概应用场景就可以直接上手力,上代码!

简单的Solidity代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
pragma solidity >=0.4.20 <0.7.0;
contract Coin {
//关键字“public”使变量能从合约外部访问。
address public minter;
mapping (address => uint) public balances;

event Sent(address from, address to, uint amount);

constructor() public{
minter = msg.sender;
}
function mint(address receiver, uint amount) public {
if (msg.sender != minter) return;
balances[receiver] += amount;
}
function send(address receiver, uint amount) public{
if (balances[msg.sender] < amount) return;
balances[msg.sender] -= amount;
balances[receiver] += amount;
emit Sent(msg.sender, receiver, amount);
}

}

合约部署与测试工具

简单介绍两种方法,第一种是采用remix,这个是浏览器就可以访问的在线IDE,可以用java虚拟机建立区块链,还会自动建立5个账户进行测试,合约编译后部署到链上就可以直接调用合约里的函数了,十分方便,但是在和本地区块链交互时速度很慢,只适用于小型的检测(俺觉得)

Remix

第二种也是俺们正在用的采用truffle和ganache进行开发。

Truffle是针对基于以太坊的Solidity语言的一套开发框架

安装方式:

1
$ npm install -g truffle

未完待续。。。