Solidity 入门】的更多相关文章

Solidity中的基本类型转换(十四)|入门系列 2017/4/29 posted in Solidity入门系列 点击查看原文,获得优化的排版. 隐式转换 如果一个运算符能支持不同类型.编译器会隐式的尝试将一个操作数的类型,转为另一个操作数的类型,赋值同理. 一般来说,值类型间的互相转换只要不丢失信息,语义可通则可转换.下面,我们来看一个整数转换的例子: pragma solidity ^0.4.0; contract Int{ function conversion() returns (…
本节仅以一个简单的智能合约示例,介绍智能合约的基本组成元素,本合约定义一个uint类型的变量,以及对应这个变量的读写函数. 01 pragma solidity >=0.4.0 <0.6.0; 02 03 contract SimpleStorage { //使用关键字contract定义合约结构体 04 uint storedData; //定义一个变量 05 06 function set(uint x) public { //定义关于该变量的设置函数 07 storedData = x;…
Solidity支持条件语句,让程序可以根据条件执行不同的操作.条件语句包括: if if...else if...else if 语法 if (条件表达式) { 被执行语句(如果条件为真) } 示例 展示if语句用法. pragma solidity ^0.5.0; contract SolidityTest { uint storedData; constructor() public { storedData = 10; } function getResult() public view…
与其他语言类似,Solidity语言支持循环结构,Solidity提供以下循环语句. while do ... while for 循环控制语句:break.continue. Solidity – while循环 语法 Solidity 中, while循环的语法如下: while (表达式) { 被执行语句(如果表示为真) } 示例 pragma solidity ^0.5.0; contract SolidityTest { uint storedData; constructor() p…
Solidity – 算术运算符 Solidity 支持的算术运算符,如下表所示: 假设变量A的值为10,变量B的值为20. 序号 运算符与描述 1 + (加)求和例: A + B = 30 2 – (减)相减例: A – B = -10 3 * (乘)相乘例: A * B = 200 4 / (除)相除例: B / A = 2 5 % (取模)取模运算例: B % A = 0 6 ++ (递增)递增例: A++ = 11 7 — (递减)递减例: A– = 9 示例 下面的代码展示了如何使用算…
在上一张我们学习了Truffle项目的创建,部署等相关内容,今天我们就来实战一下. 今天我们要做3件事: 1) 学习搭建一个Solidity IDE(Remix). 2) 使用这个Solidity Ide编写一份智能合约. 3) 在我们前面第1,2,3章中部署的私有网络节点集群中部署这个合约,并能够在不同的节点中调用这个合约. Remix,是一个Solidity开发语言的Ide, 它是一款运行在浏览器端的solidity ide,也是官方推荐使用的ide. 另外还有其它的solidiy ide,…
一个简单的智能合约 先从一个非常基础的例子开始,不用担心你现在还一点都不了解,我们将逐步了解到更多的细节. 存储 contract SimpleStorage { uint storedData; function set(uint x) { storedData = x; } function get() constant returns (uint retVal) { return storedData; } } 在Solidity中,一个合约由一组代码(合约的函数)和数据(合约的状态)组成…
局部变量的作用域仅限于定义它们的函数,但是状态变量可以有三种作用域类型. Public – 公共状态变量可以在内部访问,也可以通过消息访问.对于公共状态变量,将生成一个自动getter函数. Internal – 内部状态变量只能从当前合约或其派生合约内访问. Private – 私有状态变量只能从当前合约内部访问,派生合约内不能访问. 示例 pragma solidity ^0.5.0; contract C { uint public data = 30; uint internal iDa…
Solidity 支持三种类型的变量: 状态变量 – 变量值永久保存在合约存储空间中的变量. 局部变量 – 变量值仅在函数执行过程中有效的变量,函数退出后,变量无效. 全局变量 – 保存在全局命名空间,用于获取区块链相关信息的特殊变量. Solidity 是一种静态类型语言,这意味着需要在声明期间指定变量类型.每个变量声明时,都有一个基于其类型的默认值.没有undefined或null的概念. 状态变量 变量值永久保存在合约存储空间中的变量. pragma solidity ^0.5.0; co…
在用任何语言编写程序时,都需要使用变量来存储各种信息.变量是内存空间的名称,变量有不同类型,例如整型.字符串类型等等.操作系统根据变量的数据类型分配内存. Solidity中,变量类型有以下几大类: 值类型 地址类型 引用类型 值类型 类型 保留字 取值 布尔型 bool true/false 整型 int/uint 有符号整数/无符号整数. 整型 int8 to int256 8位到256位的带符号整型数.int256与int相同. 整型 uint8 to uint256 8位到256位的无符…