
Solidity智能合约入门
基于Solidity编程的基础语法、OOP设计、智能合约开发部署等技术文章分享
lsqzedu
专注Python、区块链技术文章分享
展开
-
01_以太坊概念入门
文章目录以太坊概念介绍产生背景 (区块链1.0时代)什么是以太坊 (区块链2.0时代)以太坊的特点智能合约与一般程序的区别以太坊概念介绍产生背景 (区块链1.0时代)比特币开创了去中心化密码货币的先河,时间充分验证了区块链技术的可行性和安全性.然而比特币并不完美比特币网络中只有一种符号,只支持比特币流通.缺乏应用层面的想象空间比特币仅仅只能存储交易数据.不足以构建更高级应用什...原创 2020-03-08 10:18:08 · 1909 阅读 · 1 评论 -
02_如何计算叔块奖励
文章目录叔块、与奖励计算临时分叉叔块的由来如何计算奖励叔块、与奖励计算临时分叉区块链由于是一种去中心化的技术,全世界所有的矿工同时工作,各自独立的挖掘满足要求的区块。由于是各自独立的工作,就有可能出现两个独立的矿工在同一时间挖出了同一个区块,就像下面这种情况,被称为临时分叉。区块链是个势利眼,只承认最长的链,黄色和绿色的区块谁先有后继区块,变成最长的链,谁就会被承认叔块的由来...原创 2020-03-09 10:59:33 · 1085 阅读 · 0 评论 -
03_值类型与引用类型
文章目录值类型与引用类型Solidity语言特点数据类型分类代码演示值类型演示测试数据类型类型引用类型注意事项 (重要)引用类型之memory测试引用类型之storage测试值类型与引用类型Solidity语言特点没有main、没有多线程、合约与合约里面的函数都是通过地址调用语法简单、类似javascript不成熟,但版本更新较快,且兼容性不太好具备面向对象特性:封装、继承、多态...原创 2020-03-02 18:20:11 · 796 阅读 · 0 评论 -
04_固定数组与动态数组
文章目录固定数组固定数组概念固定数组实现动态数组动态数组代码实现固定数组数组是数据类型, 但更具体的说,它是依赖其它数据类型的数据结构(数组指的是相同类型的数值组),Solidity中的数组可以是固定数组或者动态数组固定数组概念可以声明时指定长度,或者是变长的。对storage1的数组来说,元素类型可以是任意的,类型可以是数组,映射类型,数据结构等。但对于memory 的数组来说。...原创 2020-03-11 12:13:29 · 749 阅读 · 0 评论 -
05_函数、事件与日志
文章目录函数(Function Types)函数概念函数格式定义 (重点)函数格式测试事件与日志 (重点)事件与日志的意义创建事件且调用产生日志查看控制台日志函数(Function Types)函数概念在Solidity中函数是一种特殊数据类型(值类型)还可以将一个函数作为参数进行传递。也可以在函数调用中返回一个函数。函数名本质就是这段语句块在内存中的地址。函数格式定义 (重...原创 2020-03-03 18:23:56 · 358 阅读 · 0 评论 -
06_Solidity面向对象编程
文章目录面向对象介绍继承抽象合约接口面向对象案例面向对象需求分析面向对象实现面向对象介绍继承Solidity 支持多重继承包括多态当一个合约从多个合约继承时,在区块链上只有一个合约被创建Solidity 的继承系统与 Python的继承系统 非常 相似,特别是多重继承方面抽象合约抽象合约可以包含已实现的函数也可以包含抽象函数,抽象函数是没有函数体的的函数。如果一个合约从一个...原创 2020-03-04 13:13:51 · 522 阅读 · 0 评论 -
07_智能合约转账实现
文章目录合约转账address类型全局变量合约销毁修饰器完整代码如下合约转账address类型注意在solidty0.5以后的版本,address已做了重大更新,普通的address不在支持转账功能,如需转账采用address payable 类型代替address:保存一个20字节的值(以太坊地址的大小)。address payable :可支付地址,与 address 相同...原创 2020-03-05 13:05:09 · 4049 阅读 · 2 评论 -
08_映射与结构体
文章目录结构体映射映射与结构体实现结构体Solidity提供struct来定义自定义类型,结构体中只包含数据类型不能包含变量和函数。映射映射类型在声明时的形式为 mapping(_KeyType => _ValueType)。 其中 _KeyType 可以是任何基本类型,即可以是任何的内建类型加上bytes and string。 而用户定义的类型或复杂的类型如:合约类型、枚举、映...原创 2020-03-11 12:28:27 · 829 阅读 · 0 评论 -
09_投票案例实战
文章目录投票需求介绍投票初始化投票逻辑实现投票需求介绍以下的合约有一些复杂,但展示了很多Solidity的语言特性。它实现了一个投票合约。 当然,电子投票的主要问题是如何将投票权分配给正确的人员以及如何防止被操纵。 我们不会在这里解决所有的问题,但至少我们会展示如何进行委托投票,同时,计票又是 自动和完全透明的。我们的想法是为每个(投票)表决创建一份合约,为每个选项提供简称。 然后作为合约...原创 2020-03-11 13:15:15 · 575 阅读 · 0 评论 -
10_众筹合约实现
文章目录ICO众筹介绍众筹合约初始化众筹合约实现ICO众筹介绍ICO(Initial Crypto-Token Offering,首次代币众筹)被认为是区块链生态内生的一种新型投融资方式,概念起源于IPO,只不过募集的货币变为比特币、以太坊等通用数字货币,从而支持项目的开发成本。目前对于ICO没有统一的定义, 一般而言,ICO指区块链初创项目在区块链平台上发行项目独有的加密代币,投资者通过...原创 2020-03-11 13:21:41 · 841 阅读 · 0 评论