以太坊智能合约开发实战

本书特色

[

本书从区块链的概念、原理、核心技术和应用四个方面,系统地介绍了以太坊区块链开发的相关知识。其中,重点介绍了以太坊的相关概念和原理、以太坊客户端Geth、以太坊常用智能合约开发工具、Solidity语言和智能合约开发等内容,并实现了众筹合约和代币合约两个项目实战案例,可以让读者对智能合约开发的整体流程有一个全面的了解。另外,书中结合示例对Web3.js的相关知识也做了详细介绍,以帮助读者更好地理解和利用以太坊的相关数据。
本书内容丰富,讲解通俗易懂,案例典型,实用性强,特别适合区块链技术爱好者和智能合约开发的相关从业人员阅读,也适合区块链底层研究人员阅读。另外,本书还适合作为区块链培训机构作为相关课程的培训教材使用。

]

内容简介

[

本书从区块链的概念、原理、核心技术和应用四个方面,系统地介绍了以太坊区块链开发的相关知识。其中,重点介绍了以太坊的相关概念和原理、以太坊客户端Geth、以太坊常用智能合约开发工具、Solidity语言和智能合约开发等内容,并介绍了众筹合约和代币合约两个项目实战案例,可以让读者对智能合约开发的整体流程有一个全面的了解。另外,书中结合示例对web3.js的相关知识也做了详细介绍,以帮助读者更好地理解和利用以太坊的相关数据。    本书共17章,分为4篇,涵盖的主要内容有区块链的概念、原理与底层技术;以太坊的相关概念与原理;以太坊相关协议;以太坊客户端Geth;以太坊智能合约的其他常用工具与客户端;Solidity语言的基本概念与数据类型;使用Solidity进行以太坊智能合约开发;通过web3.js与以太坊区块链数据进行交互;众筹智能合约与代币智能合约项目实战案例。    本书内容丰富,讲解通俗易懂,案例典型,实用性强,特别适合区块链技术爱好者和智能合约开发的相关从业人员阅读,也适合区块链底层研究人员阅读。另外,本书还适合区块链培训机构作为相关课程的培训教材。

]

目录

前言第1篇 基础理论与原理第1章 与区块链的**次亲密接触 21.1 什么是区块链 21.1.1 区块链简介 21.1.2 区块链的链式结构 31.1.3 区块链上的区块常见数据 41.2 工作量证明机制(PoW) 61.2.1 区块链遭遇的问题 61.2.2 PoW模型 81.2.3 PoW为什么能防止篡改 91.3 权益证明机制(PoS) 111.3.1 什么是PoS 121.3.2 PoS的优势与劣势 121.4 委托权益证明(DPoS) 121.5 权威证明(PoA) 131.6 区块链的应用 131.7 本章小结 13第2章 去中心化应用——DApp 152.1 DApp简介 152.1.1 什么是DApp 152.1.2 DApp网络组建过程 162.1.3 DApp的优点 162.1.4 DApp存在的问题 162.2 中心化与去中心化 172.2.1 身份验证 172.2.2 通信 172.2.3 数据交互 172.2.4 系统维护 182.3 DApp网络与通信 182.3.1 P2P网络与WWW 192.3.2 P2P网络拓扑结构类型 202.3.3 小结 212.4 DApp货币与中心化数据交互 222.4.1 DApp货币 222.4.2 中心化应用获取去中心化数据 222.4.3 去中心化应用获取中心化数据 222.5 常见的DApp 232.5.1 比特币 232.5.2 以太坊 232.5.3 IPFS存储系统 23第3章 比特币那些事 253.1 比特币简介 253.1.1 比特币公钥与私钥 253.1.2 数字签名 263.2 椭圆曲线算法 263.2.1 群 263.2.2 椭圆曲线算法定义 283.2.3 椭圆曲线几何运算 293.2.4 椭圆曲线算法的代码实现 303.2.5 椭圆曲线加密与签名原理 373.3 比特币私钥、公钥与地址 393.3.1 从私钥到地址 393.3.2 公钥压缩 403.3.3 私钥格式 413.3.4 私钥与安全 413.4 比特币交易 443.4.1 交易简介 443.4.2 交易输出 443.4.3 交易输入 443.4.4 交易费 453.4.5 付款至公钥哈希(P2PKH) 453.4.6 多重签名与P2SH 463.5 比特币钱包 463.5.1 钱包简介 463.5.2 生成助记词 473.5.3 从助记词生成种子 483.5.4 从种子生成HD钱包 483.5.5 HD钱包密钥路径 503.6 比特币相关资源 51第4章 以太坊 524.1 以太坊简介 524.1.1 什么是以太坊 524.1.2 以太坊虚拟机(EVM) 534.1.3 以太坊智能合约与高级语言 534.1.4 以太币单位 544.1.5 以太坊发行版本与提案 544.2 以太坊账户 554.2.1 外部账户 554.2.2 合约账户 564.2.3 外部账户与合约账户的异同 564.3 以太坊交易 574.3.1 gas、gasPrice与gasLimit 574.3.2 gasUsed与交易花费 584.3.3 什么是以太坊交易与消息 584.4 以太坊网络 594.4.1 以太坊网络简介 594.4.2 以太坊与Kademlia 594.4.3 以太坊客户端 614.5 挖矿 624.5.1 什么是挖矿 624.5.2 挖矿奖励 624.5.3 以太坊区块 634.6 GHOST协议 644.6.1 区块时间 644.6.2 区块分叉 654.6.3 普通分叉带来的问题 664.6.4 GHOST协议的具体内容 674.7 Ethash算法之DAG 684.7.1 什么是DAG 684.7.2 DAG生成过程 694.7.3 为什么要使用DAG 694.8 Ethash算法 704.8.1 Ethash算法简介 704.8.2 Ethash算法流程 704.9 本章小结 71第2篇 开发工具第5章 智能合约开发常用工具 745.1 Git简介 745.1.1 Git安装 745.1.2 Git常用命令 755.1.3 Git资源推荐 765.2 Node.js简介 765.2.1 什么是Node.js 765.2.2 Node.js安装 775.3 NPM简介 785.3.1 npm config命令 785.3.2 NPM与语义化版本 805.3.3 npm install命令 825.3.4 NPM镜像 835.3.5 NPM的其他常用命令 845.4 webpack简介 855.4.1 认识webpack 855.4.2 webpack首秀 855.4.3 webpack 与webpack-dev-server 875.4.4 webpack常用功能与配置 905.4.5 webpack总结 925.5 Postman简介 925.5.1 认识Postman 935.5.2 Postman的简单用法 945.5.3 Postman脚本 955.6 LevelDB简介 965.6.1 认识LevelDB 965.6.2 LevelDB文件 975.6.3 SST结构与数据查找 99第6章 以太坊私链神器——Ganache 1026.1 Ganache简介 1026.1.1 什么是Ganache 1026.1.2 ganache-cli命令安装 1036.1.3 Ganache图形界面 1046.2 Ganache常见命令参数 1066.2.1 挖矿时间 1066.2.2 主机端口与网络 1066.2.3 gas相关参数 1066.2.4 其他参数 1066.3 Ganache账户 1076.3.1 能多给我点钱吗 1076.3.2 能多给我几个账户吗 1086.3.3 助记词相关参数 1086.3.4 指定账户 1086.3.5 锁定账户与解锁 1096.4 Ganache与JavaScript 1096.4.1 在工程中引用Ganache的Provider 1096.4.2 在工程中启动Ganache的Server 1106.4.3 配置工程中依赖的Ganache 1116.5 Ganache交易相关RPC方法 1126.5.1 eth_sendTransaction方法 1136.5.2 eth_getTransactionCount方法 1156.5.3 eth_getTransactionReceipt方法 1166.5.4 eth_getTransactionByHash方法 1166.5.5 交易相关的其他方法 1176.6 Ganache账户相关RPC方法 1176.6.1 eth_accounts方法 1186.6.2 eth_getBalance方法 1186.6.3 eth_coinbase方法 1196.7 Ganache区块相关RPC方法 1196.7.1 eth_getBlockByHash方法 1196.7.2 eth_getBlockByNumber方法 1226.7.3 其他相关方法 1226.8 Ganache日志相关RPC方法 1236.8.1 eth_newFilter方法 1236.8.2 eth_getFilterLogs方法 1246.8.3 eth_getLogs方法 1256.8.4 其他关联方法 1266.9 Ganache的其他RPC方法 1276.9.1 web3_clientVersion方法 1276.9.2 net_version方法 1276.9.3 eth_getCode方法 1286.9.4 eth_sign方法 129第7章 以太坊官方客户端——Geth 1307.1 Geth简介 1307.1.1 Geth是什么 1307.1.2 Geth安装 1307.1.3 Geth相关目录 1327.1.4 Geth相关工具 1347.2 Geth子命令 1347.2.1 Geth子命令概述 1357.2.2 Geth子命令之account 1367.2.3 Geth子命令之console与attach 1377.2.4 Geth子命令之copydb与removedb 1377.3 Geth启动参数 1387.3.1 Geth数据同步模式 1387.3.2 Geth网络相关参数 1387.3.3 Geth以太坊相关参数 1397.3.4 Geth RPC相关参数 1407.3.5 Geth挖矿相关参数 1417.3.6 Geth ethash算法参数 1427.3.7 Geth交易池配置 1427.3.8 Geth日志参数 1457.3.9 Geth的其他参数 1467.4 Geth启动实例 1467.4.1 Geth启动单个节点 1467.4.2 Geth启动多节点组网 1487.5 Geth控制台与管理接口 1497.5.1 admin模块 1497.5.2 debug模块 1507.5.3 miner模块 1517.5.4 personal模块 1527.5.5 txpool模块 1537.6 keystore文件 1537.6.1 keystore文件简介 1537.6.2 从密钥到密钥文件 1547.6.3 从密钥到密钥文件流程验证 155第8章 以太坊钱包与浏览器 158 8.1 MetaMask插件 1588.1.1 MetaMask简介 1588.1.2 MetaMask安装 1598.1.3 **次使用MetaMask 1608.1.4 MetaMask的连接配置 1618.1.5 MetaMask的其他配置 1628.1.6 MetaMask账户管理 1638.1.7 MetaMask交易 1648.1.8 小结 1658.2 Ethereum Wallet钱包 1668.2.1 Ethereum Wallet简介 1668.2.2 安装Ethereum Wallet与Mist 1668.2.3 使用Ethereum Wallet 1698.3 Mist与Ethereum Wallet 1708.3.1 Ethereum Wallet与Mist的区别 1718.3.2 Mist的配置与使用 1718.3.3 小结 1728.4 MyEtherWallet网页钱包 1728.4.1 MyEtherWallet简介 1738.4.2 MyEtherWallet合约交互 1748.4.3 MyEtherWallet离线交易 1758.4.4 MyEtherWallet的其他功能 177第3篇 Solidity与智能合约开发第9章 Solidity初遇 1809.1 Solidity简介 1809.1.1 什么是Solidity 1809.1.2 智能合约示例 1819.1.3 Solidity编译版本 1829.2 Solidity编辑器 1829.2.1 Sublime编辑器 1829.2.2 Atom编辑器 1859.2.3 IDEA编辑器 1879.3 Remix编辑器 1889.3.1 Remix简介 1889.3.2 Remix文件管理 1899.3.3 Remix编辑面板与控制台 1909.3.4 Remix编译与运行面板 1919.3.5 Remix基本配置面板 1939.3.6 Remix分析配置面板 1949.4 Solidity常见概念 1969.4.1 状态变量 1969.4.2 局部变量 1969.4.3 Solidity函数 1979.4.4 返回多值 1979.4.5 构造函数 1989.4.6 异常 2009.4.7 Solidity注释与文档 2019.5 Solidity运算符 2039.5.1 Solidity运算符简介 2039.5.2 Solidity运算符注意事项 2049.6 Solidity控制结构 2059.6.1 控制结构简介 2059.6.2 判断语句 2059.6.3 for循环 2069.6.4 while与do…while循环 2069.6.5 continue与break 2079.6.6 三目运算符 2089.7 可见性修饰符 2099.7.1 public修饰符 2099.7.2 internal修饰符 2109.7.3 private修饰符 2139.7.4 external修饰符 2149.8 函数其他修饰符 2169.8.1 constant修饰符 2169.8.2 view修饰符 2179.8.3 pure修饰符 217第10章 Solidity数据类型 21910.1 数据类型简介 21910.1.1 值类型 21910.1.2 引用类型 22010.1.3 小结 22110.2 Booleans类型 22110.2.1 Booleans类型简介 22110.2.2 Booleans类型支持的运算符 22110.3 Integers类型 22310.3.1 Integers类型简介 22310.3.2 Integers类型支持的运算符 22410.3.3 Integers整除问题 22510.4 定点数类型 22610.4.1 定点数类型简介 22610.4.2 定点数类型支持的运算符 22710.5 字面量 22710.5.1 字符串字面量 22710.5.2 十六进制字面量 22910.5.3 有理数字面量 23010.6 Enum类型 23110.6.1 枚举类型简介 23110.6.2 枚举类型实例 23110.7 mapping类型 23210.7.1 mapping类型简介 23210.7.2 mapping类型实例 23210.8 struct类型 233第11章 Solidity数据类型进阶 23511.1 Solidity固定大小字节数组 23511.1.1 固定大小字节数组类型 23511.1.2 固定大小字节数组支持

封面

以太坊智能合约开发实战

书名:以太坊智能合约开发实战

作者:唐盛彬

页数:466

定价:¥119.0

出版社:机械工业出版社

出版日期:2019-04-01

ISBN:9787111623717

PDF电子书大小:37MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注