第一行代码 以太坊PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:李宁编著
- 出 版 社:北京:中国水利水电出版社
- 出版年份:2018
- ISBN:9787517067979
- 页数:311 页
第1章 区块链的基本概念与应用场景 1
1.1基本概念 1
1.1.1去中心化应用(DApp) 1
1.1.2DApp的内部货币 2
1.1.3比特币 2
1.1.4工作量证明(PoW) 3
1.1.5股权证明(PoS) 4
1.1.6 51%攻击 4
1.1.7以太坊 4
1.1.8超级账本项目 5
1.2区块链的应用场景 5
1.2.1金融领域 6
1.2.2征信管理 7
1.2.3资源共享 7
1.2.4物联网 8
1.2.5其他领域 8
1.3小结 9
第2章 创建第一个区块链 10
2.1以太坊(Ethereum)开发环境搭建 10
2.2使用geth命令创建以太坊账户 13
2.3删除以太坊账户 15
2.4geth JavaScript控制台 16
2.5建立私有区块链与挖矿 18
2.6小结 21
第3章 智能合约基础 22
3.1基础知识 22
3.1.1Solidity语言概述 23
3.1.2用Solidity语言开发智能合约 23
3.1.3使用Remix运行智能合约 24
3.2编写和测试智能合约 27
3.2.1安装本地Remix环境(Windows、Mac OS X和Linux) 27
3.2.2安装testrpc 28
3.2.3使用testrpc测试智能合约 29
3.2.4Intellij IDEA Solidity插件 33
3.2.5将Solidity编译工具与Intellij IDEA集成 36
3.3其他智能合约IDE 38
3.3.1Visual Studio扩展 38
3.3.2Visual Studio Code扩展 40
3.3.3Sublime Text插件 42
3.4Solidity工具 42
3.4.1Solidity REPL 42
3.4.2solgraph 43
3.5小结 45
第4章 以太坊节点与挖矿 46
4.1什么是Web3.js 46
4.2安装Web3.js 47
4.3连接testrpc节点 48
4.4连接geth节点 49
4.5HttpProvider与IPCProvider 51
4.6发布与调用智能合约 53
4.6.1编译智能合约 53
4.6.2创建以太坊账户 54
4.6.3用Web3.js API发布智能合约 54
4.6.4挖矿与挣钱 56
4.6.5重新发布智能合约 57
4.7自动编译智能合约 60
4.8小结 64
第5章 以太坊中的Web技术 65
5.1Node.js入门 65
5.1.1使用Node.js REPL 66
5.1.2执行JavaScript脚本文件 66
5.1.3Node.js IDE(WebStorm) 67
5.1.4在WebStorm中编写Node.js程序 68
5.2Express入门 70
5.2.1安装express模块 70
5.2.2使用express模块 72
5.2.3用WebStorm创建Express工程 74
5.2.4为Express工程添加路由 76
5.2.5使用Handlebars模板 78
5.3通过Web方式调用智能合约 78
5.3.1在Web页面中调用智能合约 79
5.3.2在服务端(Node.js)调用智能合约 84
5.3.3通过AJAX方式异步调用智能合约 88
5.4小结 90
第6章 Web3.js API详解 91
6.1基础知识 91
6.1.1Web3.js简介 91
6.1.2Web3.js开发环境搭建 92
6.2Web3 API 93
6.2.1设置和获取Provider 93
6.2.2重置状态 94
6.2.3获取字符串的SHA3哈希码 94
6.2.4将值转换为十六进制字符串 95
6.2.5十六进制与ASCII互相转换 97
6.2.6十六进制与十进制互相转换 98
6.2.7将数值或十六进制字符串转换为BigNumber 98
6.2.8使用BigNumber 99
6.2.9单位转换 101
6.2.10核对账户地址是否有效 103
6.3Web3.eth API 104
6.3.1获取和设置默认账户 104
6.3.2获取和设置默认区块 104
6.3.3获取区块的同步状态 105
6.3.4捕捉区块同步状态 106
6.3.5获取矿工地址 107
6.3.6检测当前节点是否在挖矿 108
6.3.7获取以太坊燃料(gas)的平均价格 109
6.3.8获取以太坊节点中的账号地址 109
6.3.9获取区块编号 110
6.3.10获取账户的余额 112
6.3.11获取地址某一个位置存储的值 113
6.3.12获取指定地址中的代码 113
6.3.13获取区块信息 114
6.3.14获取区块中包含的交易数 116
6.3.15获取交易数据 117
6.3.16获取交易凭证 118
6.3.17获取账户发送的交易数 120
6.3.18向以太坊网络发送交易 120
6.3.19发送签名交易 122
6.3.20用账户对数据进行签名 123
6.3.21执行以太坊虚拟机中的代码 124
6.3.22预估交易消耗的gas数 124
6.3.23如何设置gas、gasLimit和gasPnce 125
6.4小结 128
第7章 Solidity语言详解(一) 129
7.1Solidity语言简介 129
7.2Solidity语言基础 130
7.2.1编译器版本指令(pragma) 130
7.2.2导入其他Solidity源代码文件(import) 132
7.2.3用Web3.js API发布多个智能合约 136
7.2.4用Web3.js API编译多个智能合约 140
7.2.5注释 142
7.3值类型 142
7.3.1布尔类型(bool) 143
7.3.2整数类型(int/uint) 144
7.3.3浮点数(fixed) 145
7.3.4地址类型(address) 145
7.3.5获取余额(balance)与转账(transfer) 146
7.3.6另一种转账的方式(send) 149
7.3.7固定长度的字节序列 150
7.4引用类型 152
7.4.1数据存储位置 152
7.4.2可变长度的字节序列(bytes) 153
7.4.3字符串(string)类型 154
7.4.4使用bytes连接字符串 156
7.4.5使用第三方库连接字符串 158
7.4.6枚举类型(enum) 159
7.4.7函数类型(function) 161
7.4.8数组 164
7.4.9结构体(struct) 168
7.5映射(mapping) 170
7.6小结 172
第8章 Solidity语言详解(二) 173
8.1表达式与控制结构 173
8.1.1函数参数与函数返回值 173
8.1.2控制结构 176
8.1.3调用其他合约中的函数 179
8.1.4函数的命名参数 181
8.1.5通过new关键字创建合约对象 182
8.1.6函数多返回值解构和元组赋值 184
8.1.7变量声明和作用域 185
8.1.8错误处理 186
8.2计量单位与全局变量 187
8.2.1以太计量单位 187
8.2.2时间计量单位 189
8.2.3block变量 190
8.2.4msg变量 191
8.2.5其他全局变量和函数 193
8.3智能合约 194
8.3.1函数和状态变量访问权限 194
8.3.2getter函数 195
8.3.3自定义修饰符(modifier) 197
8.3.4常量 201
8.3.5view函数 202
8.3.6pure函数 204
8.3.7fallback函数 205
8.3.8函数重载 206
8.3.9事件 207
8.3.10合约继承 210
8.3.11合约构造函数 211
8.3.12抽象合约 211
8.3.13接口 213
8.4小结 214
第9章 Truffle与Ganache实战 215
9.1Truffle基础 215
9.1.1安装Truffle 215
9.1.2创建Truffle工程 216
9.1.3Truffle工程的结构 216
9.1.4在Truffle工程中创建自己的合约 217
9.1.5编译合约 218
9.1.6部署合约 219
9.1.7测试合约 219
9.2以太坊客户端 220
9.2.1Truffle内置以太坊客户端 220
9.2.2Ganache概述 221
9.2.3安装Ganache 221
9.2.4用Truffle在Ganache上发布合约 222
9.3Truffle高级应用 224
9.3.1用Solidity编写测试代码 224
9.3.2用JavaScript编写测试代码 227
9.3.3捕捉事件和异常 228
9.3.4使用truffle-contract API调用合约函数 231
9.3.5写Truffle扩展脚本 232
9.4小结 234
第10章 项目实战:在以太坊上发行数字资产 236
10.1数字资产原理 236
10.2代币合约 239
10.2.1ERC20 Token接口 239
10.2.2编写代币合约 242
10.2.3测试代币合约中的函数 245
10.2.4测试代币合约中的事件 247
10.3在以太坊上发布和使用代币 248
10.3.1如何将代币合约部署在以太坊上 249
10.3.2安装MetaMask扩展 250
10.3.3创建以太坊账户 251
10.3.4免费申请无限量的以太(ether) 254
10.3.5在以太坊上部署代币合约 257
10.3.6代币交易 260
10.4用Web3.js API完成Titans币的转账 265
10.5以太币和以太坊代币的区别 269
10.6互联网的未来:DApp 270
10.7小结 271
第11章 项目实战:支持以太坊的小程序版云笔记 272
11.1项目功能概述 272
11.2微信小程序基础 273
11.2.1搭建小程序开发环境 273
11.2.2创建小程序项目 275
11.3云笔记智能合约 277
11.3.1编写和测试云笔记智能合约 277
11.3.2将CloudNoteService合约部署到以太坊网络上 279
11.4用Note.js和Express开发小程序服务端程序 281
11.4.1编写调用CloudNoteService合约函数的Database类 281
11.4.2测试Database类 289
11.4.3为服务添加集中式存储功能 291
11.4.4添加为小程序服务端路由 294
11.5开发云笔记客户端 296
11.5.1设计云笔记主页面 296
11.5.2实现云笔记主页面的逻辑代码 298
11.5.3设计添加云笔记页面 300
11.5.4实现添加云笔记页面的逻辑代码 302
11.5.5设计云笔记列表页面 304
11.5.6实现云笔记列表页面的逻辑代码 305
11.5.7设计云笔记编辑页面 307
11.5.8实现云笔记编辑页面的逻辑代码 309
11.6小结 310
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《代码少女 上》黑眼圈著 2019
- 《现代艺术的源代码=THE SHORT STORY OF MODERN ART》(英)苏西·霍奇著 2020
- 《HTML5,CSS3,JavaScript开发手册》孟庆昌,王津涛编著 2013
- 《成为企业不可或缺的员工 18堂课实现职业的飞跃》(美)格伦·谢泼德著;丁士元,惠凤利,惠守海译 2012
- 《神奇的小侦探 神秘爆炸下的幸存者》尹奇峰著 2013
- 《家电维修完全掌握丛书 电磁炉维修技能完全掌握》孙立群编著 2012
- 《高等学校教材 C语言程序设计》刘达明,陈昌志,王宁等编著 2013
- 《中国古代科学家》刘贵芹,刘向阳编 2006
- 《质量监控与优化理论、算法及应用 基于计算智能视角》崔庆安著 2013
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018