赞
踩
智能合约(Smart Contract),是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约部署在区块链节点,当智能合约中设定的事件被触发时,智能合约就会自动执行,此过程无需第三方参与。
在编写智能合约的语言当中最火的就是solidity语言。Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。Solidity 是静态类型语言,支持继承、库和复杂的用户定义类型等特性。
它的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又有很多的不同,下面列举一些:
Address
的类型。用于定位用户,定位合约,定位合约的代码(合约本身也是一个帐户)。payable
,可以在语言层面直接支持支付,而且超级简单。代码示例:
- pragma solidity >=0.4.22 <0.6.0;
- contract returnmanyresults{
- //返回多个参数。
- function getmanagResult()public pure returns(uint a, uint b, uint c){
- return(1,2,3);
- }
- }
在区块链(二) 基于Ubuntu系统的以太坊客户端环境搭建中已经提到了本地Remix IDE的安装。在这里不在陈述。介绍一下Remix IDE的使用。
Remix IDE启动:
Remix IDE启动之后在浏览器打开:http://localhost:8080/进入如下界面:
和大多数 IDE 一样,最左边是文件浏览,中间是代码编辑区域,右边是功能区域,下边是日志区域。在右侧的功能区域,常用的是 Compile
、Run
及 Debuger
几个标签页(Tab)。在 Compile
页,会动态的显示当前编辑区域合约的编译信息,如显示错误和警告。编译的直接码信息及 ABI 接口可以通过点击 Details
查看到。
切换到Run界面进行合约部署和测试:
至此,智能合约的编写、编译,部署、测试已经完成。
下一篇文章我们介绍如何在以太坊客户端部署我们编译好的合约。进行合约部署之前我们要拿到合约的abi和字节码。
1.我们在智能合约的编译界面点击abi,会自动复制当前合约的abi。
2.合约的字节码则通过点击 Details
查看bytecode中的object。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。