投资有风险 入市需谨慎
APP
下载火星财经客户端

扫描下载APP

微信公众号
火星财经二维码 火星财经

智能合约基础语言:Solidity概述和开发工具的使用

链块学院 ·

09月14日

热度: 19068

Solidity 是一门为实现智能合约而创建的高级编程语言。

智能合约基础语言:Solidity概述和开发工具的使用

一、目录

☛Solidity的概述

☛Solidity开发工具remix的使用

☛Solidity本地开发工具remix安装

二、Solidity的概述

Solidity 是一门为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。

Solidity 是静态类型语言,支持继承、库和复杂的用户定义类型。 (静态语言——每个变量包括局部和状态变量都需要在编译时指定变量类型或至少可以推导出类型)

以太坊底层是基于帐户,而非UTXO的,所以有一个特殊的Address的类型。用于定位用户,定位合约,定位合约的代码(合约本身也是一个帐户)。

由于语言内嵌框架是支持支付的,所以提供了一些关键字,如payable,可以在语言层面直接支持支付,而且超级简单。

存储是使用网络上的区块链,数据的每一个状态都可以永久存储,所以需要确定变量使用内存,还是区块链。

运行环境是在去中心化的网络上,会比较强调合约或函数执行的调用的方式。因为原来一个简单的函数调用变为了- 一个网络上的节点中的代码执行,分布式的感觉。

最后一个非常大的不同则是它的异常机制,一旦出现异常,所有的执行都将会被回撤,这主要是为了保证合约执行的原子性,以避免中间状态出现的数据不一致。

三、第一个实例

智能合约基础语言:Solidity概述和开发工具的使用

四、如何编写Solidity

目前尝试 Solidity 编程的最好的方式是使用 Remix (需要时间加载,请耐心等待)。Remix 是一个基于 Web 的 IDE,它可以让你编写 Solidity 智能合约,然后部署并运行该智能合约。

五、Solidity开发工具remix的使用

Solidity智能合约开发的IDE有很多,官方推荐的Remix是基于浏览器的。

1.官方工具:

[http://remix.ethereum.org/#optimize=false&version=soljson-v0.4.24+commit.e67f0147.js]

2.操作:手动编译、自动编译、选择合约、查看编译详情、选择运行环境、部署合约、函数调用、调试

3.Remix分两个版本, 在线版和本地安装版. 在线使用最方便直接用浏览器打开上边的地址。 安装版的界面和可以安装到本地, 安装的方式如下:

六、Solidity本地开发工具remix安装

6.1 安装步骤

1.1.1 安装nodejs

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。可以在这个环境中运行JavaScript编写的程序。 NPM 是Node.js 的包管理器,是全球最大的开源库生态系统,可以安装各种JavaScript编写的程序。而本地版的remix就是用JavaScript编写的工具,因此依赖nodejs运行环境。另外remix还用到了python语言编写的模块,所以还需要安装python。

因此彼此的依赖关系是:

智能合约基础语言:Solidity概述和开发工具的使用

安装Python的步骤: 

https://www.runoob.com/python/python-install.html

安装nodejs的步骤:

https://www.runoob.com/nodejs/nodejs-install-setup.html

安装成功后打开终端查看版本号:

智能合约基础语言:Solidity概述和开发工具的使用

6.1.2 安装remix-ide

智能合约基础语言:Solidity概述和开发工具的使用

6.1.3 修改文件夹权限(Windows省略此步骤)

智能合约基础语言:Solidity概述和开发工具的使用

6.1.4 下载安装包

https://github.com/ethereum/remix-ide下载安装包解压。

智能合约基础语言:Solidity概述和开发工具的使用

6.1.5 启动remix

启动remix,然后打开http://127.0.0.1:8080编辑solidity。

智能合约基础语言:Solidity概述和开发工具的使用

智能合约基础语言:Solidity概述和开发工具的使用



文章声明:本文为火星财经专栏作者作品,不代表火星财经观点,版权归作者所有,如需转载,请提前联系作者或注明出处。

推广
相关新闻

涨幅榜

你可能感兴趣的内容
下一篇

链塔智库:2018区块链社交网络行业研究报告