学习笔记
文章平均质量分 57
熙风区块链
这个作者很懒,什么都没留下…
展开
-
我的第一个智能合约
今天是2018.02.12,21:11,我开始记录我的智能合约学习过程。一个很简单的智能合约事例:contract HelloWorld{ uint balance; function update(uint amount) returns (address,uint){ balance +=amount; return(msg.sender,balance...原创 2018-02-12 21:32:55 · 555 阅读 · 0 评论 -
利用truffle框架部署智能合约
本人开发环境为windows7,开发过程中遇到很多坑,特写此文给需要的人! 1、安装node.js和atom编辑器 2、安装truffle框架和testrpc测试环境:npm install -g ethereumjs-testrpc truffle,如果进度卡住,那么一般就是网络原因(墙),需要安装cnpm:npm install cnpm -g --registry=https://reg...原创 2018-03-01 22:56:27 · 6880 阅读 · 0 评论 -
1
pragma solidity ^0.4.8;contract ERC20Interface { function totalSupply() public constant returns (uint256 supply); function balance() public constant returns (uint256); function balanceOf...原创 2018-03-08 23:06:35 · 418 阅读 · 0 评论 -
Solidity基础入门知识(八)结构体structs
自定义结构体pragma solidity ^0.4.4;contract Students { struct Person { uint age; uint stuID; string name; }}Person就是我们自定义的一个新的结构体类型,结构体里面可以存放任意类型的值。怎么理解结构体:如果我们要描述一个人,需要...原创 2018-02-21 10:38:42 · 8877 阅读 · 2 评论 -
Solidity基础入门知识(十)函数的访问权限和可见性
在之前的文章中我们介绍了Solidity语言函数的一些基本语法。下面来继续介绍作为一个分布式网络语言所特有的internal和external这两种不同的函数调用方式,以及Solidity提供的对函数调用时的可见性控制语法。一、 调用方式Solidity封装了两种函数的调用方式internal和external。internalinternal调用,实现时转为简单的EVM跳转,所以它能直接使用上下...原创 2018-02-21 15:47:26 · 1999 阅读 · 0 评论 -
Solidity基础入门知识(六)动态大小字节数组
一、动态大小字节数组string 是一个动态尺寸的UTF-8编码字符串,它其实是一个特殊的可变字节数组,string是引用类型,而非值类型。bytes 动态字节数组,引用类型。根据经验,在我们不确定字节数据大小的情况下,我们可以使用string或者bytes,而如果我们清楚的知道或者能够将字节数控制在bytes1 ~ bytes32,那么我们就使用bytes1 ~ bytes32,这样的话能够降低...原创 2018-02-19 19:26:00 · 2885 阅读 · 0 评论 -
Solidity基础入门知识(四)枚举、存储类型和数组
今天米切尔致敬卡特转身成功问鼎扣篮王,可惜只有形而无神,就连形都差点意思--!枚举类型:一个变量可能的取值都知道,就可以把它定义为枚举型,然后把变量的值一一列出来,令变量的值只限于列举出来的值的范围内。例如月份、星期几、天气等情况,枚举类型用enum关键字来定义。例子:enum weekday{sun,mon,tue,wed,the,fri,sat};上面声明了一个枚举类型weekday,花括号中...原创 2018-02-18 20:52:07 · 2527 阅读 · 0 评论 -
solidity基础入门知识(二)值类型与引用类型
今天是大年三十,第一次不在家过年,别有一番滋味!我们先来看看有哪些类型属于值类型,哪些属于引用类型。值类型(Value Type)值类型包含:布尔(Booleans)整型(Integer)地址(Address)定长字节数组(fixed byte arrays)有理数和整型(Rational and Integer Literals,String literals)枚举类型(Enums)函数(Fun...原创 2018-02-15 11:41:16 · 2859 阅读 · 0 评论 -
Solidity基础入门知识(九)映射mapping
solidity里的映射可以理解为python里的字典,建立键-值的对应关系,可以通过键来查找值,键必须是唯一的,但值可以重复。定义方式为:mapping(键类型=>值类型),例如mapping(address=>uint) public balances,这个映射的名字是balances,权限类型为public,键的类型是地址address,值的类型是整型uint,在solidi...原创 2018-02-21 11:41:59 · 19300 阅读 · 0 评论 -
Solidity基础入门知识(七)数组Array
固定长度的数组(Arrays)固定长度类型数组的声明pragma solidity ^0.4.4;contract C { // 数组的长度为5,数组里面的存储的值的类型为uint类型 uint [5] T = [1,2,3,4,5];}通过length方法获取数组长度遍历数组求总和pragma solidity ^0.4.4;contract C { // ...原创 2018-02-21 09:29:02 · 4078 阅读 · 0 评论 -
solidity基础入门知识(一)整型和地址
1.solidity文件的扩展名为.sol2.pragma solidity^0.4.0;表示源程序在大于等于0.4.0版本的编译器中可以正常工作,在大于等于0.5.0版本的编译器中无法工作。3.数据类型:solidity是静态语言,所有变量在定义的时候需要定义好数据类型(1)整数:常用的无符号整数类型有uint8,uint16,uint24......uint256(uint默认的是uint25...原创 2018-02-13 21:22:02 · 1860 阅读 · 0 评论 -
Solidity基础知识入门(五)固定大小字节数组
固定大小字节数组(Fixed-size byte arrays)固定大小字节数组可以通过 bytes1, bytes2, bytes3, …, bytes32来进行声明。PS:byte的别名就是 bytes1。注意:固定大小字节数组和可变字节数组可以简单的理解为一串字母和数字,与其他语言的数组(array:[1,2,3])不同,其后要说到的数组类型和其他语言的数组一致。--!bytes1只能存储一...原创 2018-02-19 18:32:22 · 1200 阅读 · 0 评论 -
Solidity基础入门知识(三)字符串和函数
字符串:需要使用双引号“”或者单引号’’括起来,例如:定义一个字符串变量:string name=“jake”;string字符串不能通过length方法获得长度十六进制数据:以关键字hex打头,后面紧跟用单或双引号包裹的字符串。如hex"001122ff"。通过下面的例子来理解下是什么意思:contract HexLiteral{ function test() returns (st...原创 2018-02-17 20:18:09 · 4511 阅读 · 0 评论 -
搭建私链简要记录
今天成功搭建了一个私链并进行挖矿和转账,做个简单记录,明天写详细教程!1、mkdir private-geth cd private-geth 在文件夹内新建一个txt,输入以下代码:{ "coinbase": "0x0000000000000000000000000000000000000000", "config": { "homes...原创 2018-03-02 22:58:20 · 725 阅读 · 0 评论