自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

The_Reader的博客

区块链从零到精通

  • 博客(14)
  • 收藏
  • 关注

原创 宠物商店分析与合约实现

背景:wek有一个宠物店,最多可以同时托管16只宠物。他希望可以利用以太坊开发一个去中心化应用,让大家来领养宠物。Truffle Box已经提供了框架代码,我们只需要开发智能合约和接口交互部分。环境搭建https://blog.csdn.net/The_Reader/article/details/83187194安装Ganache,链接:http://truffleframewo...

2018-10-30 08:33:48 885

原创 solidity中的Mapping遍历 案例

pragma solidity ^0.4.18;// mapping 遍历库library IterableMapping { // 增、删、改、查 struct itmap { uint size; mapping(uint => IndexValue) data; KeyFlag []keys; /...

2018-10-29 14:12:22 8645

原创 DAPP与传统web开发的区别

 web架构:运行TCP/IP四层,在TCP/IP网络上传递数据。Dapp架构:在TCP/IP基础上添加价值转移层,Dapp天然具有价值转移的功能。    Web应用 DAPP应用 前端 HTML/CSS/JS HTML/CSS/JS 逻辑层 ...

2018-10-22 19:51:19 505

原创 Truffle开发框架

Web3.js概念:与以太坊进行合约交互的javaScript的api作用:以太坊节点只能识别一种JSON-RPC的语言,但JSON-RPC写起来很麻烦,也很容易出错,所以通过web3.js来进行封装,这样就只需要与web3.js进行交互就可以了。英文文档:https://web3js.readthedocs.io/en/1.0/Truffle开发框架概念:Truffle是针对...

2018-10-21 14:56:56 999

原创 Solidity语言学习——(六)

Solidity面向对象面向对象:oo编程,正对过程而言。特点:封装,继承,多态。Solidity中的面向对象:继承:在solidity中,继承就是合约与合约之间的一种特殊的传递关系。通过is关键字实现继承,子合约(派生合约)可以访问父合约中所有非private的状态变量与函数。继承支持参数的传递。solidity支持多重继承,但是多重继承中不能有同名的合约,如果一个合约继承了多个...

2018-10-19 19:48:07 402

原创 Solidity语言学习——(五)

控制语句solidity中所支持的控制语句:if else , for , while,do while,三目运算符。不支持switch语句。直接通过案例学:// forcontract For { // 等差数列求和 function getSum(uint n, uint x) public returns(uint sum) { for ...

2018-10-18 19:37:39 770

原创 Solidity语言学习——(四)

结构体特点:结构体也是solidity中的自定义数据,它包含基本类型与复杂类型。注:在solidity中结构体类型不能作为返回值来进行返回,只能是返回其指定属性。案例:pragma solidity ^0.4.18;contract structdemo{ struct Bank{ address addr; uint b...

2018-10-17 16:35:29 425

原创 Solidity语言学习——(三)

智能推断:使用var关键字时,第一次赋值给变量,编译器会自动推断变量的类型,而且推断后不能更改这个变量的类型了,如果更改了就会出错,还有就是不能在函数参数中使用。注意:有时候var会推断出一个错误的类型。案例:pragma solidity ^0.4.18;contract Var{ function vardemo() view returns(bool){...

2018-10-17 14:26:22 363

原创 Solidity语言学习——(二)

布尔类型 跟其他语言一样,取值范围为:ture与false Address类型 代表以太坊的地址,长度为20个字节,160位 ,uint160是所有地址都可以用的类型话不多说,直接上案例:contract addr { address addr=0x8cC758f5a41bdF6Ab749944c737F86e6a4B4070B; fu...

2018-10-15 22:25:31 369

原创 solidity语言学习——(一)

Solidity简介Solidity是一门编写智能合约的高级语言,它的语法接近于javaScript,是一种面向对象的语言,以太坊做区块链2.0的典型代表,Solidity在以太坊中是撰写智能合约最受欢迎的语言,因此今天我们就和大家介绍一下这个作为智能合约开发中最主流的语言。Solidity是运行在EVM(ethereum虚拟机)上的一门语言。它虽然跟javaScript很相似,但是呢,它...

2018-10-15 20:42:19 614

原创 go语言命令行操作

当我们想要写出一个程序来时,并想要实现一部分功能,就可以使用命令行来操作,让其实现想要实现的功能。那么,我们应该怎么操作呢首先我先用os.args写一个小案例//命令行参数获取func main() { args := os.Args fmt.Printf("%v\t",args) if len(args)>=2{ for i,v:=range args{ ...

2018-10-09 19:22:06 878

原创 BoltDB

1.简介BoltDB是一个嵌入式key/value的数据库,即只需要将其链接到你的应用程序代码中即可使用BoltDB提供的API来高效的存取数据。而且BoltDB支持完全可序列化的ACID事务,让应用程序可以更简单的处理复杂操作。BoltDB设计源于LMDB,具有以下特点:直接使用API存取数据,没有查询语句; 支持完全可序列化的ACID事务,这个特性比LevelDB强; 数据保存...

2018-10-09 18:43:19 1380

原创 Go语言实现base64编码

package mainimport ( "encoding/base64" "fmt")func main() { var msg =[]byte("i am the reader!") encoding := base64.StdEncoding.EncodeToString(msg) fmt.Println(encoding) bytes, e := base64.S...

2018-10-08 20:01:19 1606

原创 SHA256与ripemd160两种算法应用

 package mainimport ( "crypto/sha256" "fmt" "encoding/hex" "golang.org/x/crypto/ripemd160")func main() { hashed := sha256.New() hashed.Write([]byte("i am wek")) hash := hashed.Sum(nil)...

2018-10-08 19:41:14 2343

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除