当前位置:主页 > 计算机电子书 > 程序设计 > 以太坊下载
第一行代码:以太坊

第一行代码:以太坊 PDF 影印完整版

  • 更新:2019-10-14
  • 大小:203 MB
  • 类别:以太坊
  • 作者:李宁
  • 出版:水利水电出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

第一行代码:以太坊 PDF

发烧级大神: 51CTO学校金牌讲师、CSDN、51CTO搏客权威专家、宁哥文化教育创办人、知名程序员安踏亲著

超級教学资源:重实效赠予使用价值698元JavaScript在线课程 这书视頻课 整套试验手机软件 本书实例源代码 1对1解释 经常性意外惊喜

全栈专业知识站台拿下:区块链技术、以太币、区块链智能合约、DApp,从定义到实战演练,站台拿下。

满足感满满:从入门到精通,从基础理论到实战演练,一点儿一个,轻轻松松入门,学习培训意外惊喜持续。

这书是1本区块链技术开发设计书籍。这书立足于实战演练,从入门到精通地重零开始解读以太币及有关技术性,包含区块链技术的基本定义和基础理论、运用以太币建立独享区块链技术、撰写区块链智能合约、挖币、Web3.js API、Solidity語言、Truffle架构、Ganache检测连接点等技术性。这书务求浅显易懂,案例丰富多彩,流程详尽。以便协助用户推进基本知识,这书*后还装有2个综合性实例各自保持以太币在金融行业(公布代币)和非银行行业(DApp)的运用。
这书合适于区块链应用的学生及从业人员应用。

目录

  • 第1章  区块链的基本概念与应用场景
  • 1.1  基本概念1
  • 1.1.1  去中心化应用(DApp) 1
  • 1.1.2  DApp的内部货币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章  创建第一个区块链
  • 2.1  以太坊(Ethereum)开发环境搭建 10
  • 2.2  使用geth命令创建以太坊账户 13
  • 2.3  删除以太坊账户 15
  • 2.4  gethJavaScript控制台 16
  • 2.5  建立私有区块链与挖矿 18
  • 2.6  小结 21
  • 第3章  智能合约基础
  • 3.1  基础知识22
  • 3.1.1  Solidity语言概述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  安装testrpc28
  • 3.2.3  使用testrpc测试智能合约 29
  • 3.2.4  IntellijIDEA Solidity插件 33
  • 3.2.5  将Solidity编译工具与Intellij IDEA集成 36
  • 3.3  其他智能合约IDE 38
  • 3.3.1  VisualStudio扩展 38
  • 3.3.2  VisualStudio Code扩展 40
  • 3.3.3  SublimeText插件 42
  • 3.4  Solidity工具 42
  • 3.4.1  SolidityREPL 42
  • 3.4.2  solgraph43
  • 3.5  小结 45
  • 第4章  以太坊节点与挖矿
  • 4.1  什么是Web3.js46
  • 4.2  安装Web3.js47
  • 4.3  连接testrpc节点 48
  • 4.4  连接geth节点 49
  • 4.5 HttpProvider与IPCProvider 51
  • 4.6  发布与调用智能合约 53
  • 4.6.1  编译智能合约 53
  • 4.6.2  创建以太坊账户 54
  • 4.6.3  用Web3.jsAPI发布智能合约 54
  • 4.6.4  挖矿与挣钱56
  • 4.6.5  重新发布智能合约 57
  • 4.7  自动编译智能合约 60
  • 4.8  小结 64
  • 第5章  以太坊中的Web技术
  • 5.1  Node.js入门 65
  • 5.1.1  使用Node.jsREPL 66
  • 5.1.2  执行JavaScript脚本文件 66
  • 5.1.3  Node.jsIDE(WebStorm) 67
  • 5.1.4  在WebStorm中编写Node.js程序 68
  • 5.2  Express入门 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详解
  • 6.1  基础知识91
  • 6.1.1  Web3.js简介 91
  • 6.1.2  Web3.js开发环境搭建 92
  • 6.2  Web3 API 93
  • 6.2.1   设置和获取Provider93
  • 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  使用BigNumber99
  • 6.2.9  单位转换101
  • 6.2.10  核对账户地址是否有效 103
  • 6.3  Web3.ethAPI 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和gasPrice 125
  • 6.4  小结128
  • 第7章  Solidity语言详解(一)
  • 7.1  Solidity语言简介129
  • 7.2  Solidity语言基础130
  • 7.2.1  编译器版本指令(pragma) 130
  • 7.2.2  导入其他Solidity源代码
  • 文件(import) 132
  • 7.2.3  用Web3.jsAPI发布多个智能合约 136
  • 7.2.4  用Web3.jsAPI编译多个智能合约 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语言详解(二)
  • 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.3  block变量190
  • 8.2.4  msg变量191
  • 8.2.5  其他全局变量和函数 193
  • 8.3  智能合约194
  • 8.3.1  函数和状态变量访问权限 194
  • 8.3.2  getter函数195
  • 8.3.3  自定义修饰符(modifier) 197
  • 8.3.4  常量201
  • 8.3.5  view函数202
  • 8.3.6  pure函数204
  • 8.3.7  fallback函数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实战
  • 9.1  Truffle基础215
  • 9.1.1  安装Truffle215
  • 9.1.2  创建Truffle工程 216
  • 9.1.3  Truffle工程的结构216
  • 9.1.4  在Truffle工程中创建自己的合约 217
  • 9.1.5  编译合约218
  • 9.1.6  部署合约219
  • 9.1.7  测试合约219
  • 9.2  以太坊客户端 220
  • 9.2.1  Truffle内置以太坊客户端 220
  • 9.2.2  Ganache概述221
  • 9.2.3  安装Ganache221
  • 9.2.4  用Truffle在Ganache上发布合约 222
  • 9.3  Truffle高级应用224
  • 9.3.1  用Solidity编写测试代码 224
  • 9.3.2  用JavaScript编写测试代码 227
  • 9.3.3  捕捉事件和异常 228
  • 9.3.4  使用truffle-contractAPI调用
  • 合约函数 231
  • 9.3.5  写Truffle扩展脚本 232
  • 9.4  小结234
  • 第10章  项目实战:在以太坊上发行数字资产
  • 10.1  数字资产原理 236
  • 10.2  代币合约239
  • 10.2.1  ERC20Token接口 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.jsAPI完成Titans币的转账 265
  • 10.5  以太币和以太坊代币的区别 269
  • 10.6  互联网的未来:DApp 270
  • 10.7  小结271
  • 第11章  项目实战:支持以太坊的小程序版云笔记
  • 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

资源获取

资源地址1:https://pan.baidu.com/s/1Z43UouL_TSG-S9K6zzFvKQ

网友留言