前言
区块链是一个去中心化的分类账,它维护着一个不断增长的数据记录列表,以防止篡改和修改。每个用户都可以连接到网络,向网络发送新的事务,验证事务,以及创建新的块。
这本书将教你什么是区块链,它如何维护数据完整性,以及如何使用以太坊创建真实世界的区块链项目。通过有趣的现实世界项目,您将了解如何编写智能合同,完全按照编程运行,没有任何欺诈、审查或第三方干扰的机会,并为区块链构建端到端应用程序。您将学习加密货币中的密码学、以太安全、采矿、智能合同和可靠性等概念。
区块链是比特币的主要技术创新,它是比特币交易的公共账本。
这本书涵盖的内容
第 1 章,了解分散式应用,将解释 DApps 是什么,并概述它们如何工作。
第二章,了解以太坊如何工作,解释以太坊如何工作。
第 3 章,编写智能合约,展示了如何编写智能合约并使用 geth 的交互控制台来部署和广播使用 web3.js 的交易
第四章、web 3 . js 入门,介绍 web3js 以及如何导入、连接 geth,并说明在 Node.js 或客户端 JavaScript 中使用。
第 5 章,构建钱包服务,解释了如何构建一个用户可以轻松创建和管理以太坊钱包的钱包服务,即使是离线。我们将专门使用 LightWallet 库来实现这一点。
第 6 章,搭建智能合约部署平台,展示如何使用 web3.js 编译智能合约,并使用 web3.js 和 EthereumJS 部署。
第 7 章,构建一个博彩 App ,讲解如何使用 Oraclize 从以太坊智能合约发出 HTTP 请求,以访问来自万维网的数据。我们还将学习如何访问存储在 IPFS 的文件,使用字符串库处理字符串,等等。
第 8 章,构建企业级智能合约,解释了如何使用 Truffle,这使得构建企业级 DApps 变得容易。我们将通过建造一个备用硬币来了解松露。
第九章、构建财团区块链,我们将讨论财团区块链。
这本书你需要什么
您需要 Windows 7 SP1 版、8 版、10 版或 Mac OS X 10.8 版。
这本书是给谁的
这本书是为现在想要使用区块链和以太坊创建防篡改数据(和交易)应用的 JavaScript 开发人员准备的。那些对加密货币及其逻辑和数据库感兴趣的人会发现这本书非常有用。
约定
在这本书里,你会发现许多区分不同种类信息的文本样式。下面是这些风格的一些例子和它们的含义的解释。
文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪 URL、用户输入和 Twitter 句柄如下所示:“然后,在Final
目录中使用node app.js
命令运行应用。”
代码块设置如下:
var solc = require("solc");
var input = "contract x { function g() {} }";
var output = solc.compile(input, 1); // 1 activates the optimizer
for (var contractName in output.contracts) {
// logging code and ABI
console.log(contractName + ": " + output.contracts[contractName].bytecode);
console.log(contractName + "; " + JSON.parse(output.contracts[contractName].interface));
}
任何命令行输入或输出都按如下方式编写:
npm install -g solc
新术语和重要词汇以粗体显示。你在屏幕上看到的单词,例如,在菜单或对话框中,出现在文本中,就像这样:“现在再次选择同一个文件,然后单击“获取信息”按钮。”
警告或重要提示出现在这样的框中。
提示和技巧是这样出现的。
读者反馈
我们随时欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢或不喜欢什么。读者的反馈对我们来说很重要,因为它有助于我们开发出真正让你受益匪浅的图书。
要向我们发送总体反馈,只需发送电子邮件feedback@packtpub.com
,并在邮件主题中提及书名。
如果有一个你擅长的主题,并且你对写作或写书感兴趣,请在www.packtpub.com/authors查看我们的作者指南。
客户支持
既然您已经是 Packt book 的骄傲拥有者,我们有许多东西可以帮助您从购买中获得最大收益。
下载示例代码
你可以从你在http://www.packtpub.com的账户下载本书的示例代码文件。如果你在其他地方购买了这本书,你可以访问 http://www.packtpub.com/support 的并注册,让文件直接通过电子邮件发送给你。
您可以按照以下步骤下载代码文件:
- 使用您的电子邮件地址和密码登录或注册我们的网站。
- 将鼠标指针悬停在顶部的支持选项卡上。
- 点击代码下载和勘误表。
- 在搜索框中输入图书的名称。
- 选择您要下载代码文件的书。
- 从下拉菜单中选择您购买这本书的地方。
- 点击代码下载。
下载文件后,请确保使用最新版本的解压缩或解压文件夹:
- WinRAR / 7-Zip for Windows
- zipeg/izp/un ARX for MAC
- 用于 Linux 的 7-Zip / PeaZip
该书的代码包也托管在 GitHub 的 https://GitHub . com/packt publishing/Building-block chain-Projects 上。我们在 https://github.com/PacktPublishing/的也有来自我们丰富的书籍和视频目录的其他代码包。看看他们!
下载这本书的彩色图片
我们还为您提供了一个 PDF 文件,其中包含本书中使用的截图/图表的彩色图像。彩色图像将帮助您更好地理解输出中的变化。你可以从https://www . packtpub . com/sites/default/files/downloads/BuildingBlockchainProjects _ color images . pdf下载这个文件。
正误表
尽管我们已尽一切努力确保内容的准确性,但错误还是会发生。如果您在我们的某本书中发现了一个错误——可能是文本或代码中的错误——如果您能向我们报告,我们将不胜感激。这样做,你可以让其他读者免受挫折,并帮助我们改进本书的后续版本。如果您发现任何勘误表,请通过访问http://www.packtpub.com/submit-errata,选择您的图书,点击勘误表提交表格链接,并输入勘误表的详细信息来报告。一旦您的勘误表得到验证,您的提交将被接受,该勘误表将被上传到我们的网站或添加到该标题的勘误表部分下的任何现有勘误表列表中。
要查看之前提交的勘误表,请前往https://www.packtpub.com/books/content/support并在搜索栏中输入图书名称。所需信息将出现在勘误表部分。
海盗行为
互联网上版权材料的盗版是所有媒体都存在的问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上发现我们作品的任何形式的非法拷贝,请立即向我们提供地址或网站名称,以便我们采取补救措施。
请通过copyright@packtpub.com
联系我们,并提供可疑盗版材料的链接。
我们感谢您帮助保护我们的作者,以及我们为您带来有价值内容的能力。
问题
如果您对本书的任何方面有问题,可以通过questions@packtpub.com
联系我们,我们将尽最大努力解决问题。