• 【现货速发】以太坊智能合约开发实战
21年品牌 40万+商家 超1.5亿件商品

【现货速发】以太坊智能合约开发实战

全新正版书籍,24小时发货,可开发票。

63.3 5.3折 119 全新

库存7件

天津津南
认证卖家担保交易快速发货售后保障

作者唐盛彬

出版社机械工业出版社

ISBN9787111623717

出版时间2022-08

装帧平装

开本16开

定价119元

货号27857154

上书时间2024-12-19

易安居书舍

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言
区块链技术是当下炙手可热的应用技术。甚至与区块链相关的一些名词,比如数字货币、去中心化应用、比特币和以太坊等也是开发人员经常提及的热门话题,即便不是计算机相关行业的人也可能有所耳闻。而智能合约的出现让人们意识到,区块链技术除了数字货币之外还有更广阔的应用空间。就现阶段而言,要实现智能合约的落地应用, 普及的方式就是通过以太坊智能合约而实现,它有不断完善的生态,也有一些具体的落地项目。可以预见,以太坊智能合约开发技术在未来会有更多的落地应用开花结果。
  当前,以太坊区块链的开发还处在一个起步阶段,很多生态还不是很完善,相关工具、库,甚至开发语言本身都还处在不断地迭代之中,而且相关学习资料也比较少。这种情形和当年Android开发在国内刚起步时一样。笔者作为一个区块链技术的探索者正行走在这条道路上,觉得有必要把自己的一些经验和心得体会进行总结并集结成册,以帮助那些对区块链技术感兴趣的人,让他们少走一些弯路。这便是笔者写作本书的初衷。
  本书主要介绍了利用Solidity语言开发以太坊智能合约的相关知识。书中涵盖了区块链与以太坊智能合约的基本原理;智能合约开发环境的搭建;各种开发、集成与测试工具的介绍,以及Solidity语言的详细介绍等。相信通过阅读本书,读者能较为系统地掌握以太坊智能合约开发的核心技术与要点。
本书特色
  1.内容全面、系统 
  本书从区块链的概念、原理、核心技术和应用四个方面展开讲解,涵盖以太坊智能合约开发的方方面面知识,如以太坊客户端、智能合约开发工具、Solidity语言等,读者通过一本书即可较为系统地掌握以太坊智能合约开发。
  2.讲解由浅入深,循序渐进
  本书讲解时从概念和原理入手,然后剖析核心技术,再辅以典型实例,尽量让前文的讲解作为后文的铺垫,一步步带领读者循序渐进地学习。这样的章节安排符合读者的学习和认知规律,学习梯度比较平滑,学习效果更好。
  3.原理与实践相结合
  笔者深信,只有通过动手实践,才能加深对知识的理解,所以书中不仅介绍了区块链和以太坊智能合约的相关概念和原理,而且还给出了实现方法和步骤,这样可以让读者真正学以致用,适应职场的要求。
  4.一图胜千言,配合大量图示讲解
  本书涉及的概念和基本原理比较多,这些概念和原理比较抽象。为了便于读者直观地理解这些知识,笔者绘制了大量的流程图和原理图帮助读者学习。真可谓一图胜千言,用文字不容易讲解清楚的内容,一幅图就可以直观地展现出来。
  5.案例典型,步骤详细,代码翔实
  本书注重内容的实用性,重要的知识点都配合实例进行讲解,而且在 后两章介绍了众筹和代币智能合约开发两个项目案例。书中在讲解这些实例和案例时都给出了详细的操作步骤和实现代码,并对关键代码做了详细的注释,便于读者理解。
本书内容
  本书共17章,分为4篇。
  第1篇  基础理论与原理篇(第1~4章)
  第1章与区块链的次亲密接触,主要介绍了区块链的概念和原理,并介绍了区块链中的工作量证明机制、权益证明机制和委托权益证明等内容。
  第2章去中心化应用——DApp,主要介绍了DApp的概念及其优缺点,还介绍了DApp如何和中心化应用进行通信。
  第3章比特币那些事,主要介绍了比特币的公钥格式、私钥格式、私钥的生成和从私钥获取公钥的方法,并介绍了如何从公钥获取地址,以及测试比特币账户碰撞等。
  第4章以太坊,主要介绍了以太坊涉及的基本概念和原理,如以太坊账户、以太坊交易、挖矿、GHOST协议、DAG算法和Ethash算法等。
  第2篇  开发工具(第5~8章)
  第5章智能合约开发常用工具,主要介绍了在以太坊智能合约开发过程中会用到的一些工具,如Git版本管理工具、Node.js和NPM等。
  第6章以太坊私链神器——Ganache,主要介绍了在以太坊智能合约开发中需要使用的Ganache工具。其中,重点介绍了Ganache的图形界面、命令行工具、常用命令和参数,以及如何在项目中使用Ganache。
  第7章以太坊官方客户端——Geth,主要介绍了Geth的启动命令和参数,借此认识以太坊的各个协议内容。
  第8章以太坊钱包与浏览器,主要介绍了MetaMask浏览器插件的用法。MetaMask也可以看做是一个轻钱包,可以在开发者构建Web应用和以太坊区块链交互时提供帮助。
  第3篇  Solidity与智能合约开发(第9~14章)
  第9章Solidity初遇,主要介绍了Solidity语言常用开发工具的安装与配置,并对Solidity语言的基本概念,如状态变量和局部变量做了详细介绍,另外还对Solidity中的运算符、控制结构和函数的常见修饰符(如payable、view、pure等)做了必要讲解。
  第10章Solidity数据类型,主要介绍了Solidity的数据类型及其应用,如整型中包含的具体类型、各种字面量类型、枚举类型、结构体类型及mapping类型等。
  第11章Solidity数据类型进阶,主要介绍了Solidity的一些更加复杂的数据类型,如固定大小字节数组、动态大小字节数组、地址类型、函数类型等,另外还介绍了不同数据类型之间隐式转换与显式转换的方法,以及delete操作应用于各个数据类型等。
  第12章Solidity开发智能合约,主要介绍了使用Solidity开发以太坊智能合约的相关内容,涵盖EVM结构和数据、事件与日志、全局以太币和时间单位后缀、区块与交易的全局属性、错误处理函数、数学与Hash函数、ABI编码和特殊类型函数等。
  第13章Solidity开发智能合约进阶,介绍了Solidity和智能合约开发的进阶知识,涵盖Solidity数据位置与赋值、函数修改器、合约继承,以及Solidity的库、编译与编码风格等。
  第14章通过web3.js与以太坊进行交互,主要介绍了如何使用web3.js与以太坊智能合约进行交互,给出了web3.js和账户、合约、ABI及IBAN交互的多个实例。
  第4篇  项目案例实战(第15~17章)
  第15章工程化项目开发利器——Truffle,主要介绍了如何使用Truffle初始化项目、配置Truffle、编译合约,以及执行部署和测试等。
  第16章项目流程与众筹实战案例,主要介绍了一个众筹项目案例的实现过程,涉及项目的初始化、目录结构、本地测试及部署环境搭建等相关内容。
  第17章以太坊代币标准与ERC20代币案例,主要介绍了以太坊代币的相关内容,涉及ERC20的标准接口和扩展接口,并给出了一个ERC20代币实例,还对ERC20标准代币的扩展做了介绍。
配书资源及获取方式
  本书涉及的源代码等配书资源需要读者自行下载。请登录华章公司的网站www.hzbook.com,搜索到本书,然后单击“资料下载”按钮,单击页面上的“配书资源”下载链接即可下载。
本书读者对象
* 区块链技术爱好者;
* 区块链底层开发人员;
* 以太坊智能合约开发初学者;
* 想要系统了解智能合约开发的人员;
* 区块链DApp应用开发人员;
* 各类转行做区块链开发的程序员;
* 其他对区块链感兴趣的人员;
* 计算机和金融专业的学生;
* 区块链开发的培训班学员。
售后服务
  因受笔者水平所限,加之成书时间较短,本书可能还有疏漏和不当之处,敬请读者指正。读者在阅读本书的过程中若有疑问,请发E-mail到hzbook2017@163.com和编辑部取得联系。
  
  编著者

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

作者简介
唐盛彬,就职于靠前靠前的手机游戏平台当乐网(d.cn),主要负责当乐游戏中心App平台的SDK及区块链游戏众筹平台DOGI.IO的智能合约开发工作。熟悉以太坊,对以太坊底层原理和相关协议有较为深入的研究;熟悉以太坊智能合约开发的核心技术与常用工具,如Solidity语言、web3.js、Truffle和Geth等;对使用Solidity语言进行以太坊智能合约开发有丰富的实战经验,特别是在众筹和代币开发等相关领域。

目录
前言
第1篇  基础理论与原理
第1章  与区块链的次亲密接触2
1.1  什么是区块链2
1.1.1  区块链简介2
1.1.2  区块链的链式结构3
1.1.3  区块链上的区块常见数据4
1.2  工作量证明机制(PoW)6
1.2.1  区块链遭遇的问题6
1.2.2  PoW模型8
1.2.3  PoW为什么能防止篡改9
1.3  权益证明机制(PoS)11
1.3.1  什么是PoS12
1.3.2  PoS的优势与劣势12
1.4  委托权益证明(DPoS)12
1.5  权威证明(PoA)13
1.6  区块链的应用13
1.7  本章小结13
第2章  去中心化应用——DApp15
2.1  DApp简介15
2.1.1  什么是DApp15
2.1.2  DApp网络组建过程16
2.1.3  DApp的优点16
2.1.4  DApp存在的问题16
2.2  中心化与去中心化17
2.2.1  身份验证17
2.2.2  通信17
2.2.3  数据交互17
2.2.4  系统维护18
2.3  DApp网络与通信18
2.3.1  P2P网络与WWW19
2.3.2  P2P网络拓扑结构类型20
2.3.3  小结21
2.4  DApp货币与中心化数据交互22
2.4.1  DApp货币22
2.4.2  中心化应用获取去中心化数据22
2.4.3  去中心化应用获取中心化数据22
2.5  常见的DApp23
2.5.1  比特币23
2.5.2  以太坊23
2.5.3  IPFS存储系统23
第3章  比特币那些事25
3.1  比特币简介25
3.1.1  比特币公钥与私钥25
3.1.2  数字签名26
3.2  椭圆曲线算法26
3.2.1  群26
3.2.2  椭圆曲线算法定义28
3.2.3  椭圆曲线几何运算29
3.2.4  椭圆曲线算法的代码实现30
3.2.5  椭圆曲线加密与签名原理37
3.3  比特币私钥、公钥与地址39
3.3.1  从私钥到地址39
3.3.2  公钥压缩40
3.3.3  私钥格式41
3.3.4  私钥与安全41
3.4  比特币交易44
3.4.1  交易简介44
3.4.2  交易输出44
3.4.3  交易输入44
3.4.4  交易费45
3.4.5  付款至公钥哈希(P2PKH)45
3.4.6  多重签名与P2SH46
3.5  比特币钱包46
3.5.1  钱包简介46
3.5.2  生成助记词47
3.5.3  从助记词生成种子48
3.5.4  从种子生成HD钱包48
3.5.5  HD钱包密钥路径50
3.6  比特币相关资源51
第4章  以太坊52
4.1  以太坊简介52
4.1.1  什么是以太坊52
4.1.2  以太坊虚拟机(EVM)53
4.1.3  以太坊智能合约与高级语言53
4.1.4  以太币单位54
4.1.5  以太坊发行版本与提案54
4.2  以太坊账户55
4.2.1  外部账户55
4.2.2  合约账户56
4.2.3  外部账户与合约账户的异同56
4.3  以太坊交易57
4.3.1  gas、gasPrice与gasLimit57
4.3.2  gasUsed与交易花费58
4.3.3  什么是以太坊交易与消息58
4.4  以太坊网络59
4.4.1  以太坊网络简介59
4.4.2  以太坊与Kademlia59
4.4.3  以太坊客户端61
4.5  挖矿62
4.5.1  什么是挖矿62
4.5.2  挖矿奖励62
4.5.3  以太坊区块63
4.6  GHOST协议64
4.6.1  区块时间64
4.6.2  区块分叉65
4.6.3  普通分叉带来的问题66
4.6.4  GHOST协议的具体内容67
4.7  Ethash算法之DAG68
4.7.1  什么是DAG68
4.7.2  DAG生成过程69
4.7.3  为什么要使用DAG69
4.8  Ethash算法70
4.8.1  Ethash算法简介70
4.8.2  Ethash算法流程70
4.9  本章小结71
第2篇  开发工具
第5章  智能合约开发常用工具74
5.1  Git简介74
5.1.1  Git安装74
5.1.2  Git常用命令75
5.1.3  Git资源推荐76
5.2  Node.js简介76
5.2.1  什么是Node.js76
5.2.2  Node.js安装77
5.3  NPM简介78
5.3.1  npm config命令78
5.3.2  NPM与语义化版本80
5.3.3  npm install命令82
5.3.4  NPM镜像83
5.3.5  NPM的其他常用命令84
5.4  webpack简介85
5.4.1  认识webpack85
5.4.2  webpack首秀85
5.4.3  webpack 与webpack-dev-server87
5.4.4  webpack常用功能与配置90
5.4.5  webpack总结92
5.5  Postman简介92
5.5.1  认识Postman93
5.5.2  Postman的简单用法94
5.5.3  Postman脚本95
5.6  LevelDB简介96
5.6.1  认识LevelDB96
5.6.2  LevelDB文件97
5.6.3  SST结构与数据查找99
第6章  以太坊私链神器——Ganache102
6.1  Ganache简介102
6.1.1  什么是Ganache102
6.1.2  ganache-cli命令安装103
6.1.3  Ganache图形界面104
6.2  Ganache常见命令参数106
6.2.1  挖矿时间106
6.2.2  主机端口与网络106
6.2.3  gas相关参数106
6.2.4  其他参数106
6.3  Ganache账户107
6.3.1  能多给我点钱吗107
6.3.2  能多给我几个账户吗108
6.3.3  助记词相关参数108
6.3.4  指定账户108
6.3.5  锁定账户与解锁109
6.4  Ganache与JavaScript109
6.4.1  在工程中引用Ganache的Provider109
6.4.2  在工程中启动Ganache的Server110
6.4.3  配置工程中依赖的Ganache111
6.5  Ganache交易相关RPC方法112
6.5.1  eth_sendTransaction方法113
6.5.2  eth_getTransactionCount方法115
6.5.3  eth_getTransactionReceipt方法116
6.5.4  eth_getTransactionByHash方法116
6.5.5  交易相关的其他方法117
6.6  Ganache账户相关RPC方法117
6.6.1  eth_accounts方法118
6.6.2  eth_getBalance方法118
6.6.3  eth_coinbase方法119
6.7  Ganache区块相关RPC方法119
6.7.1  eth_getBlockByHash方法119
6.7.2  eth_getBlockByNumber方法122
6.7.3  其他相关方法122
6.8  Ganache日志相关RPC方法123
6.8.1  eth_newFilter方法123
6.8.2  eth_getFilterLogs方法124
6.8.3  eth_getLogs方法125
6.8.4  其他关联方法126
6.9  Ganache的其他RPC方法127
6.9.1  web3_clientVersion方法127
6.9.2  net_version方法127
6.9.3  eth_getCode方法128
6.9.4  eth_sign方法129
第7章  以太坊官方客户端——Geth130
7.1  Geth简介130
7.1.1  Geth是什么130
7.1.2  Geth安装130
7.1.3  Geth相关目录132
7.1.4  Geth相关工具134
7.2  Geth子命令134
7.2.1  Geth子命令概述135
7.2.2  Geth子命令之account136
7.2.3  Geth子命令之console与attach137
7.2.4  Geth子命令之copydb与removedb137
7.3  Geth启动参数138
7.3.1  Geth数据同步模式138
7.3.2  Geth网络相关参数138
7.3.3  Geth以太坊相关参数139
7.3.4  Geth RPC相关参数140
7.3.5  Geth挖矿相关参数141
7.3.6  Geth ethash算法参数142
7.3.7  Geth交易池配置142
7.3.8  Geth日志参数145
7.3.9  Geth的其他参数146
7.4  Geth启动实例146
7.4.1  Geth启动单个节点146
7.4.2  Geth启动多节点组网148
7.5  Geth控制台与管理接口149
7.5.1  admin模块149
7.5.2  debug模块150
7.5.3  miner模块151
7.5.4  personal模块152
7.5.5  txpool模块153
7.6  keystore文件153
7.6.1  keystore文件简介153
7.6.2  从密钥到密钥文件154
7.6.3  从密钥到密钥文件流程验证155
第8章  以太坊钱包与浏览器158
8.1  MetaMask插件158
8.1.1  MetaMask简介158
8.1.2  MetaMask安装159
8.1.3  次使用MetaMask160
8.1.4  MetaMask的连接配置161
8.1.5  MetaMask的其他配置162
8.1.6  MetaMask账户管理163
8.1.7  MetaMask交易164
8.1.8  小结165
8.2  Ethereum Wallet钱包166
8.2.1  Ethereum Wallet简介166
8.2.2  安装Ethereum Wallet与Mist166
8.2.3  使用Ethereum Wallet169
8.3  Mist与Ethereum Wallet170
8.3.1  Ethereum Wallet与Mist的区别171
8.3.2  Mist的配置与使用171
8.3.3  小结172
8.4  MyEtherWallet网页钱包172
8.4.1  MyEtherWallet简介173
8.4.2  MyEtherWallet合约交互174
8.4.3  MyEtherWallet离线交易175
8.4.4  MyEtherWallet的其他功能177
第3篇  Solidity与智能合约开发
第9章  Solidity初遇180
9.1  Solidity简介180
9.1.1  什么是Solidity180
9.1.2  智能合约示例181
9.1.3  Solidity编译版本182
9.2  Solidity编辑器182
9.2.1  Sublime编辑器182
9.2.2  Atom编辑器185
9.2.3  IDEA编辑器187
9.3  Remix编辑器188
9.3.1  Remix简介188
9.3.2  Remix文件管理189
9.3.3  Remix编辑面板与控制台190
9.3.4  Remix编译与运行面板191
9.3.5  Remix基本配置面板193
9.3.6  Remix分析配置面板194
9.4  Solidity常见概念196
9.4.1  状态变量196
9.4.2  局部变量196
9.4.3  Solidity函数197
9.4.4  返回多值197
9.4.5  构造函数198
9.4.6  异常200
9.4.7  Solidity注释与文档2

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP