……

随笔分类 -  区块链

入门到实战
区块链入门到实战(38)之Solidity – 条件语句
摘要:Solidity支持条件语句,让程序可以根据条件执行不同的操作。条件语句包括: if if...else if...else if 语法 if (条件表达式) { 被执行语句(如果条件为真) } 示例 展示if语句用法。 pragma solidity ^0.5.0; contract Solidi 阅读全文
posted @ 2020-06-23 16:53 大码王 阅读(815) 评论(0) 推荐(0) 编辑
区块链入门到实战(37)之Solidity – 循环语句
摘要:与其他语言类似,Solidity语言支持循环结构,Solidity提供以下循环语句。 while do ... while for 循环控制语句:break、continue。 Solidity – while循环 语法 Solidity 中, while循环的语法如下: while (表达式) { 阅读全文
posted @ 2020-06-23 16:49 大码王 阅读(1565) 评论(0) 推荐(0) 编辑
区块链入门到实战(36)之Solidity – 运算符
摘要:Solidity – 算术运算符 Solidity 支持的算术运算符,如下表所示: 假设变量A的值为10,变量B的值为20。 序号运算符与描述 1 + (加)求和例: A + B = 30 2 – (减)相减例: A – B = -10 3 * (乘)相乘例: A * B = 200 4 / (除) 阅读全文
posted @ 2020-06-23 16:35 大码王 阅读(842) 评论(0) 推荐(0) 编辑
区块链入门到实战(35)之Solidity – 变量作用域
摘要:局部变量的作用域仅限于定义它们的函数,但是状态变量可以有三种作用域类型。 Public – 公共状态变量可以在内部访问,也可以通过消息访问。对于公共状态变量,将生成一个自动getter函数。 Internal – 内部状态变量只能从当前合约或其派生合约内访问。 Private – 私有状态变量只能从 阅读全文
posted @ 2020-06-23 16:31 大码王 阅读(338) 评论(0) 推荐(0) 编辑
区块链入门到实战(34)之Solidity – 变量
摘要:Solidity 支持三种类型的变量: 状态变量 – 变量值永久保存在合约存储空间中的变量。 局部变量 – 变量值仅在函数执行过程中有效的变量,函数退出后,变量无效。 全局变量 – 保存在全局命名空间,用于获取区块链相关信息的特殊变量。 Solidity 是一种静态类型语言,这意味着需要在声明期间指 阅读全文
posted @ 2020-06-23 16:30 大码王 阅读(810) 评论(0) 推荐(0) 编辑
区块链入门到实战(33)之Solidity – 数据类型
摘要:在用任何语言编写程序时,都需要使用变量来存储各种信息。变量是内存空间的名称,变量有不同类型,例如整型、字符串类型等等。操作系统根据变量的数据类型分配内存。 Solidity中,变量类型有以下几大类: 值类型 地址类型 引用类型 值类型 类型保留字取值 布尔型 bool true/false 整型 i 阅读全文
posted @ 2020-06-23 16:28 大码王 阅读(311) 评论(0) 推荐(0) 编辑
区块链入门到实战(32)之Solidity – 代码注释
摘要:Solidity 支持c风格和c++风格的注释。 //之后到行尾的文本,都被看作注释,编译器忽略此内容 /* 与 */ 之间的文本被看作注释, 编译器忽略此内容 示例 注释示例。 function getResult() public view returns(uint){ // 这是一行注释,类似 阅读全文
posted @ 2020-06-23 16:27 大码王 阅读(283) 评论(0) 推荐(0) 编辑
区块链入门到实战(31)之Solidity – 第一个程序
摘要:为简单起见,我们使用在线Solidity开发工具Remix IDE编译和运行Solidity程序。 第1步 – 在File explorers选项卡下,新建一个test1.sol文件,代码如下: 示例 pragma solidity ^0.5.0; contract SolidityTest { c 阅读全文
posted @ 2020-06-23 16:26 大码王 阅读(403) 评论(0) 推荐(0) 编辑
区块链入门到实战(30)之Solidity – 基础语法
摘要:一个 Solidity 源文件可以包含任意数量的合约定义、import指令和pragma指令。 让我们从一个简单的 Solidity 源程序开始。下面是一个 Solidity 源文件的例子: pragma solidity >=0.4.0 <0.6.0; contract SimpleStorage 阅读全文
posted @ 2020-06-22 17:40 大码王 阅读(560) 评论(0) 推荐(0) 编辑
区块链入门到实战(29)之Solidity – 环境搭建
摘要:在线开发环境Remix(推荐) 学习Solidity推荐使用在线开发环境Remix,本教程的例子将使用Remix开发运行。 安装本地编译器 安装 nodejs / npm node官方网站下载node,推荐LTS版本,按提示完成安装,npm会同时装上。 验证Node版本: Kevin@QIKEGU 阅读全文
posted @ 2020-06-22 17:33 大码王 阅读(563) 评论(0) 推荐(0) 编辑
区块链入门到实战(28)之Solidity – 介绍
摘要:Solidity语言是一种面向合约的高级编程语言,用于在以太坊区块链网络上实现智能合约。Solidity语言深受c++、Python和JavaScript的影响,针对以太坊(Ethereum)虚拟机(EVM)设计。 Solidity语言是静态类型语言,支持继承、库和复杂的用户定义类型。 可以使用So 阅读全文
posted @ 2020-06-22 17:22 大码王 阅读(783) 评论(0) 推荐(0) 编辑
区块链入门到实战(27)之以太坊(Ethereum) – 智能合约开发
摘要:智能合约的优点 与传统合同相比,智能合约有一些显著优点: 不需要中间人 费用低 代码就是规则 区块链网络中有多个备份,不用担心丢失 避免人工错误 无需信任,就可履行协议 匿名履行协议 以太坊(Ethereum) – 智能合约开发概述 支持智能合约的区块链 虽然以太坊(Ethereum)是最流行支持智 阅读全文
posted @ 2020-06-22 16:09 大码王 阅读(1795) 评论(0) 推荐(0) 编辑
区块链入门到实战(26)之以太坊(Ethereum) – 挖矿
摘要:以太坊(Ethereum)与其他公共区块链一样,使用工作量证明机制确保区块链网络正常运行。 矿工进行工作量证明计算,即挖矿,来选择区块,写入区块链,确认交易。 交易过程如下图所示: 从技术角度来看,以太坊使用的工作量证明算法称为Ethash,这是一种哈希算法,灵感来自Dagger-Hashimoto 阅读全文
posted @ 2020-06-22 15:44 大码王 阅读(353) 评论(0) 推荐(0) 编辑
区块链入门到实战(25)之以太坊(Ethereum) – 以太币单位
摘要:以太币的主要单位是以太/Ether,即一个以太币,以太币的最小单位是wei。 以太币最小单位 wei 是以虚拟币先驱人物:戴伟 Wei Dai 命名,戴伟 W Dai 是一位兴趣广泛的密码学专家,他在 1998 年发明了 B-money 匿名的、分布式的电子加密货币系统,强调点对点的交易和不可更改的 阅读全文
posted @ 2020-06-22 15:43 大码王 阅读(470) 评论(0) 推荐(0) 编辑
区块链入门到实战(24)之以太坊(Ethereum) – 网络节点
摘要:用途: 全节点:用于区块和交易的校验 轻节点:电子钱包 以太坊(Ethereum)网络是一个公共的区块链网络,网络中包含2种网络节点: 全节点 轻节点 全节点 包含了从初始区块开始的全部区块,这些区块中包含了所有的交易历史记录,这些信息是区块链完整性的证据,可用于区块和交易的校验。通常矿工节点应该是 阅读全文
posted @ 2020-06-22 15:42 大码王 阅读(510) 评论(0) 推荐(0) 编辑
区块链入门到实战(23)之以太坊(Ethereum) – 虚拟机架构
摘要:以太坊(Ethereum)网络中,定义了一组通用协议用于支持智能合约的运行,其核心便是以太坊(Ethereum)虚拟机。 下图解释了该架构: 开发人员使用Solidity等开发语言开发智能合约 源程序被编译成以太坊虚拟机支持的字节码可执行程序 可执行程序被部署到网络中,即写入区块,并被分配一个账号( 阅读全文
posted @ 2020-06-22 15:15 大码王 阅读(424) 评论(0) 推荐(0) 编辑
区块链入门到实战(22)之以太坊(Ethereum) – 账号(地址)
摘要:作用: 外部账号 – 用户使用的账号,账户余额。 合约账号 – 智能合约使用的账号,每个智能合约都有一个账号,内存和账户余额 以太坊(Ethereum)网络中,有2种账号: 外部账号 – 用户使用的账号 合约账号 – 智能合约使用的账号,每个智能合约都有一个账号 这些账号,都被称为状态对象/stat 阅读全文
posted @ 2020-06-22 15:14 大码王 阅读(626) 评论(0) 推荐(0) 编辑
区块链入门到实战(21)之以太坊(Ethereum) – 分布式应用(DApp)
摘要:作用:用户交互 分布式应用(DApp)是运行在区块链之上的应用程序,支持区块链网络中用户之间的交互。 DApp(decentralized application)的后端代码运行在区块链网络上,这个可以与普通互联网应用比较一下,普通互联网应用的后端代码运行在集中式的服务器上。 DApp可以使用任何语 阅读全文
posted @ 2020-06-22 15:11 大码王 阅读(380) 评论(0) 推荐(0) 编辑
区块链入门到实战(20)之以太坊(Ethereum) – 虚拟机(E.V.M.)
摘要:作用:执行智能合约代码的引擎 以太坊(Ethereum)虚拟机是执行智能合约代码的引擎。 可以用某种语言,例如Solidity语言,开发智能合约程序,编译成以太坊(Ethereum)虚拟机支持的字节码/bytecode,然后该程序就可以在虚拟机中执行了。 以太坊(Ethereum)虚拟机可以被看做是 阅读全文
posted @ 2020-06-22 15:10 大码王 阅读(407) 评论(0) 推荐(0) 编辑
区块链入门到实战(19)之以太坊(Ethereum) – 以太币
摘要:以太币的作用:防范以太坊网络被滥用和激励矿工。 与比特币网络有比特币类似,以太坊(Ethereum)也有自己的虚拟币 — 以太币。 以太币的主要作用有2个: 应用程序执行任何操作都需要支付以太币,防范以太坊网络被滥用。 与比特币类似,用于激励矿工。 每次执行智能合约时,都需要消耗“汽油/gas”,即 阅读全文
posted @ 2020-06-22 15:09 大码王 阅读(331) 评论(0) 推荐(0) 编辑

复制代码