比特派官网下载app苹果|区块链开发指南
如何学习区块链开发? - 知乎
如何学习区块链开发? - 知乎首页知乎知学堂发现等你来答切换模式登录/注册区块链(Blockchain)区块链革命(书籍)区块链开发指南(书籍)区块链创业公司区块链技术如何学习区块链开发?准备一颗心扑在区块链上面了,自学了go语言和solidity但是不知道能干什么显示全部 关注者382被浏览352,733关注问题写回答邀请回答好问题 213 条评论分享40 个回答默认排序知乎用户闲话少说,这篇将告诉你一个完整的 Web3.0 开发路线图,让你成为一个合格的区块链开发者最基础的部分前后端开发知识去中心化应用 DApp智能合约开发知识一些重要的工具0x01 最基础的部分要想成为一个区块链开发者,首先要成为一个开发者,这就需要理解计算机科学(Computer Science)。《哈佛大学 CS50 公开课》能帮助你理解最基础的计算机及数据处理。当你对计算机基础有了一定了解后,就可以开始学习区块链基础了,因为你必须要理解什么是区块链,它如何工作以及它为什么能打破交易方式。目前区块链技术已经不局限于数字货币,它越来越多地多的具备了分布式云计算的能力,使之能够运行各种去中心化的应用程序(DApp)学习区块链基础技术,可以参考我的另一篇文章《区块链学习资源(基础篇)》0x02 前后端开发知识在学习开发 DApp 之前,我们需要了解一定的前后端的知识,前端方面需要掌握 HTML、CSS、纯 JavaScript 语言以及 React 或 Vue 之类的框架。这里推荐免费的《FreeCodeCamp 课程》,可以从零开始学习前端知识。而去中心化应用的后端,与一般应用的后端不太一样,主要区别在于区块链技术使用的是去中心化存储,而普通应用往往使用中心化的数据库或对象存储。尽管如此,但他们背后的技术思想是类似的,因此不太建议直接跳过普通 Web 应用的基础开发原理而投身于 Web 3.0 的开发,你依然需要明白如何连接数据库、如何创建 RESTful API 以及编写各种业务逻辑等。因此学习下 NodeJS、Express、各种数据库(MySQL、PostgreSQL等),练习编写应用接口等是最佳路径。0x03 去中心化应用 DApp在学习完最基础的区块链、节点、共识等一系列知识后,就是时候来学习如何在此之上构建应用程序了,而构建在区块链之上的应用程序我们通常称为去中心化应用(DApp),它包括:应用的前端页面:使用 JavaScript 或 React、Vue 等框架构建的前端应用程序应用的后端系统:使用 Solidity 或者 Rust 构建在区块链上的智能合约系统学习开发 DApp 之前,建议了解一下以太坊的知识,如果把区块链比做计算机,那以太坊可视为操作系统,任何应用程序都需要运行在操作系统上,以太坊就是其中一种,也是最为人所知的一种。《以太坊官网中文版》有助于了解以太坊的知识0x04 智能合约开发知识所谓智能合约,就是跑在以太坊网络上的小程序。每个 Web 3.0 开发者都必须了解以太坊的工作原理。智能合约通常是自动执行的,它可以使用 Solidity 或者 Rust 等语言编写,通过编写业务逻辑把信息存储到区块链上,就像普通应用把数据存到数据库中一样。以下是一些学习 Solidity 合约的资源:CryptoZombies (极力推荐)FreeCodeCamp 的 16 小时智能合约课程0x05 一些重要的工具工欲善其事,必先利其器,学习完智能合约的课程手边总要经常使用一些工具:开发语言的工具Solidity 文档OpenZeppelinChainlink重要框架Remix - Ethereum IDEHardhat | Ethereum development environment for professionals by Nomic LabsBrownieDApp Tools高级概念NFTDAODeFiUpgradeability其他工具Faucets | ChainlinkEtherscanAlchemy - Blockchain API and Node ServiceMoralis » The Ultimate Web3 Development Platform编辑于 2023-06-09 17:16赞同 54824 条评论分享收藏喜欢收起汇智网学习软件编程 关注先看你的目的是什么,再决定接下来做什么。发布于 2020-03-11 22:23赞同1 条评论分享收藏喜欢
区块链开发完全指南 - 知乎
区块链开发完全指南 - 知乎首发于区块链切换模式写文章登录/注册区块链开发完全指南版权区块链联盟让版权实现更大价值!区块链将是技术的发展方向。我认为未来将围绕区块链一新兴技术构建,这绝不是什么牵强附会。区块链最初被设计成一种公共的,无权限的技术,后来引入了另一种区块链,每种区块链都有自己独特的用例集。公共/无权限区块链是开放的,分布式并且缓慢的,而私有/许可的区块链是部分或完全封闭和集中的。 在本篇文章中,我将与你讨论需要学习哪些知识,才能开始构建和使用区块链技术的应用程序。当我第一次开始学习区块链时,很多问题都浮现在我脑海中。区块链有哪些不同类型?我应该用哪种编程语言进行有效开发?区块链开发的平台是什么?在本文中,我们将共同讨论应该学习的不同编程语言,以便开始开发使用区块链技术的应用程序。区块链编程的类型区块链架构编程在开发区块链之前,我们必须先解决构成其体系结构和协议的重要函数,它必须用代码编写。例如,比特币在2009年被发布之前,管理该情况的规则和协议是用C++编写的。这种编程通常用C和Java等语言完成,这些语言更接近机器。构建智能合约或分散式应用程序(DApp)在普通的中心化应用程序中,后端代码在中央服务器上运行,而Dapp的后端代码在分布式的对等网络上运行。像普通应用程序一样,DApp可以使用任何语言和用户界面编写其前端代码,方便调用后端API。流行的区块链编程平台HyperledgerHyperledger是开源区块链的一个综合项目,旨在帮助推进区块链技术发展,通过它的引领下,包括提供的相关工具,培训和社区活动,支持基于区块链的分布式账本的协同开发。Hyperledger的目标是提供模块化区块链技术,其中包含了丰富,易用的API。Hyperledger降低了安全风险,并确保只有想要交易的各方才能成为交易的一部分。Hyperledger提供了区块链架构,数据隐私,信息共享和不可变性的全部功能。以太坊以太坊是一个开源的区块链平台,用来开发以区块链技术运行的分布式应用程序或DApps。以太坊区块链平台能够有效帮助脚本或智能合约,顺利通过网络中的节点运行。它不仅能够跟踪交易,还可以对它们进行编程。以太坊提供了许多编程语言供开发者选择,包括C++,Go,Python,Java等语言。智能合约是使用Solidity构建的,Solidity语言是一种面向合约的高级编程语言。区块链编程语言之TOP51. C ++让我们从列表中最古老,最受推崇的常青语言 C++开始,我们所有编程的人都知道它是C语言的扩展。在C++中,创建一个数据,函数和对象包后,可以在其他程序中轻松调用和重用,这样可以大大减少编码时间。那么问题来了,现在有那么多高级语言,偏偏为啥要用C++?好吧,因为C++具有某些功能,让它非常吸引人。考虑到区块链发展中的种种挑战,区块链应该像一个安全的堡垒,也可以有效的进行资源管理。区块链应该与许多不受信任的节点进行交互,同时仍然可以为任何和所有节点提供快速服务。这种快速服务对数字加密货币的成功至关重要。要完成所有这些需求并在最高级别执行完,你需要完全控制CPU和内存使用,而C++恰恰为用户提供了这一点。C++的另一个有趣的一面是移动语义。移动语义指的是提供了一种在对象之间移动内容而不是复制的方法。移动语义的优点是,只有在需要时才去获得某些数据的副本,另外通过减少冗余来提高程序性能。有效的存储器管理和高性能都是区块链所需要的。另外可以想到的关于区块链编程的另一个挑战是,集成并行化与不并行化的不同任务。大多数的编程语言只专注在一个方面,但是C++的线程化能力可以处理并行和非并行任务。C++允许多设备进行线程间的有效通信,并优化单线程性能。C++的优点与缺点优点缺点独立和跨平台复杂且难于调试静态类型学习曲线高快速不支持垃圾收集C++区块链用例C++主要用来做加密货币和重要的区块链项目,如比特币,瑞波Ripple,比特币现金,Litecoin,Stellar和Monero等。2. JavaScriptJavaScript是现今流行的软件开发语言之一。JavaScript有很多有用的库和框架,比如jQuery,React,Angular和Node.js,它是推动现代Web开发的超级引擎。与HTML和CSS一起,增强网站大量的交互功能。JavaScript有一个主要特性非常适合区块链处理。JS非常擅长处理异步操作,随着区块链上的用户数量的增加,会有很多同步执行的操作,而使用JS可以更轻松地处理所有这些不同区块链节点之间的通信。但是,不能否认JavaScript在计算机处理能力的利用率方面不如C++高效。JavaScript的优点与缺点优点缺点面向对象动态基于原型解释权取决于浏览器支持函数式编程任何人都可以查看源代码区块链中的JavaScript用例区块链开发人员使用的JavaScript都在web3.js和ethereum.js中,它可以帮助开发者连接应用程序的前端,连接以太坊网络和智能合约。区块链中另一种常用的JavaScript是针对node.js的Hyperledger Fabric SDK。这是一个在IT行业和企业中经常使用的大型框架。所以,如果你喜欢这种编码,它可能是一个很好的选择。3. Python作为一种相对现代的编程语言,Python通常是新新编码者的最爱。Python具有类似于英语的简单语法。在服务器端使用Python来开发基于Web的应用程序,还可用于连接数据库系统。Python可以处理大数据并执行复杂的数学运算。Python吸引人的方面是它使用新行来完成一行命令,而不像其他编程语言,通常使用分号或花括号。不论你尝试什么语言,我们都离不开Python,几乎每个区块链生态系统都有一个或多个用Python编写的公共工具。Python也许正在成为更流行的语言。Python的优点和缺点优点缺点适用于多种平台(Windows,Mac,Linux,Raspberry等)主要用作服务器端语言与其他编程语言相比,开发人员编写更少的代码。不那么吸引人的背景在编译系统上运行。原型设计非常快。扩展库并不总是以足够全的方式记录区块链中的Python用例在区块链领域,Python用于为Hyperledger编写智能合约。还有许多其他良好的项目,比如以太坊(pyethereum),它们有自己的实现。Python也被用来为NEO创建智能协约。GoLangGoLang,也称为Go,是一种相对现代的通用领域语言。它由谷歌于2007年开发并于2012年公开应用。Go是一种静态类型的语言,语法与C语言有些类似。它的设计理念为健壮,多用途语言,Go是尝试将现代语言(如Python和JavaScript)的语法和用户友好性与C语言的性能和安全性优势相结合。Go是一种编译型语言,它提供了功能丰富的标准库。当你在使用Go在区块链项目的多个部分使用时,Go具有最大的灵活性。在Go语言中,名为Goroutines的方法提供了异步或并行运行多个程序,或程序的几个部分的能力,这是区块链项目所需要的重要特性。通常,线程用于在语言中实现这一点,例如Java和其它语言。Go的优点与缺点优点缺点编译时间很快不是很容易学习程序简单,简洁,安全Go没有像python或javascript这样的软件包超强类型,可扩展对于一些开发人员来说,语法并不清晰垃圾收集非常年轻的语言和社区,没有像其它流行语言那么大Go在区块链中的应用案例有一系列与Golang相关的区块链项目,包括为数不少的热门项目。比如Go-Ethereum是用Golang编写的最重要的项目之一。用Go编写的另一个重要项目是Hyperledger Fabric,这是很多大公司都欢迎的区块链解决方案之一。另一个针对分布式在线游戏的好项目是Loom Network,其中包含用Go编写的链码。SoliditySolidity是由以太坊团队的Gavin Wood,Christian Reitwiessner等人开发,它长得类似JavaScript,用于特定领域,同时也是面向对象的高级语言。Solidity受C++,Python和JavaScript语言的影响,其宗旨是在以太坊平台上创建应用程序和以太坊虚拟机(EVM)。EVM是在以太坊平台上编写的智能合约运行时环境。Solidity是一种静态类型语言,支持继承,库和复杂的用户定义类型。迄今为止,它是以太坊社区和区块链行业中最匹配的DSL。要运行Solidity的代码示例,我们可以使用Remix IDE。Remix是一个基于Web浏览器的IDE,具有集成的编译器和Solidity运行时环境,没有服务器端组件。它除了可以编写Solidity代码,并且可以部署和运行智能合约。Solidity的优点与缺点优点缺点在协约中提供继承属性非常年轻的语言,技术社区还不大,支持力较小。静态打字由于标准库不可用,使用非常复杂简单易学不普遍; 仅在以太坊生态系统中使用区块链中的Solidity使用案例Solidity语言用于开发以太坊智能合约。暂时没有看到任何其他项目使用,具有一定的可靠性。以太坊开发生态系统是庞大的,并且也是目前区块链开发中最重要的部分之一,因此Solidity是智能合约开发中使用的最流行的语言。小结区块链技术预计将对每个行业和行业产生巨大影响。在未来几个月到几年中,随着互联风世界变得越来越分布化,区块链被成为主流技术,未来将有无限的想像!相关引用:https://phys.org/news/2019-01-transparency-privacy-empowering-people-blockchain.htmlhttps://blockgeeks.com/guides/what-is-blockchain-technology/编译:楚龙来源:21CTO社区编辑:版权区块链联盟免责声明:本文为仅为信息传播、交流学习之用,不代表任何观点,不构成任何投资建议。如稿件版权单位或个人不想在本公众号发布,可与后台联系,本公众号视情况可立即将其撤除。发布于 2019-03-25 23:19区块链(Blockchain)赞同 3添加评论分享喜欢收藏申请转载文章被以下专栏收录区块链区块链改
以太坊开发文档 | ethereum.org
发文档 | ethereum.org跳转至主要内容学习用法构建参与研究搜索语言 ZH帮助更新此页面本页面有新版本,但现在只有英文版。请帮助我们翻译最新版本。翻译页面没有错误!此页面未翻译,因此特意以英文显示。不再显示Change page概述基础主题以太坊简介以太币简介去中心化应用程序简介Web2 与 Web3 的对比帐户交易区块以太坊虚拟机 (EVM)操作码Gas费用节点和客户端运行节点客户端多样性节点即服务节点架构轻客户端归档节点引导节点网络共识机制工作量证明矿工挖矿算法Dagger-HashimotoEthash权益证明Gasper弱主观性认证权益证明机制的奖励和惩罚权益证明攻击与防御密钥权益证明与工作量证明提出区块权益正明常见问题以太坊堆栈堆栈简介智能合约智能合约语言智能合约结构智能合约库测试用智能合约编译智能合约部署智能合约验证智能合约升级智能合约智能合约安全性智能合约形式化验证可组合性开发网络开发框架以太坊客户端APIJavaScript API后端APIJSON-RPC数据和分析区块浏览器存储集成开发环境 (IDE)编程语言DartDelphi.NETGolangJavaJavaScriptPythonRubyRust语言高级链桥标准令牌标准ERC-20:同质化代币ERC-721:非同质化代币 (NFT)ERC-777ERC-1155ERC-4626最大可提取价值 (MEV)预言机缩放乐观卷叠零知识卷叠状态通道侧链以太坊 Plasma 扩容解决方案Validium数据可用性网络层网络地址门户网络数据结构与编码默克尔前缀树递归长度前缀编码 (RLP)简单序列化 (SSZ)Web3 密钥存储定义设计基础设计和用户体验简介以太坊开发文档c上次修改时间: @cuijia(opens in a new tab), Invalid DateTime查看贡献者在本页面开发单元基础主题以太坊堆栈高级本文档旨在帮助你构建以太坊。 它介绍了以太坊概念,解释了以太坊技术栈,并记录了以太坊更复杂的应用和使用案例的高级主题。基于开源社区的努力,你可以随时提出新的主题,添加新内容,并在认为可能有用的地方提供示例。 所有文档都可以通过 GitHub 编辑 — 如果不确定如何操作,请遵循这些说明(opens in a new tab)。开发单元如果这是你首次尝试以太坊开发,我们建议从头开始,有始有终,从头到尾。基础主题以太坊简介 – 以太坊简要概述以太币简介 – ETH 简要概述去中心化应用程序简介 – 去中心化应用程序简介Web2 与 Web3 的对比 – 基于区块链的应用程序提供的基本差异帐户 – 网络中能够持有余额和发送交易的实体交易 – 转账和其他导致以太坊状态变化的行为区块 – 交易分批进行,以确保状态在所有行为者之间同步。以太坊虚拟机 (EVM) – EVM 处理以太坊网络上的所有计算操作码Gas费用 – 交易处理所需的算力,由交易汇款人使用 ETH 支付节点和客户端 – 参与网络的个人和他们运行的交易验证软件运行节点客户端多样性节点即服务节点架构轻客户端归档节点引导节点网络 – 部署以太坊,包括测试网络共识机制 – 分布式网络的各个节点如何就系统的当前状态达成共识工作量证明权益证明以太坊堆栈堆栈简介 – 以太坊/web3 堆栈概述智能合约 – 驻留在以太坊地址并在交易触发时运行功能的程序智能合约语言智能合约结构智能合约库测试用智能合约编译智能合约部署智能合约验证智能合约升级智能合约智能合约安全性智能合约形式化验证可组合性开发网络 – 用于在部署前测试 dapp 的本地区块链环境开发框架 – 方便以太坊开发的工具以太坊客户端API – 便利库,允许你的 web 应用程序与以太坊和智能合同交互JavaScript API后端APIJSON-RPC数据和分析 – 区块链数据如何汇总、组织并实施到 dapp 中区块浏览器存储 – 去中心化储存结构和机制集成开发环境 (IDE) – 写入 dapp 代码的最佳环境编程语言 – 如何使用你可能已经知道的语言开始使用以太坊DartDelphi.NETGolangJavaJavaScriptPythonRubyRust语言高级链桥 – 面向开发者的桥接概述标准 – 商定的协议,以保持项目效率和社区可及性令牌标准最大可提取价值 (MEV) – 从除了区块奖励之外的以太坊区块链中提取价值预言机 – 如何将信息注入到以太坊区块链中缩放 – 随着以太坊的发展,维护去中心化和安全的方法乐观卷叠零知识卷叠状态通道侧链以太坊 Plasma 扩容解决方案Validium数据可用性 – docs-nav-data-availability-description网络层 – 以太坊网络层的解释网络地址门户网络数据结构与编码 – 以太坊堆栈中使用的数据结构和编码方案的解释默克尔前缀树递归长度前缀编码 (RLP)简单序列化 (SSZ)Web3 密钥存储定义back-to-top ↑本文对你有帮助吗?是否下一页以太坊简介编辑页面(opens in a new tab)在本页面开发单元基础主题以太坊堆栈高级网站最后更新: 2024年2月16日(opens in a new tab)(opens in a new tab)(opens in a new tab)使用以太坊查找钱包获取以太币Dapps - 去中心化应用二层网络运行节点稳定币质押ETH学习学习中心什么是以太坊?什么是以太币 (ETH)?以太坊钱包Gas fees以太坊安全和预防欺诈措施什么是 Web3?智能合约以太坊能源消耗以太坊路线图以太坊改进提案 (Eip)以太坊的历史以太坊白皮书以太坊词汇表以太坊治理区块链桥零知识证明测试中心开发者开始体验相关文档教程通过编码来学习设置本地环境生态系统社区中心以太坊基金会以太坊基金会的博客(opens in a new tab)生态系统支持方案(opens in a new tab)以太坊漏洞悬赏计划生态系统资助计划以太坊品牌资产Devcon(opens in a new tab)企业级应用主网以太坊私密以太坊企业级应用关于ethereum.org关于我们工作机会参与贡献语言支持隐私政策使用条款缓存政策联系我们(opens in a new t区块链开发指南 (豆瓣)
区块链开发指南 (豆瓣)
登录/注册
下载豆瓣客户端
豆瓣 6.0 全新发布
×
豆瓣
扫码直接下载
iPhone
·
Android
豆瓣
读书
电影
音乐
同城
小组
阅读
FM
时间
豆品
豆瓣读书
搜索:
购书单
电子图书
豆瓣书店
2023年度榜单
2023年度报告
购物车
区块链开发指南
作者:
申屠青春
/
宋波
/
张鹏
/
汪晓明
/
季宙栋
/
左川民
出版社:
机械工业出版社
出版年: 2017-6-1
定价: 59.00元
装帧: 平装
丛书: 区块链技术丛书
ISBN: 9787111571209
豆瓣评分
5.6
22人评价
5星
18.2%
4星
13.6%
3星
36.4%
2星
18.2%
1星
13.6%
评价:
写笔记
写书评
加入购书单
已在购书单
分享到
推荐
内容简介
· · · · · ·
本书首先介绍基础密码学、算法、P2P协议、脚本等区块链基础原理与技术,然后以比特币和以太坊两大区块链平台为例,指导读者搭建测试环境,对区块链进行编译,建立私链与测试链等,帮助开发者创建自己的私链,实现智能合约、挖矿等区块链特定编程实例。
作者简介
· · · · · ·
申屠青春,金链盟常务副秘书长、银链科技CEO、深圳金融标准委员会会员、深圳大学博士,高级工程师,深圳市高层次人才,深圳市政府采购评审专家。曾获2008年深圳科技创新奖、2009年广东省科技进步三等奖,获得发明专利授权4项,获2012年深圳发明奖。2012年创立银链科技,2013年开始研究区块链,2016年转向金融行业,并发起成立金链盟。 宋波,曾在某外企支付公司任职中国区软件开发部经理,负责ATM, EMV IC银行卡,Kiosk等产品,现在某比特币公司负责移动IM的开发工作,先后参与了钱包,算法交易,区块链,交易引擎,矿池及APP等产品的开发。 张鹏,博士,讲师,硕士生导师。2005年获海军工程大学计算机科学与技术专业学士学位;2008年、2011年分获深圳大学信号与信息处理专业硕士、博士学位。随后进入深圳大学工作,现为信息工程学院讲师,中国密码...(展开全部)
申屠青春,金链盟常务副秘书长、银链科技CEO、深圳金融标准委员会会员、深圳大学博士,高级工程师,深圳市高层次人才,深圳市政府采购评审专家。曾获2008年深圳科技创新奖、2009年广东省科技进步三等奖,获得发明专利授权4项,获2012年深圳发明奖。2012年创立银链科技,2013年开始研究区块链,2016年转向金融行业,并发起成立金链盟。 宋波,曾在某外企支付公司任职中国区软件开发部经理,负责ATM, EMV IC银行卡,Kiosk等产品,现在某比特币公司负责移动IM的开发工作,先后参与了钱包,算法交易,区块链,交易引擎,矿池及APP等产品的开发。 张鹏,博士,讲师,硕士生导师。2005年获海军工程大学计算机科学与技术专业学士学位;2008年、2011年分获深圳大学信号与信息处理专业硕士、博士学位。随后进入深圳大学工作,现为信息工程学院讲师,中国密码学会会员。研究方向为密码学与信息安全。近年来主持或参与本领域的国家、省、市科技计划项目多项,申请国家发明专利10余项,在本领域核心学术刊物上发表文章20多篇,其中多篇被SCI、EI检索。 汪晓明,朝夕网络CEO,10年互联网技术产品经验,在跨境电商、大数据、区块链等领域有丰富的跨界经验。作为区块链技术早期探索者,一直积极推动区块链技术在国内的传播和应用落地,已推出面向金融机构的区块链数字资产和供应链产品。同时发起了有行业影响力的区块链视频节目《明说》,持续影响着更多人参与到区块链技术的研究和推广中。 季宙栋,万达网络科技集团先进技术研究中心副总经理,万达区块链负责人、(工信部)中国区块链技术与产业发展论坛副秘书长,超级账本中国技术工作组委员。专注互联网金融业务创新及金融科技实践,参与了工信部区块链白皮书及相关标准编制工作,ISO/IEC TC307中国代表团成员,牵头工信部区块链开源社区工作。 左川民,毕业于西南交通大学,先后在多家知名企业任技术专家,高级架构师职位。2015年开始从事区块链技术的研究工作,曾负责积分区块链项目区块链架构设计,专注于区块链技术框架Fabric的技术研究,目前为深圳科协、金链盟等机构Fabric技术框架培训讲师,同时作为中国首批区块链系统功能测试评审专家参与区块链系统评审。
目录
· · · · · ·
推荐序一 区块链的价值实现
推荐序二 区块链,推动金融代际跃升的新力量
推荐序三 区块链技术的现实和未来
前言
第1章 区块链基础 1
1.1 交易和交易链 2
· · · · · ·
(更多)
推荐序一 区块链的价值实现
推荐序二 区块链,推动金融代际跃升的新力量
推荐序三 区块链技术的现实和未来
前言
第1章 区块链基础 1
1.1 交易和交易链 2
1.1.1 比特币地址 3
1.1.2 交易的本质 3
1.1.3 输入和输出 5
1.1.4 交易类型 5
1.1.5 找零地址 6
1.2 区块和区块链 8
1.2.1 区块结构 8
1.2.2 创世块 10
1.2.3 区块链原理 13
1.3 挖矿、矿池 14
1.3.1 挖矿原理与区块的产生 14
1.3.2 挖矿难度 16
1.3.3 矿池原理与商业模式 18
1.4 脚本系统 19
1.4.1 脚本特点 20
1.4.2 脚本运行过程 24
1.4.3 脚本操作码解读 25
1.4.4 脚本执行过程 26
1.5 合约应用案例 27
1.5.1 合约应用原理 28
1.5.2 示例1:提供押金证明 29
1.5.3 示例2:担保和争端调解 30
1.5.4 示例3:保证合约 30
1.5.5 示例4:使用外部状态 32
1.5.6 示例5:跨链交易 34
1.5.7 示例6:支付证明合约 35
1.5.8示例7:特定对象的快速调整(微)支付 36
1.5.9示例8:多方去中心化彩票 37
参考资料 37
第2章 区块链进阶 39
2.1 外带数据 39
2.1.1 OP_RETURN外带数据 39
2.1.2 Multi-Signatures外带数据 40
2.2 Counterparty 40
2.2.1Counterparty附生链的实现机制详解 41
2.2.2 发送 41
2.2.3 订单 42
2.2.4 发行 42
2.2.5 广播 43
2.2.6 赌约 43
2.3 挖矿算法解析 43
2.3.1 PoW挖矿算法及分析 43
2.3.2 PoS股权证明算法及分析 44
2.3.3DPoS股份授权证明算法及分析 45
2.4 Sidechains 45
2.4.1 侧链背景 45
2.4.2 技术原理 46
2.5 zui新比特币技术 49
2.5.1 IBLT 49
2.5.2 隔离见证 50
2.5.3 闪电网络 51
2.5.4 RSMC 51
2.5.5 HTLC 52
参考资料 53
第3章 密码学基础 54
3.1 Hash函数 54
3.1.1 技术原理 54
3.1.2 SHA-1算法 55
3.1.3 SHA-2算法 57
3.1.4 SHA-3算法 64
3.1.5 RIPEMD160算法 65
3.2 椭圆曲线密码 66
3.2.1 椭圆曲线方程 67
3.2.2 公钥和私钥的产生算法 68
3.3 ECDSA数字签名 69
3.4 Schnorr数字签名 70
3.4.1 技术思想 70
3.4.2Schnorr与ECDSA的异同 70
3.5 Bloom f?ilter 71
3.5.1 技术原理 71
3.5.2 应用案例 72
第4章 比特币区块链开发 74
4.1 Bitcoin的编译过程 74
4.1.1 Ubuntu下的编译 74
4.1.2 Mac下的编译 75
4.1.3 Windows下的编译 76
4.2 代码剖析 77
4.2.1 主要模块 77
4.2.2 初始化和启动 79
4.2.3 P2P网络 80
4.2.4 交易和区块 89
4.2.5 脚本系统 89
4.2.6 挖矿 91
4.2.7 私钥 92
4.3 性能实战 93
4.3.1 建立私链 93
4.3.2 优化改进 96
4.4 API开发 97
4.4.1 命令行调用 97
4.4.2 RPC API调用接口 100
4.4.3 如何调用API进行开发 103
4.4.4通过命令实现区块链的查询实例 103
第5章 以太坊智能合约开发 109
5.1 以太坊 109
5.1.1 以太坊的定义 109
5.1.2 下一代区块链 109
5.1.3 以太坊虚拟机 110
5.1.4 以太坊的工作原理 110
5.2 以太坊账户管理 111
5.2.1 账户 111
5.2.2 钥匙文件 112
5.2.3 创建账号 112
5.3 更新、备份、恢复账号 115
5.3.1 更新账号 115
5.3.2 账号备份和恢复 116
5.4公有链、联盟链、私有链及网络配置 117
5.4.1 以太坊网络 117
5.4.2 公有链、私有链和联盟链 117
5.4.3 如何连接 118
5.4.4 更快地下载区块链 119
5.4.5静态节点、信任节点和启动节点 120
5.5 搭建测试网络和私有链 121
5.5.1 Modern测试网 121
5.5.2 设置本地私有测试网 121
5.6账户、交易核心概念及投注合约解析 125
5.6.1 外有账户与合约账户 125
5.6.2 什么是交易 126
5.6.3 什么是消息 126
5.6.4 什么是gas 126
5.6.5 估算交易成本 127
5.6.6 账户交互示例:投注合约 128
5.7 深入浅出智能合约 131
5.7.1 合约的定义 131
5.7.2 以太坊高级语言 131
5.7.3 写合约 131
5.7.4 编译合约 132
5.7.5 创建和部署合约 134
5.7.6 与合约互动 135
5.7.7 合约元数据 136
5.7.8 测试合约和交易 137
5.8 如何部署、调用智能合约 138
5.8.1 RPC 138
5.8.2 惯例 138
5.8.3 部署合约 139
5.8.4 和智能合约互动 141
5.8.5 Web3.js 142
5.8.6 控制台 143
5.8.7 查看合约与交易 143
5.9 智能合约案例实战 143
参考资料 146
第6章 Fabric原理和实操 147
6.1 超级账本项目背景 147
6.2 Fabric简介 149
6.3 系统架构 150
6.3.1 交易 150
6.3.2 区块链数据结构 150
6.3.3 节点 151
6.4 交易背书的基本流程 155
6.4.1客户端创建交易后发送到它所选择的背书节点 156
6.4.2背书节点模拟交易,然后生成背书签名 157
6.4.3提交客户端获取交易的背书,通过排序服务广播 158
6.4.4排序服务向所有节点投递交易消息 158
6.5 背书策略 159
6.5.1 背书策略规范 159
6.5.2 交易评估与背书策略 159
6.5.3 背书策略示例 160
6.6验证总账(1.0版本之后的功能)和原始总账检查点(精简) 160
6.6.1 验证总账 160
6.6.2 原始总账检查点 161
6.7 Fabric V1.0开发者快速入门 163
6.7.1 前置条件和系统配置 163
6.7.2下载源代码,创建Fabric网络 164
6.7.3 生成配置文件 164
6.7.4使用Docker创建Fabric网络&创建/加入通道(账本) 165
6.7.5 示例合约执行过程解析 165
6.7.6 查看智能合约执行日志 166
6.7.7 手工创建和加入通道 166
6.7.8使用命令行工具部署、调用、查询智能合约 167
6.7.9 开发环境故障排除 168
6.7.10 Fabric常用的Docker命令 168
6.8 智能合约开发 169
6.8.1 智能合约的定义 169
6.8.2GO语言智能合约的开发和部署 169
6.8.3 Java智能合约的编写与部署 174
6.8.4 开发和提交代码 180
相关术语 182
附录A 国内区块链联盟介绍 184
.........................
· · · · · · (收起)
丛书信息
· · · · · ·
区块链技术丛书(共19册),
这套丛书还有
《以太坊技术详解与实战》《白话区块链》《区块链开发实战:实用案例分析》《区块链原理、设计与应用》《Solidity编程:构建以太坊和区块链智能合约的初学者指南》
等
。
喜欢读"区块链开发指南"的人也喜欢的电子书
· · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
人工智能简史
24.99元
区块链核心算法解析
14.75元
终极算法
40.80元
精益数据分析
44.90元
喜欢读"区块链开发指南"的人也喜欢
· · · · · ·
算法帝国
7.2
大教堂与集市
8.5
数字乌托邦
7.7
程序员的呐喊
8.0
黑客
8.2
数学之美 (第二版)
8.8
深入理解计算机系统(原书第3版)
9.8
算法(英文版·第4版)
9.3
具体数学
9.6
挑战程序设计竞赛
9.0
我来说两句
短评
· · · · · ·
(
全部 4 条
)
热门
/
最新
/
好友
1
有用
杨建国
2018-05-20 23:07:41
附录一星,正文负分滚粗
0
有用
汪杨
2018-05-15 10:56:29
还行 开卷有益
0
有用
细嗅蔷薇
2018-09-26 09:46:03
部分章节过于沉溺于细节,有点只见树木不见森林的即视感...第四章不错,附录可以看看。
0
有用
鹿卫
2019-01-07 17:38:41
说是开发指南,实际上这本书提供不了任何实际上的帮助。如果要开发基于超级账本的区块链程序,直接看IBM的官方文档要比这个强的多。书中有一些看似深奥的概念,实际上对这个书所定位的受众来说几乎没有实际意义。
0
有用
鹿卫
2019-01-07 17:38:41
说是开发指南,实际上这本书提供不了任何实际上的帮助。如果要开发基于超级账本的区块链程序,直接看IBM的官方文档要比这个强的多。书中有一些看似深奥的概念,实际上对这个书所定位的受众来说几乎没有实际意义。
0
有用
细嗅蔷薇
2018-09-26 09:46:03
部分章节过于沉溺于细节,有点只见树木不见森林的即视感...第四章不错,附录可以看看。
1
有用
杨建国
2018-05-20 23:07:41
附录一星,正文负分滚粗
0
有用
汪杨
2018-05-15 10:56:29
还行 开卷有益
> 更多短评 4 条
我要写书评
区块链开发指南的书评 · · · · · ·
( 全部 1 条 )
热门
最新
好友
誉儿
2018-02-24 15:57:04
没亮点 一般
一般吧,只能当作概念扫盲的书了。 单看这本书,是看不下去还是学不下去的。最好结合网络上的资料一起看。或者说通过比特币的原理入手,阅读过其他资料之后再看这本书帮助大一点。 篇幅小。入门级的读物,以表格罗列为主,不适合深入学习用。 涉及广。比特币原理、以太坊、fabi...
(展开)
1
1
0回应
收起
>
更多书评
1篇
论坛
· · · · · ·
第74页那行命令少了空格
来自幽浮猫UFCAT
2018-01-09 08:25:41
当前版本有售
· · · · · ·
京东商城
40.10元
购买纸质书
中图网
42.50元
购买纸质书
+ 加入购书单
以下书单推荐
· · · · · ·
(
全部
)
区块链从入门到精通
(王爷区块链)
投机倒把
(wssccc)
区块链高分图书
(爽歪歪Why)
比特币-区块链
(大米粒)
谁读这本书?
· · · · · ·
y
2022年10月15日 读过
蜘蛛侠
2022年6月1日 想读
submarine
2022年5月2日 想读
CF
2022年2月16日 想读
> 5人在读
> 23人读过
> 87人想读
二手市场
· · · · · ·
在豆瓣转让
有87人想读,手里有一本闲着?
订阅关于区块链开发指南的评论:
feed: rss 2.0
© 2005-2024 douban.com, all rights reserved 北京豆网科技有限公司
关于豆瓣
· 在豆瓣工作
· 联系我们
· 法律声明
· 帮助中心
· 图书馆合作
· 移动应用
· 豆瓣广告
清华大学出版社-图书详情-《区块链技术开发指南》
清华大学出版社-图书详情-《区块链技术开发指南》
注册
+
申领样书
站内搜索
首页
关于我们
社长致辞
企业简介
组织机构
海外合作
企业荣誉
社务委员会
新闻
图书
纸质书
电子书
在线课程
期刊
会议活动
分社导航
计算机与信息分社
理工分社
经管人文分社
外语分社
音像电子与数字出版分社
职业教育分社
生命科学与医学分社
基础教育分社
学术出版中心
直属事业部
第五事业部
第八事业部
重点实验室
联系我们
读者服务
欢迎投稿
院系/图书馆服务
经销商服务
版权贸易
人才招聘
授权书查询
会员
ENGLISH
首页 > 图书中心 >图书详情
区块链技术开发指南
本书理论和实践相结合,非常详细的对区块链技术进行了系统全面讲解,并且附有大量的实例,适合区块链技术的初学者和开发者。
作者:马兆丰 高宏民 彭雪银 孙嘉慧
定价:98.90元
印次:1-1
ISBN:9787302561149
出版日期:2021.02.01
印刷日期:2021.01.18
在线购买
纸质书
电子书
试读
样书申请
收藏 分享
内容简介
前言/序言
资源下载
版权信息
第一篇介绍比特币区块链的技术原理,包括交易、区块和区块链、挖矿、脚本等基础知识以及闪电网络、隔离见证等进阶技术。
第二篇介绍以太坊区块链的技术原理,包括以太坊的简介、账户、交易原理、智能合约等,并讲解搭建私链、智能合约开发、部署和调用等实操内容。
第三篇介绍开源的区块链底层技术平台Hyperledger的原理和实操,对Hyperledger系统架构、节点、验证总账等进行了分析。
more >
前言
区块链技术源自比特币,是比特币的底层技术。自从2008年一个化名为Satoshi Nakamoto(中文翻译为中本聪)的人发表了一篇论文《比特币: 一种点对点式的电子现金系统》,比特币拉开了极具创新的区块链技术帷幕,让区块链逐渐进入大众视野。2013—2014年,以太坊的概念由程序员出身的Vitalik Buterin提出,其理想在于构建“下一代加密货币与去中心化应用平台”。以太坊首次将智能合约的概念与区块链相结合,并使用区块链为智能合约的执行提供可信的运行环境,使得智能合约的实现成为可能。同时,智能合约的引入,也让区块链的应用场景更加丰富。因此,可以说比特币开辟了区块链,以太坊让区块链有了质的飞跃。
2015年12月,Linux基金会宣布并发起了Hyperledger开源项目,项目的目标是区块链及分布式记账系统的跨行业发展与协作,并着重发展区块链的性能和可靠性,使之可以支持主要的技术、金融和供应链公司中的全球商业交易。Hyperledger项目将采用独立的开放协议和标准,通过框架方法和专用模块,实现区块链的身份服务、访问控制、共识机制和账本管理等核心技术。随后,2017年BM(Daniel Larimer的网名缩写)发起了BlockOne,提出开发类似操作系统的区块链架构平台(Enterprise Operation System,EOS),旨在实现分布式应用的性能扩展,EOS提供帐户、身份验证、账本管理、异步通信以及在数以百计的CPU或群集上的程序调度。2019年6月18日,Facebook发布Libra白皮书,旨在推出一种不追求对美元汇率稳定,而追求实际购买力相对稳定的加密数字货币。不难看出,无论是从追逐利益还是创新技术的角度,区块链技术随着人们对于经济博弈或者技术创新等因素在波澜壮阔地发展着,我们相信,新的技术会不断涌现,新的应用也一定会被实现。
随着技术的发展,区块链的多链、跨链、平行链、主/侧链技术也在不断演进。那么区块链的本质究竟是什么?它具有怎样的价值体现?区块链能在哪些领域起到何种作用?本书先简单从以下角度来阐述区块链的技术本质、信任体系、价值作用以及理性看待区块链的问题等内容。
1. 区块链是一种不可篡改的分布式账本
从技术角度上讲,区块链是一种不可篡改的分布式账本。区块链技术是以密码学算法为基础,基于特定的共识机制,通过构建以块为单位的时序化的链式数据结构,采用P2P网络进行数据同步的一种多节点、自组织、不可篡改、安全可信的分布式账本系统(在后续的技术发展中区块链支持了智能合约和虚拟机)。区块链具有去中心化、集体维护、不可篡改和安全可信等特点。根据其开放程度,区块链技术一般分为公有链、联盟链和私有链。
我们认为,区块链不单纯是一个技术问题或是一个经济学问题,区块链涉及人类文明中关于经济学、博弈论、心理学、哲学、社会学、数学、信息科学(包括密码学、分布式计算、计算机网络、数据库等核心科学技术)等多种学科。
2. 区块链的本质价值是分布式协同信任
在信任模型方面,传统的任务处理是围绕高度集中的中心化系统来处理的,其信任模型主要依赖于第三方机构的可信程度。从信任机制上来说,传统的任务处理是中心化、集中式的单点信任机制,而区块链的任务处理则是多节点、分布式的多点信任机制。因此,区块链的本质价值是分布式协同信任。区块链提供了一种多节点、自组织、可证明的分布式协同信任能力。正因为如此,无论是基于公有链的数字资产还是联盟链的数据存证才有了在技术和机制上的不可篡改、安全可信支撑,最终才形成了由分布式信任体系带来的价值承载。
3. 区块链是一种分布式高阶信任基础设施
关于区块链技术的应用价值,传统的信任支撑是基于对特定权威机构的无条件信任,这种中心化的信任管理缺乏技术和机制上的透明性、对等性、公平性和可验证性。区块链提供了一种分布式的协同信任,它提供了一种公平、对等、分布式的信任基础设施,参与到系统的人可以对相关数据进行独立查证核验,而任何人无法随意篡改已经形成的历史账本数据,系统的可信性和数据的不可篡改性是通过区块链本身的技术和机制来保证的。区块链在底层从技术和机制上提供了一种公平、透明、对等、自组织、分布式的高阶信任支撑,凡是需要用到高阶信任的场景,区块链技术都大有可为。因此,从区块链的应用价值上来说,区块链是一种分布式高阶信任基础设施。区块链可以提供“分布式协同信任、公平透明化监管”。区块链能够为人类文明进步和社会治理发展带来巨大变革。
4. 区块链可在社会治理方面发挥重要作用
在区块链产业应用方面,随着人工智能、大数据、云计算、物联网、5G等技术的快速进展,各行各业的信息和资产都在高速数字化,再进一步数据资产化,形成数字资产。区块链的技术原理让数字时代价值流转的每一步操作都可以公开、透明、有迹可循且不可篡改,这会让数字经济时代的每一笔交易都变得更加真实可信,其分布式网络的特征保证了数据的安全性和开放性,区块链的智能合约可有效地约束链上交易者的行为。从产业应用角度,区块链可在商品防伪、食品安全、公益慈善、公证信用、社会服务、智慧交通、能源电力等社会治理和社会服务等多个方面发挥作用。
5. 必须理性看待区块链相关问题及风险
在区块链技术问题及潜在风险方面,我们需要正确看待,理性应对,切忌急功近利,急于求成,不可盲目推崇或一哄而上。事实上,区块链由于其技术原理和工作机制,处理性能相比中心化的系统来说天然低效,不可能比中心化的系统更快,这就要求我们对区块链的应用领域和应用方式理性看待,客观评估。同时,须谨防不当的意识形态或舆情信息上链(特别是公有链); 须注意区块链金融风险以及区块链技术方面的安全问题。这些需要政府和监管机构合理引导和适度监管。我们应针对不同的区块链应用需求,认真做好区块链业务逻辑设计,扎实做好技术创新和应用支撑。只有这样才能把区块链技术和产业创新发展真正落到实处,区块链才能最终有效推动社会治理和社会进步。
本书章节结构
北京邮电大学区块链技术及安全实验室属于接触、研究区块链较早的团队,对区块链技术已经投入大量的研究和实践,积累了许多宝贵的经验。希望通过本书,将我们长期以来的技术积累和经验分享给读者,消除读者对区块链技术的一些误区,让不了解区块链技术的读者对区块链能够有一个系统而详尽的全新认识,让想要从事区块链工作的读者能够掌握一些区块链开发的实战技巧,为想要深入研究区块链的读者厘清未来的发展趋势和研究方向。
本书分为3篇,共22章,基本涵盖了大部分区块链技术知识点,适用于不同类型读者阅读。
第1篇为基础篇,主要介绍区块链技术的普适原理,对区块链技术的两大核心技术——密码学和共识机制进行了详细讲解,适用于区块链技术的初学者以及想要了解区块链技术原理的爱好者。
第1章本书的开篇,首先介绍了区块链的一般原理及涉及的主要技术,给出了区块链技术的分层架构,探讨了一些区块链的基本概念,如区块链发展阶段、区块链分类及适配性、区块链的发展前景等,从宏观角度带领读者初步认识区块链。
第2章介绍区块链的安全基石——密码学,详细讲解现阶段区块链中涉及的常见密码学技术,如非对称加密、数字签名、Hash摘要、Merkle树以及零知识证明等技术,介绍了我国商用密码算法基本情况,展望了量子计算后的密码学发展趋势。
第3章介绍共识算法,讨论区块链的信任基石——共识机制,介绍共识机制的起源背景,讲解了不同假设条件下分布式共识机制的研究成果,并详细分析了区块链诞生后,适用于区块链平台的常见共识机制。
第2篇为技术篇,本部分又分为三大块,分别介绍比特币、以太坊和Hyperledger Fabric,以这三种典型区块链平台的技术原理和实际操作开发为目标,适用于区块链技术的从业者和想要深入掌握区块链技术的IT开发人员。
第4章介绍比特币的起源及发展史,并以比特币官方钱包BitcoinCore为例,指引读者获取比特币、使用比特币,对比特币平台有初步认识。
第5章介绍比特币的几大基础技术概念,密钥地址、交易以及脚本,不仅从原理上进行讲解,并使用命令行操作工具查看地址和交易的实际格式和转换过程,方便读者理解。
第6章介绍比特币系统中的区块链技术原理,包括技术参考架构、区块结构、网络传输、挖矿和共识等,引领读者了解比特币区块链的运行原理。
第7章介绍比特币区块链近几年的进阶技术,包括隔离见证和闪电网络,使读者了解比特币的未来发展情况。
第8章介绍比特币区块链的实战操作,包括在各个系统版本下比特币源码的编译和运行,搭建私有链发行自己的Altcoin,并为自己的代币搭建区块链浏览器。
第9章对以太坊区块链进行总体描述,介绍了以太坊区块链中的几个核心概念,账户、交易、区块、节点、挖矿和共识、EVM虚拟机等。
第10章介绍以太坊区块链的分层架构,并分别介绍每一层的核心功能和技术原理,引领读者了解以太坊区块链的运行原理。
第11章介绍以太坊区块链作为区块链2.0时代的代表所具有的典型功能,包括平台本身的链相关应用和基于以太坊智能合约的DApp应用,让读者了解以太坊区块链到底能做什么。
第12章介绍如何获取以太坊源代码,编译并搭建自己的私有链,包括启动节点、多节点组网、引导节点配置及多节点启动等内容。
第13章介绍以太坊智能合约开发的全过程,包括智能合约语言Solidity,以及智能合约的整个生命周期——编译、部署、调用、销毁和测试方法等,并通过开发ERC20数字资产带领读者了解智能合约的开发和使用过程。
第14章主要针对以太坊区块链的实操训练,包括DApp的介绍和一个实际的DApp开发案例,带领读者使用Web3.js+Remix+Node.js实现一个发行数字资产和锁仓的DApp。
第15章介绍以太坊区块链近几年的进阶新技术,包括使用以太坊实现的联盟链Quorum,解决以太坊区块链可扩展性的分片技术,以完善整个区块链生态为目标的侧链技术,使读者了解以太坊的未来发展情况和方向。
第16章介绍超级账本的诞生背景和发展,详细讲解Hyperledger Fabric的基础技术原理,包括Fabric的技术架构、网络架构、账本数据、共识机制、通道化数据、交易流程和智能合约等基本概念及运行原理。
第17章介绍Fabric的网络部署及部署过程,从搭建基础环境到简单构建Fabric网络,也包括一些基本操作,如启动节点、通道管理以及链码管理等。
第18章主要针对超级账本区块链上智能合约开发的实操练习,介绍不同类型链码的结构及Fabric SDK的使用,最后使用HyperledgerComposer去开发一个区块链项目,读者能从整体上了解如何开发一个区块链项目。
第3篇为进阶篇,主要介绍区块链技术一些更高阶技术,包括区块链技术现在所面临的一些技术问题,详细讲解了区块链技术现阶段所存在的安全问题及区块链智能合约的安全检测。同时,也对目前关于区块链的最前沿技术进行了介绍。该部分适用于想对区块链技术有更加深入了解的读者。
第19章介绍目前区块链发展在技术层面上所面临的问题,主要分为三个方面,区块链技术本身的局限性、共识算法的问题和可扩展性问题。
第20章介绍区块链在安全方面所面临的问题,从技术分层上详细讲解了在设计区块链平台时每一层所需要考虑的安全问题。同时,介绍了区块链的隐私保护问题,讲解了目前可能能够用来解决区块链隐私问题的密码学技术。
第21章列举了智能合约,特别是以Solidity开发的以太坊智能合约中常见的安全漏洞,介绍了一些检测智能合约漏洞的工具和形式化验证方法。
第22章介绍了现阶段区块链发展的一些新的前沿技术,包括跨链技术、EOS区块链和DAG区块链。
读者对象
高等院校区块链研究师生
区块链技术从业者
区块链应用开发人员
区块链技术爱好者
致谢
本书编写过程中,得到清华大学出版社卢先和常务副总编辑、副社长的大力支持,并建议成立编委会,对本丛书提出了“高标准、严要求、出精品”的编写宗旨,卢社长对本套丛书寄予了很高的期望并提出了具体的要求。在本套丛书规划和建设方面,北京大学区块链研究中心主任陈钟教授、清华大学信息学院邢春晓副院长、清华大学计算机系徐恪主任及赛迪区块链研究院刘权院长和各位编委对本套丛书的选题原则、编写要求、质量把关等方面提出了诸多宝贵意见和建议,要求本套丛书“成熟一本,出版一本。严控质量,宁缺毋滥”,才使得本套丛书最终得以立项和启动。
衷心感谢北京大学陈钟教授、清华大学徐恪教授、赛迪区块链研究院刘权院长在百忙之中为本书写了寄语。同时,感谢北京邮电大学网络空间安全学院陶小峰院长、李小勇副院长,北京邮电大学信息安全中心主任杨义先教授、钮心忻教授、罗守山教授、王励成教授、李丽香教授、彭海朋教授等同事的大力支持,他们在百忙之中为本书的编写提出了许多宝贵意见,给予了我们很大帮助和鼓励,在此一并表示诚挚的谢意。
在本书编写过程中,我们要真诚地感谢邹均博士,邹博士的两本区块链书籍《区块链技术指南》和《区块链核心技术与应用》给了我们很大的启发,也是我们实验室团队许多学生的必读物,邹博士在区块链方面的深刻独到见解以及勤奋努力,让我们深受鼓舞,一直是我们心中很有水平的区块链学者之一。本书第3章内容“共识算法”由邹博士提供,对邹博士的大力支持再次表示感谢。
非常感谢中国传媒大学的姜正涛老师,他在繁忙的教学和学术科研中抽出时间来对区块链的核心组件“密码学”做出了详尽的阐述。在本书编写的过程中,姜老师在密码学方面给予了我们很大的支持,本书第2章内容由姜老师提供。
非常感谢本书的作者高宏民、彭雪银和孙嘉慧,他们在实验室团队科研工作之余抽出时间编写了这本书,并且经过多次修改。没有这些作者辛苦的努力,就不会有这本书。
衷心感谢清华大学出版社闫红梅老师在本书撰写过程中给予我们的大力支持和帮助,闫老师对书稿的内容提出了许多宝贵的修改意见和建议,使书稿的质量有了很大提升。同时,感谢刘键老师为本书不厌其烦地设计了多个版本的封面。
感谢我们北京邮电大学区块链及安全技术联合实验室全体成员,包括王真、张宇青、王小畅、王凌云、赵伟哲、戚娟、翟志斌、刘佳薇、孟嘉霖、彭如月、李曦凌、侯雨桐、陈晗、孟佳霖、刘嘉微、翟志斌、张茜、王思蝶等博士生和硕士研究生; 感谢已经毕业的闫玺玺、张德栋、唐鑫、蒋铭等博士生对我们给予的大力支持; 感谢课题组已毕业的范志强、宋志毅、黄宇轩、陈云超、周远大、王一涵、曹啸、汤涯云、李烨昊、李天博、尚丹、刘亚楠、樊炳新、李兆罚等优秀硕士生对实验室师弟、师妹给予的温馨关心和帮助; 感谢我们团队的杨娟、王云辉、梁孔德、李艳芳、胡月等人员,特别是梁孔德在技术方面做了大量卓有成效的工作,给团队起了带头示范作用。这一切都让我们实验室大家庭团结、温馨而极具活力。
在本书编写过程中参考和引用了大量的文献资料,在此,向被引用文献的作者表示衷心感谢!尽管我们在本书撰写过程中力求准确、严谨,但由于作者水平有限,加之时间仓促,特别是区块链技术的发展非常快速,在书稿撰写到出版过程中,有一些技术已经做了升级换代,书中难免存在缺点与疏漏之处,敬请广大学者、专家、同行予以批评指正,并请提出宝贵意见和建议。
编者
2020年12月
more >
暂无课件
样章下载
暂无网络资源
扫描二维码
下载APP了解更多
版权图片链接
图书分类全部图书
计算机与电子信息计算机基础计算机文化基础办公自动化应用基础公共基础软件技术基础计算机导论计算思维计算机组成与原理计算机组成计算机原理接口技术操作系统计算机硬件嵌入式单片机算法与程序设计C程序设计数据结构C++语言编译原理Visual BasicJava汇编语言FoxProDelphi算法pb其他C#JSP计算机技术及应用计算机技术及应用计算机网络InternetTCP/IP计算机网络网页制作电子商务网络安全网络工程物联网网站开发移动互联图形图像与多媒体图形学多媒体图形图像摄影计算机辅助设计计算机辅助设计AutoCADCATIA数据库SQL ServerFoxProAccessOracle数据库原理数据挖掘PowerBuilder数据统计数据检索软件工程软件工程导论软件工程软件测试信息安全密码学概论病毒防护网络信息安全电子信息电子信息基础通信工程微电子光电子自动化电子信息与计算机计算机--其他其他理工数理基础数字逻辑离散数学线性代数数理基础数学基础数学教材数学专业及研究生教材教辅及考研图书引进图书专著、工具书及其他参考书多媒体课件及网络教学资源物理基础物理教材物理专业及研究生教材教辅及考研图书引进图书专著、工具书及其他参考书多媒体课件及网络教学资源力学基础力学教材力学专业及研究生教材教辅及考研图书引进图书专著、工具书及其他参考书多媒体课件及网络教学资源化学化工基础化学化学化工引进图书专著、工具书及其他参考书多媒体课件及网络教学资源机械材料汽车能源机械仪器仪表材料汽车能源与动力工程引进图书专著、工具书及其他参考书多媒体课件及网络教学资源工业工程国外大学优秀教材-工业工程系列(影印版)国外大学优秀教材-工业工程系列(翻译版)物流供应链丛书其他普通高等学校物流管理专业系列教材工业设计工业设计建筑土木水利建筑学(教材)建筑设计土木工程水利工程工程管理装饰装修建筑文化风景园林城市规划环境与给排水环境科学与环境工程给排水引进图书专著、工具书及其他参考书多媒体课件及网络教学资源电工基础与电气工程电工基础电气工程专著、工具书及其他参考书多媒体课件及网络教学资源航空航天航空航天科幻漫画质量管理科幻小说经管与人文经济管理人力资源管理物流工商管理市场营销经济学经济读物金融学财政学国际经济贸易会计学旅游管理公共管理电子商务考试用书其他管理科学与工程人文社科伦理学教育学心理学哲学语言文学史学新闻传播学体育其他政治学社会学清华校史读物综合社会职业培训工程技术操作技能类城市服务业基础技能类就业素质教育类其他建筑人文文化与传播新闻学新闻史新闻理论新闻实务专题研究经典文集其他传播学传播史传播理论媒介研究方法媒介文化国际传播新媒体传播专题研究【国家形象、传媒工作坊】其他媒介艺术影视【影视理论、文化、产业、实务、纪录片】动漫数字媒体【游戏、社交媒体、短视频、新媒体艺术】其他文化艺术对外汉语礼仪美育【绘画、雕塑、建筑】文学作品中国传统文化世界文化专题研究【艺术与科学、清华美术】写作训练生活自助类(心理自助、日常护理)综合类法律与艺术法律司法考试用书法律知识读物宪法与行政法法理法史刑法诉讼法经济法民商法国际法知识产权法司法案例比较法艺术服装艺术设计工业设计环境艺术设计建筑染织艺术设计摄影艺术设计视觉传达艺术设计书法陶瓷艺术设计信息艺术与设计绘画雕塑工艺美术艺术设计学艺术类基础教学生物与医学医学与生物学教材教学辅导及考试用书引进版图书专业工具书和手册医学专业参考书生物学专业参考书大众读物语言非英语专业本科教材非英语专业本科教材非英语专业研究生教材非英语专业研究生教材专升本教材专升本教材英语专业教材英语专业教材选修课系列教材选修课系列教材专门用途英语教材商务英语其他娱乐休闲英语娱乐休闲英语英语学习方法英语学习方法非英语语种图书日语德语外语--其他其他科普与少儿科普读物院士科普第一辑院士科普第二辑院士科普第三辑院士科普第四辑走进科学殿堂华裔科学家科普文集其他少儿儿童文学益智游戏科普百科低幼启蒙卡通动漫少儿英语其他辞书工具书学术书辞书辞书学术类图书学术类图书工具书工具书考试书考试类用书国内考试用书国外考试用书计算机考试类图书计算机等级考试软件资格水平考试计算机类认证考试职称考试基础与职业教育高职高专--公共基础课公共基础课系列高职高专--人文社科类法律专业新闻高职高专--计算机类计算机基础教育系列计算机专业基础系列计算机应用专业网络专业软件专业数据库专业多媒体技术专业电子商务专业嵌入式设计高职高专--电子信息类电子信息基础系列微电子技术专业通信技术专业电气自动化专业应用电子技术专业高职高专--机电类机电一体化专业汽车专业机械基础系列机械设计与制造专业数控技术专业模具设计与制造专业高职高专--工科类建筑专业工程管理专业高职高专--经济管理类经济管理基础系列市场营销专业财务会计专业企业管理专业物流管理专业财政金融专业电子商务专业国际商务专业人力资源管理专业高职高专--服务类旅游专业饭店管理专业文秘专业艺术设计专业物业管理专业基础教育--英语教材教辅课外读物综合知识基础教育--信息技术教材教参课外读物教师培训科普读物中职教育--计算机类计算机基础教育系列计算机专业基础系列计算机应用专业网络专业软件专业数据库专业多媒体技术专业中职教育--公共课公共基础课系列中职教育--经济管理类经济管理基础类物流管理专业财政金融专业市场营销专业企业管理专业国际商务专业财务会计专业中职教育--电子信息类电子信息基础系列微电子技术专业通信技术专业电气自动化专业应用电子技术专业中职教育--机电类机械基础系列机械设计与制造专业数控技术专业模具设计与制造专业机电一体化专业汽车专业中职教育--服务类旅游专业饭店管理专业文秘专业艺术设计专业
作者荐语
编辑推荐
more >
马兆丰,男,博士。IEEE会员、ACM会员及CCF会员。现为北京邮电大学区块链及安全技术联合实验室主任,北京邮电大学移动互联网与大数据安全联合实验室主任,北京邮电大学网络空间安全学院研究生导师。2004年毕业于西安交通大学计算机科学与技术系,获博士学位,2005年进入清华大学计算机科学与技术系博士后流动站从事博士后研究工作,2007年博士后出站后进入北京邮电大学正式参加工作。当前主要从事网络与信息安全、区块链及安全技术、移动互联网与大数据安全创新、数字版权管理及水印等方面的教学、科研和成果转化等工作。作为负责人,完成/主持国家自然基金委、科技部、新闻出版总署、国家计算机网络安全管理中心、北信源、腾讯、中国联通、中国移动、中国银河证券、长城传媒集团、新奥特集团、天柏集团、文化部、二次云、区块链通等课题20多项,发表论文32篇,申请专利9项。主导并建立了“北邮-腾讯-信息安全技术创新基地”、“北邮-北信源-信息安全技术联合实验室”、“北邮-二次云-移动互联网与大数据安全联合实验室”和“北邮-区块链通-区块链及安全技术联合实验室”。以公益形式被聘任为中创红星创投基金技术委员会主任,为移动互联网、区块链、网络安全领域
本书是北京邮电大学区块链技术及安全实验室团队技术创新和应用实践的经验总结,由浅入深的对区块链技术进行了比较全面的剖析,从基础概念到项目案例实践,层层揭开区块链技术的神秘面纱,对读者理解区块链和进行区块链实践都能提供极大的帮助。
目录
特色介绍
文摘
more
>
目录第1篇基础篇第1章绪论1.1区块链技术一般原理1.1.1技术理念1.1.2工作流程1.1.3数据结构1.2区块链涉及的技术基础1.2.1密码算法1.2.2共识机制1.2.3P2P网络1.2.4嵌入式数据库1.2.5智能合约1.3区块链分层参考模型1.3.1网络层1.3.2数据层1.3.3安全层1.3.4共识层1.3.5合约层1.3.6服务层1.3.7应用层1.4区块链技术发展及特点1.4.1区块链1.01.4.2区块链2.01.4.3区块链3.01.5区块链分类及适配性选择1.5.1公有链1.5.2联盟链1.5.3私有链1.6区块链发展趋势及应用1.6.1区块链发展趋势1.6.2区块链应用前景1.7本章小结参考文献第2章密码学2.1密码学简介2.2密码系统攻击2.3密码算法设计原则2.4对称密码算法2.4.1AES2.4.2分组密码工作模式2.5公钥密码算法2.5.1公钥密码算法简介2.5.2RSA公钥密码算法2.5.3ECC公钥密码算法2.6Hash函数2.6.1Hash函数原理2.6.2SHA2562.6.3RIPEMD160与SHA3...
精彩书评more >
标题
评论
关于我们
企业新闻
社长致辞
企业简介
组织机构
海外合作
社务委员会
产品中心
图书
期刊
书目下载
分社导航
计算机与信息分社
理工分社
经管人文分社
外语分社
音像电子与数字出版分社
职业教育分社
生命科学与医学分社
基础教育分社
直属事业部
第五事业部
第八事业部
联系我们
读者服务
欢迎投稿
院系/图书馆服务
经销商服务
版权贸易
人才招聘
授权书查询
+
扫描关注官方微博
扫描关注官方微信
访问量:
510834816
友情连接
版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号
联系我们 |
网站地图 | 法律声明 |
友情链接 | 盗版举报 | 人才招聘
区块链教程 - 廖雪峰的官方网站
区块链教程 - 廖雪峰的官方网站
Index
廖雪峰的官方网站
Blog
Java教程
手写Spring
手写Tomcat
Makefile教程
Python教程
JavaScript教程
区块链教程
SQL教程
Git教程
文章
问答
More
Java教程
手写Spring
手写Tomcat
Makefile教程
Python教程
JavaScript教程
区块链教程
SQL教程
Git教程
文章
问答
Java教程
手写Spring
手写Tomcat
Makefile教程
Python教程
JavaScript教程
区块链教程
SQL教程
Git教程
文章
问答
Profile
Passkey
Sign Out
Sign In
English
简体中文
Index
区块链教程
比特币
区块链原理
P2P交易原理
私钥
公钥和地址
签名
挖矿原理
可编程支付原理
多重签名
UTXO模型
Segwit地址
HD钱包
钱包层级
助记词
地址监控
以太坊
账户
区块结构
交易
智能合约
编写合约
部署合约
调用合约
编写Dapp
常用合约
ERC20
Wrapped Ether
关注公众号不定期领红包:
加入知识星球社群:
关注微博获取实时动态:
区块链教程
Last updated: ...
/
Reads: 58828652
Edit
区块链(Blockchain)技术源于比特币。在比特币中,为了保证每笔交易可信并不可篡改,中本聪发明了区块链,它通过后一个区块对前一个区块的引用,并以加密技术保证了区块链不可修改。
随着比特币的逐渐发展,人们发现区块链本质上其实是一个分布式的,不可篡改的数据库,天生具有可验证、可信任的特性,它不但可用于支持比特币,也可用于数字身份验证,清算业务等传统的必须由第三方介入的业务,从而降低交易成本。
虽然区块链近年来越来越火,各种概念和商业模式满天飞,但基于区块链底层技术的研究却很少。本教程从零基础开始,从底层开始研究区块链,彻底掌握区块链密码学原理、安全机制、共识技术与工程实现。最大的特色是:
零基础入门区块链,还能写代码!
不仅掌握理论,还能写代码实现,这样就可以轻松识别真假区块链,同时对未来技术的发展有清晰的认识。
本教程代码主要用JavaScript编写,可在线运行,学习方便,省时省力!
最后,请大家务必注意:
本教程为技术教程,教程的所有内容均不构成任何投资比特币或其他数字货币的意见和建议,也不赞成个人炒作任何数字货币!
本教程为技术教程,教程的所有内容均不构成任何投资比特币或其他数字货币的意见和建议,也不赞成个人炒作任何数字货币!
本教程为技术教程,教程的所有内容均不构成任何投资比特币或其他数字货币的意见和建议,也不赞成个人炒作任何数字货币!
重要的话说三遍,一心炒币,对技术不感兴趣的童鞋请自觉关闭页面离开,不要继续浪费时间学习。
Comments
Make a comment
Sign in to
make a comment
Index
区块链教程
比特币
区块链原理
P2P交易原理
私钥
公钥和地址
签名
挖矿原理
可编程支付原理
多重签名
UTXO模型
Segwit地址
HD钱包
钱包层级
助记词
地址监控
以太坊
账户
区块结构
交易
智能合约
编写合约
部署合约
调用合约
编写Dapp
常用合约
ERC20
Wrapped Ether
廖雪峰的官方网站
©Copyright 2019-2021
Powered by iTranswarp
Feedback
License
区块链开发者入门指南 - 知乎
区块链开发者入门指南 - 知乎切换模式写文章登录/注册区块链开发者入门指南柏链教育一份帮你入门的资源清单特别感谢 RNG[4] 主持了产生本文的谈话。RNG 是一个由游戏玩家、游戏开发者、区块链开发者、电竞爱好者、元老级爱好者、NFT 爱好者以及几乎所有喜欢和这些人混在一起的古怪集体。最近,有人在论坛上说,希望我为学习区块链的开发者推荐资源,于是我整理了这篇文章。这不是一篇聊关于区块链优势和劣势的文章,只是一篇学习指南而已,给想要学习区块链的人一点帮助,也可以了解到开发区块链应用的步骤。不是所有东西都应该在区块链上。外面有很多不同的资源,就像任何技术栈的选择一样,事情可能会变得很有意见。特别是对于这个领域的新人来说,仍然需要引导到正确的工具。我将尝试在我的意见和一般清单之间找到一个中间地带。其实我们可以找到很多资源,然而就像任何技术栈的选择一样,可能会遇到一些比较片面或者有偏见的意见,特别对于这个领域的新人来说,更需要正确的引导。我会努力尝试选一个比较中立的清单推荐。你想在哪条链上构建?这其实并不重要--接下来我要聊的是以太坊上的工具和资源。其中有些与其他一些链兼容,有些不兼容(至少我是这么猜的)。我个人认为,如果你是第一次学习区块链应用,学习如何为以太坊编写和部署可能是最好的开始,即使你的目标是在不同的链上构建。因此,这里的列表是以以太坊为重点的。A 警告以太坊是变化非常快的,你知道三年前 React 的代码和现在有多不同吗?相比 React,以太坊的变化要大的多。Solidity 的发展速度很快,而且有时候还会出现突破性的变化。随着 EIP 不断的探索更优的定价机制,gas 优化也在不断的变化。伴随不断的发现和推广新的模式,也就不断的出现新的 bug,从而不断的解 bug。今天你看到是这样的,到明天也许就不是这样了。即便如此,如果你学会了 solidity 0.5,你仍然具备理解 0.7 的能力,不仅如此,会让 0.7 变得更容易,而不是更难。编写智能合约要创建一个 dapp,你首先需要具备写智能合约的能力,并且还要可以让其他东西与之通信。我先假设那些与合约通信的东西,无论是前端、API、或者其他任何什么,都是用 JavaScript 编写的。JS 有大量的库可用,我觉得大多数主流语言都有与 Ethereum 通信的库,但是我个人对 JS 的系统了解的最多。值得一提的是你可以不用写合约直接创建一个 dapp。在公链上,你可以在别人的合约上创建 app。你想为 Uniswap 创建一个前端吗?Uniswap 是不会阻止你的。因为商标的原因,你不能以 Uniswap 团队的身份创建前端,但你可以说:“嘿,这是我的 Uniswap 前端,它可以做 Uniswap 前端能做的一切,更酷的是,每个月付我 5 美元你就可以使用它。”这样是完全没有问题的。通常,我们假定你至少具备在 Ethereum 上开发智能合约的一般知识。如果你看不懂合约,那么你很难写出一个与 Uniswap 合约的接口。Solidity 是一种智能合约语言,你可以从它开始学习。Vyper 是一种超级酷的语言,我还有一个用 Vyper 写的 PR,但是它不是你的起点。Solidity 有更大的社区,这意味着更多的资源,并且当你卡住的时候可以有更多的人可以求助。Cryptozombies[5]可能仍是嵌入 Solidity 最好的工具,虽然我觉得它并没有好好维护。这是一个制作类似 Cryptokitties 游戏的教程。(有一个游戏制作教程,是 Vyper 的一个阶段工作,点击这里[6]查看)我发现,Solidity 文档[7] 是非常易读的,虽然我通常对阅读文档有心理障碍。特别是“Solidity by Example”部分,对于理解 Solidity 的不同元素非常有帮助。Visual Studio Code 有很好的 Solidity 工具,据我所知,Atom 也有一些不错的工具。我觉得 Vim 迫切需要一个新的维护者,我对 Emacs 不了解,但我肯定它也有一些支持者。最后:有很多通用的合约,可以直接拿来用,而不需要自己写。你听说过制作属于自己的 ERC20 代币或者 NFT 吗?你可以直接用一个经过审计的、可靠的、开源的模板,在模板的基础上创建,而不是从头开始写。黄金标准Open Zeppelin[8],这里[9]是他们的合约库,他们也有自己的npm 包[10]。智能合约沙盒(开发链)。Solidity 之后,我们要讨论的是合约沙盒。假设你已经写了一个合约,你现在想要测试一下,看看他是否正常工作。你该怎么做呢?没错,你不会想要把所有的”Hello world.“或者草案合约都部署到主网上。虽然有测试网(主网 Ethereum 区块链的本地版本,测试网上的 ETH 是没有价值的,也不可以转移到其他链上),但一般工作流也不会直接上测试网。取而代之的是开发链,这是你可以根据需要在自己机器上运行的虚拟链。它可以帮你看到你的合约是否在编译,并且可以测试合约的函数、变量以确保都按照预期正常工作。不过开发链有一些限制 —— 一个简单的例子,假如你正在开发与 DAI 交互的程序,这意味着除了部署自己的合约外,每次运行时都会在开发链上部署一个克隆 Maker(DAI). 这是伟大的第一步。主要工具:Remix[11],如果你只处理合约而没有其他(没有前端)。Remix 也可以连接测试网和主网,是一个非常强大的工具。它会有一个学习曲线,刚开始可能看起来像在胡言乱语,但是一旦你掌握了编译和部署,你就可以用它做很多事。Ganache[12](Truffle[13]套件的一部分),和Hardhat[14](Nomic Labs[15]的一个独立框架)-- 我们将在一分钟内详细讨论这两个框架。它们是更大的框架的一部分,可以单独用于合约,但当你有一个完整的应用程序时又会大放光彩。总结一下,传统的合约部署包含以下步骤。首先,合约需要被编译,从 Solidity(或其他语言)转化为 JSON 串。你会注意到一种特别的 JSON —— ABI,这是合约内容概要的 JSON ,这种 JSON 多被应用于开发中。然后到实际的部署了,需要通过一个交易把合约字节码发送到链上。为了可以与合约交互,你还需要知道它在链上的地址(合约地址),并且你还需要它的 ABI。Etherscan[16]是一个从链上读取合约信息的非常有用的工具。假如你知道合约地址,但是不知道它的 ABI,通常都可以在 Etherscan 找到。框架这给我们带来了围绕合约制作一个用户界面(或 API 或其他什么)的问题。一旦你部署了,你的合约将如何被交互?在某些情况下,仅仅在链上有一个合约就足够了,任何参与互动的人都可以使用类似 Remix 的东西来与之互动,但通常不会。我首先假设你的项目中有某种图形用户界面。如果是这种情况,你会想要一个框架。区块链框架将把你的合约整合到前端项目中,把你的合约编译成可以被前端理解的 JSON(使用适当的工具,后面会详细介绍),提供旋转开发链的能力,以及部署合约。最流行的框架是[Truffle](https://www.trufflesuite.com/)。许多教授dApp开发的在线资源也教授Truffle。Truffle可以编译,以Ganache的形式公开开发链工具,以及更多。既然如此,我推荐[Hardhat](https://learnblockchain.cn/docs/hardhat/getting-started/)。与Truffle类似(我相信它实际上是建立在Truffle之上的),你可以编译合约,并获得对开发链的访问。不过,还有更多。Solidity没有开箱即用的console.log,但Hardhat基本上做了他们自己的黑客EVM,可以让你登录你的合约。根据我的个人经验,Hardhat的编译问题也比较少。(看着你,node-gyp。)也有更多的便利设施。在你去尝试建立你自己的Hardhat环境之前,让我们来谈谈web3库,然后我有一个建议,这应该会使你更容易。web3 库(小写字母 "w")是在非区块链代码(如 JavaScript)和区块链之间搭建桥梁的半官方术语。用于实例化合约对象的 JavaScript 代码在哪里,然后在该合约上调用一个函数?实际上,你到底用什么函数来连接到链上?很明显,JS 没有内置这个功能。这就是 web3 库的作用。它们暴露了所有你需要做的事情的函数。JavaScript 中最突出的两个库是Web3.js[17](在写这篇文章时,链接到当前最新稳定版本的文档)和Ethers.js[18]。我个人认为后者更容易操作,并建议你也这样做。一个建议是,目前的 Ethers(v5)的文档仍在编写中。如果你在查找或理解 v5 的文档时遇到困难,也可以搜索[v4 文档](https://web3js.readthedocs.io/en/v1.3.0/)。搜索的功能更强大,而且有更多的代码片段)。)我不知道有什么资源能真正放大到 web3 库的熟练程度,但我在最后给出的建议也涵盖了 web3。你需要合约、框架环境和 web3 库,这已经是很多了。如果有什么能把这些整合到一个环境中来管理它们,那不是很好吗?一个管理它们的环境自然是有的。Scaffold-Eth[19]有一个开箱即用的环境,在 React 应用的背景下设置了 Hardhat 和一大堆其他东西。Web3.js 和 Ethers 都是通过同一个 yarn 安装来安装其他的依赖项。这是迄今为止最简单的入门方式,因为它几乎没有任何配置。Scaffold 里有很多东西,包括自定义钩子和组件。甚至还有一个自定义合约组件,为你提供了与合约交互的近乎无障碍的方式,这与 Remix 非常相似。编译完合约(然后自动注入前端)后,只需在App.jsx中放入一个<合约名称="YourContract />组件,其中名称是合约的名称。Austin Griffith(作者)在 Scaffold 的旧版本上有一个三分钟的超级超级模式的演练here[20],还有一个更长的演练here[21] 。围绕它还有一个超级友好的 Telegram 频道,在 GitHub 的 README 中列出。我强烈推荐它。这就像在 Webpack 和 Babel 中挣扎的人与 Create-React-App 的区别。我想谈的最后一件事是区块链栈中的另一个细节。区块链是一个由节点组成的网络,每个节点都存储着区块链的历史(或一些历史,我在这里不做过多的迂腐的讨论)。你的 React 应用是如何接入网络的?虽然 web3 库确实暴露了一个 web3 提供者,但它如何知道节点的位置,以及如何查询它们?答案是,它不知道。你需要运行你自己的节点,或者连接到一个运行它们的服务。这就是最终完成的桥梁--你的 JavaScript 使用 web3 库来发送一个链上理解的命令,该命令通过 web3 提供者发送到网络(如上所述的节点或服务),然后,viola,你在与区块链对话。区块链节点![](https://img.learnblockchain.cn/2020/12/07/giphy (3).gif)虽然我推荐运行自己的节点,甚至还写了一篇长文[22]关于安装 Geth,我不得不承认使用服务是更普遍的做法。我会折中一下,给你一些关于两者的信息。出于各种原因,我推荐Nethermind[23]来运行你自己的节点。为了能够做到这一点,你需要一个固态硬盘,它应该有至少 500GB 的空间。你可以用 4GB 内存进行同步,但可能至少要有 8GB。这些都是为主网计算的,测试网需要的空间要小得多,而且可能用更少的内存就能搞定。如果你还在做高强度的图形工作,你可能已经有了更多的内存,你可以很容易地调整 Nethermind 使用多少内存。Nethermind 是用.NET 写的,但我在*nix 系统上没有遇到任何问题。在服务方面,Infura[24]是最著名和最广泛使用的,尽管新来的Alchemy[25]也值得好好看看。我把这个推到这里,之前没有提到的原因之一是,它有点不伦不类。就你的实际开发而言,无论你是否运行你自己的节点或使用服务,当你实例化一个 web3 对象并需要知道将其连接到什么时,对你的代码库的实际影响大约是半行。钱包同样,你可能要在你的浏览器上安装MetaMask[26]来测试钱包的交互。你也可以使用其他钱包,但在我看来,MetaMask 仍然是国王。接下来的事情![](https://img.learnblockchain.cn/2020/12/03/giphy (1).gif)一旦你掌握了这些基本知识,你会很快遇到一篮子新的问题和关注。我不可能在这里涵盖所有的问题,我自己并不了解所有的问题,也没有足够的知识来明智地解决其他问题,但我会试着谈一谈接下来你可能要关注的一些事情。分散的文件存储对区块链的写入是昂贵的。你要为你在链上写入或更改的每一点信息付出代价。不仅如此,每一个与链同步的节点都必须在同步时执行你放在链上的东西。这使得代码有了一些有趣的优化,但它也让你思考什么应该放在链上。链的作用很差,就是数据存储。比方说,你有一个有用户档案的平台。你不希望在链上存储他们的简历和头像。那它应该放在哪里?一些集中的服务器?(Cue overly dramatic music:) 如果恶意的一方可以任意改变用户的头像,那么整个平台去中心化的意义何在!?别担心,仍然有去中心化的方式来存储数据。去中心化的文件存储也依赖于去中心化的点对点网络,就像区块链。(现在的一些人还与他们自己的区块链沟通,但这既不是这里也不是那里)。不过,他们专门拿数据来存储。现在它们中最引人注目的是 Filecoin,尽管我个人也会提到 Swarm 和 Sia。Swarm[27]尤其如此。不同的供应商可能有不同的优势,这取决于你需要存储什么样的数据(音频、视频、文本),你需要什么样的功能(我相信只有 Swarm 接近于如何删除数据的解决方案),等等。Layer2 解决方案以太坊本身已经到了交易成本过高,或开采时间过长的地步了。此外,在主网上,隐私可能是一个困难的冒险。Layer2 的解决方案已经被开发出来,以缓解拥堵问题,有些还提供了更强大的隐私保证。我们正处于一个百家争鸣的 L2s 阶段。有大量的看起来强大的、可用于市场的解决方案。Reddit 希望有一个 L2 来投放一些平台内的货币,并收到了 20 多份材料[28]。我无法比较和对比现有的平台--我缺乏信息和知识。如果你想让我挑出一个来先看看,我会推荐StarWare[29]的 Cairo 或用它构建的东西。预言机有时你想根据链外发生的事情在链上做一些事情。比方说,如果以太币的美元价值超过一定数额,你就想卖掉它。美元不在链上(目前),那么区块链怎么会知道呢?你可以写一个机器人来调查价格,并在满足条件的情况下执行交易,但假设你需要在智能合约中拥有这些信息--合约应该如何知道?这就是预言机所要解决的问题。不幸的是,那些看起来很简单的解决方案不一定是充分的。Samczsun,一个相当传奇的以太坊白帽子,最近放出一篇文章[30]关于预言机攻击。其结果是要小心你在那里做的事情。也有预言机服务。Chainlink[31]几乎可以肯定是其中最有名的,但要确保它能满足你的需要。Samczsun 在他的文章中对这个问题的论述比我可能的要好,所以我就把你引到那里。终于有了一个类似结论的东西我们在这里还可以谈一谈:链上治理(无论如何),可升级性(请不要),安全性(是的,请),以及更多。正如你所知道的,我主要是通过主观的方式来挑选主题。这篇文章绝不是详尽无遗的,尽管我认为它可以给一个置身事外的开发者提供良好的方向。随着你越来越熟练,你将能够轻松地找到自己的方向。以太坊社区的一个重要方面是它的许多人都很友好。好好利用,但也要把它发扬光大。总有一天,会有另一个开发人员试图摸索这些奇怪的区块链东西,也许你会是那个在 Twitter 上收到他们的 DM 或在 Ethereum StackExchange 上看到他们的问题的人。有了强大的以太坊,就有了保持以太坊强大的责任,或类似的东西。资源清单我将在这里放上一堆资源,包括上面提到的那些,以及一些教程。首先,我应该链接到更全面的资源。我的目标是列出足够多的资源,以满足初学者的需要,但又不至于多到让人不知所措。这里有许多我将探讨的资源。ConsenSys 保留了一个资源清单这里[32],它被链接到/r/ethdev 的这个[33]主题中,这意味着那里的评论甚至有更多。我也要向http://ethereum.org[34]喊话,因为他们有一个非常棒的开发门户,他们正在不断努力改进。核心资源Solidity docs[35]Vyper docs[36]Remix[37]Contraktor[38]Eth95[39]OpenZeppelin[40] (GitHub[41], npm[42])Truffle[43]Hardhat[44]Web3.js[45]Ethers[46]Scaffold-Eth[47]Nethermind[48]Infura[49]Alchemy[50]教程Eat the Blocks[51]Dapp 大学[52]过去有很好的 Udemy 课程,不知道现在是否有什么。Ethernaut[53] - 我推荐使用 Nicole Zhu 的excellent walkthroughs[54]Cryptozombies[55]vyper.fun[56]资源http://ethereum.org[57]StackExchange[58]/r/ethereum[59]/r/ethdev[60]Twitter - 它确实是一个了不起的地方,可以看到正在发生的事情,与社区成员联系,并建立对毒性的抵抗,你可以使用hive.one[61]获得一个良好的开端。Week In Ethereum[62]众多的播客,我甚至不打算去尝试EthGlobal[63]在 2020 年的虚拟黑客大会上做得非常好,这是一个与其他以太坊开发者会面和互动的好方法,尤其是当你在自学时。这次真的要结束了唷!这是个很长的清单。我希望这是一个很好的概述,足以让你开始并走上你的道路。你很快就会找到你自己的道路。本翻译由 CellETF[64] 赞助支持。来源:https://www.linumlabs.com/articles/a-guide-for-developers-interested-in-learning-blockchain-development参考资料[1]登链翻译计划: https://github.com/lbc-team/Pioneer[2]aisiji: https://learnblockchain.cn/people/3291[3]Tiny 熊: https://learnblockchain.cn/people/15[4]RNG: http://discord.gg/rnglife[5]Cryptozombies: https://cryptozombies.io[6]这里: https://vyper.fun[7]Solidity 文档: https://learnblockchain.cn/docs/solidity/[8]Open Zeppelin: https://openzeppelin.com/[9]这里: https://github.com/OpenZeppelin/openzeppelin-contracts[10]npm包: https://www.npmjs.com/package/@openzeppelin/contracts[11]Remix: https://remix.ethereum.org[12]Ganache: https://www.trufflesuite.com/ganache[13]Truffle: https://learnblockchain.cn/docs/truffle/[14]Hardhat: https://hardhat.org/[15]Nomic Labs: https://nomiclabs.io/[16]Etherscan: https://learnblockchain.cn/docs/etherscan/[17]Web3.js: https://learnblockchain.cn/docs/web3.js/[18]Ethers.js: https://learnblockchain.cn/docs/ethers.js/[19]Scaffold-Eth: https://github.com/austintgriffith/scaffold-eth[20]here: https://youtu.be/ShJZf5lsXiM[21]here: https://youtu.be/_yRX8Qi75OE[22]一篇长文: https://betterprogramming.pub/run-an-ethereum-node-on-linux-late-2019-b37a1d35800e[23]Nethermind: https://www.nethermind.io/[24]Infura: https://infura.io[25]Alchemy: https://alchemyapi.io[26]MetaMask: https://metamask.io[27]Swarm: https://swarm.ethereum.org/[28]收到了20多份材料: https://www.reddit.com/r/ethereum/comments/hbjx25/the_great_reddit_scaling_bakeoff/[29]StarWare: https://www.reddit.com/r/ethereum/comments/hbjx25/the_great_reddit_scaling_bakeoff/[30]放出一篇文章: https://samczsun.com/so-you-want-to-use-a-price-oracle/[31]Chainlink: https://starkware.co[32]这里: https://github.com/ConsenSys/ethereum-developer-tools-list/blob/master/README.md[33]这个: https://www.reddit.com/r/ethdev/comments/9jw839/long_list_of_ethereum_developer_tools_frameworks/[34]ethereum.org: https://ethereum.org[35]Solidity docs: https://learnblockchain.cn/docs/solidity/[36]Vyper docs: https://vyper.readthedocs.io/en/stable/[37]Remix: https://vyper.readthedocs.io/en/stable/[38]Contraktor: https://ethcontract.watch/[39]Eth95: https://eth95.dev/[40]OpenZeppelin: https://openzeppelin.com/[41]GitHub: https://github.com/OpenZeppelin/openzeppelin-contracts[42]npm: https://www.npmjs.com/package/@openzeppelin/contracts[43]Truffle: https://learnblockchain.cn/docs/truffle/[44]Hardhat: https://learnblockchain.cn/docs/hardhat/getting-started/[45]Web3.js: https://learnblockchain.cn/docs/web3.js/[46]Ethers: https://docs.ethers.io/v5/[47]Scaffold-Eth: https://github.com/austintgriffith/scaffold-eth[48]Nethermind: https://nethermind.io/client[49]Infura: https://infura.io/[50]Alchemy: https://infura.io/[51]Eat the Blocks: https://www.youtube.com/channel/UCZM8XQjNOyG2ElPpEUtNasA[52]Dapp大学: https://www.youtube.com/channel/UCY0xL8V6NzzFcwzHCgB8orQ[53]Ethernaut: https://ethernaut.openzeppelin.com[54]excellent walkthroughs: https://hackernoon.com/ethernaut-lvl-1-walkthrough-how-to-abuse-the-fallback-function-118057b68b56[55]Cryptozombies: https://cryptozombies.io[56]vyper.fun: https://cryptozombies.io[57]ethereum.org: https://vyper.fun[58]StackExchange: https://ethereum.stackexchange.com/[59]/r/ethereum: https://www.reddit.com/r/ethereum/[60]/r/ethdev: https://www.reddit.com/r/ethdev/[61]hive.one: https://hive.one/ethereum/people[62]Week In Ethereum: https://weekinethereumnews.com/[63]EthGlobal: https://ethglobal.co/[64]CellETF: https://celletf.io/?utm_souce=learnblockchain来源:登链社区,作者aisiji发布于 2021-11-16 09:31开发者社区区块链(Blockchain)开发者赞同 4添加评论分享喜欢收藏申请
区块链开发入门 - Training | Microsoft Learn
区块链开发入门 - Training | Microsoft Learn
跳转至主内容
此浏览器不再受支持。
请升级到 Microsoft Edge 以使用最新的功能、安全更新和技术支持。
下载 Microsoft Edge
有关 Internet Explorer 和 Microsoft Edge 的详细信息
目录
退出焦点模式
使用英语阅读
使用英语阅读
目录
区块链开发入门
学习路径
5 模块
初级
学生
Azure
此学习路径介绍了 Ethereum 平台上的区块链和开发。 了解为了开始大规模构建你自己的区块链网络而必须学习的技能。
在此学习路径中,你将学习以下内容:
了解区块链的基础以及区块链技术的工作原理。
了解用于在 Ethereum 区块链上进行开发的工具。
创建智能合同和去中心化应用程序。
部署和本地并测试 Ethereum 网络。
先决条件
之前使用过 C、Python 或 JavaScript 等任何编程语言
基本了解编程概念
熟悉用于创建新指令的命令行
已安装 Visual Studio Code
保存
成就代码
是否希望请求成就代码?
请求成就代码
本学习路径中的模块
Azure 上的区块链简介
了解区块链协议如何实现信任。 学习如何评估在方案中使用区块链的时机并确定区块链是否适合自身解决方案。
了解如何使用 Solidity
了解 Solidity 如何简化为 Ethereum 区块链平台对智能合约进行编程的过程。
使用 Solidity 编写 Ethereum 智能合同
了解如何安装和使用可用于开发智能合同的工具。
使用 OpenZeppelin 创建代币
了解代币的重要性以及它们在区块链中的使用方式。
连接并部署到 Ethereum 网络
了解 Ethereum 网络并将其用于开发、测试和生产。
加州消费者隐私法案 (CCPA) 禁用图标
你的隐私选择
主题
亮
暗
高对比度
早期版本
博客
参与
隐私
使用条款
商标
© Microsoft 2024
开始
加州消费者隐私法案 (CCPA) 禁用图标
你的隐私选择
主题
亮
暗
高对比度
早期版本
博客
参与
隐私
使用条款
商标
© Microsoft 2024
区块链开发指南(书籍) - 知乎
区块链开发指南(书籍) - 知乎首页知乎知学堂发现等你来答切换模式登录/注册区块链开发指南(书籍)本书首先介绍基础密码学、算法、P2P 协议、脚本等区块链基础原理与技术,然后以比特币和以太坊两大区块链平台为例,指导读者搭建测试环境,对区块链进行编译,建立私链与测试链等,帮助开发者创建自己的私链…查看全部内容关注话题管理分享简介讨论精华视频等待回答切换为时间排序如何看待区块链在司法的应用?法律人代文武法律职业资格证持证人区块链技术对司法工作有一定的帮助与提升。区块链技术在司法领域的应用主要可以分为两个方面。一方面是诉讼当事人在诉讼前、诉讼中利用区块链技术实现其权利保护的目标;另一方面是司法机关本身对区块链技术应用于诉讼流程的管理。从当事人对区块链技术的应用来看,目前主要体现在电子存证方面。在区块链上对权属证明、权益凭证、交易过程、侵权行为等进行存证、取证,以实现权利保护。 对于当事人,采用区块链存证、取证的费用…阅读全文赞同 153 条评论分享收藏喜欢研究生方向为区块链,请问有没有一个学习路线和推荐的入门书和视频?Science BC更多区块链相关内容在公众号:Science BC谢谢阅读,因为我是研究生区块链方向,在知乎写过一些分享之后有大量研友私聊讨论, 于是产生了一个想法:组建一个区块链方向的学术讨论群。在大量的留言跟私聊人群之中,选择了十几个同学出来组群,群里基本都是研究生二年级起步的硕士研究生、博士研究生,基本学历都是985/211高校,也有海外的博士师兄、研究所从事区块链相关工作的人。(具体研究方向大家可以看看下面这篇文章的留言区)学习区块链有前途吗? 昨天晚上我们群开…阅读全文赞同 280117 条评论分享收藏喜欢全球最具影响力区块链游戏企业有哪些?Axie发展研究员Axie Infinity玩家,区块链技术研究人员区块链游戏国内的很少,毕竟这东西适合炒作,再加上匿名性,非常容易成为骗局的摇篮,比如说BSC链上就不少...国外的区块链游戏,我研究最多的是Axie Infinity的制作商Sky Mavis,不过相对最高点也跌了90%以上了。多多学习它的内容吧,可以关注关注我的专栏。 Completing Quests plays an important role in the development of the plot especially in the early stages of your progress. Quests are divided into two: 完成任…阅读全文赞同 2添加评论分享收藏喜欢可以给我科普一下有关区块链的知识吗?二本谈币技术推广行业 技术员建议你先系统性学习,高手不会给人推荐买币,只能靠自己 区块链入门必备108知识点 1、什么是区块链把多笔交易的信息以及表明该区块的信息打包放在一起,经验证后的这个包就是区块。 每个区块里保存了上一个区块的hash值,使区块之间产生关系,也就是说的链了。合起来就叫区块链。 2.什么是比特币比特币概念是2009年中本聪提出的,总量是2100万个。比特币链大约每10分钟产生一个区块,这个区块是矿工挖了10分钟挖出来的。作为给…阅读全文赞同 4添加评论分享收藏喜欢区块链的solidity语言怎样有效率的学习?李留白北京航空航天大学 软件工程硕士目录 1.这本手册是为谁准备的? 2.必要的前期知识 3.什么是 Solidity? 4.什么是智能合约? 5.如何在 Solidity 中声明变量和函数? 6.智能合约中的变量作用域 7.可见性操作符如何工作 8.什么是构造函数? 9.接口和抽象合约 10.智能合约示例 #2 11.什么是合约状态? 12.状态可变关键字(修饰符) 13.数据位置——存储、内存和堆栈 14.typing如何工作 15.Solidity数据类型 16.如何在 Solidity 中声明和初始化数组 17.什么是函数修…阅读全文赞同 17添加评论分享收藏喜欢如何看待中国首个本科区块链专业?高承实解放军信息工程大学 密码学博士区块链作为一个新生事物,涉及到了密码学、计算机科学、网络通信、金融货币、经济模型、社会治理,甚至哲学等诸多内容。即使在纯技术层面,区块链也表现出了不同于传统本科计算机专业教学的一些独有内容。因此在本科层面,开设区块链专业是有必要的,也是可行的。 成都信息工程大学开设的区块链专业,综合了几个院系的力量,花费了极大的时间精力,表现出了极大的诚意。课程设置内容多,覆盖广。 但总体来看,这个区块链本科专业…阅读全文赞同 5142 条评论分享收藏喜欢如何看待区块链在司法的应用?Science BC更多区块链相关内容在公众号:Science BC谢谢阅读 今天有个在法院工作的前辈找上来,他们法院跟某985高校的区块链研究院合作,对法院某些业务进行上链操作,因为他在执行的过程中不太了解技术层面,就找我一起讨论,我也不太懂,所以就一起探讨了起来。 (相关分享经过当事人同意,在不透露个人信息的情况下,记录一些内容和启发) 我:我对法院的事情不太了解,我想问问你们为什么需要区块链?或者你们区块链具体用在哪些方面呢? 前辈:是这样的,因为区块链具有去中…阅读全文赞同 105 条评论分享收藏喜欢如何从零开始学习区块链?盐选点金知乎 官方账号先看第一个话题,分布式账本,区块链是什么?区块链从功能上来说就是分布式账本,那什么又是分布式账本呢?我们通过以下三点来了解一下。 我们看第一点,账本反映可以在多个节点不同地理位置或者多个机构组成的网络里进行分享的资产数据库,这是什么意思呢?我们通过这张图来了解一下。这张图反映的就是多个节点,不同地理位置或多个机构,我们可以把这张图理解为某家银行的下属网点。我们知道如果说这张图代表着某家银行的下属…阅读全文赞同 91添加评论分享收藏喜欢如何学习区块链开发?杨了个阳区块链技术开发首先区块链开发是一个全新的技术领域,自从我看了BTC的白皮书,就被吸引入门学习区块链开发,这是一个非常有趣和有挑战性的领域。在我个人的学习中,我发现了以下几点: * 区块链是一种分布式技术:它需要对分布式系统、P2P网络等技术有一定的了解。 *密码学和数学知识非常重要:区块链的核心技术之一就是加密,因此对密码学和数学知识的掌握是很有必要的。 *不同区块链平台有不同的特点:比如以太坊采用智能合约,Hyperledger F…阅读全文赞同添加评论分享收藏喜欢BTC非零地址数量再创新高! 区块链每日新闻 2021-03-22Yixuan Li书呆界新人, 厨娘界元老. 什么都会!……一点.1. 币世界趣数据:BTC链上超过100枚的大额转账减少11.14%
2. 数据:全球比特币ATM安装总数达17020台
3. 比特币兑法币交易美元占比为81.98%
4. 数据:BTC非零地址数量超3691万再创新高
5. 截至今日18时BTC资金净流…阅读全文赞同 4添加评论分享收藏喜欢 举报(上)简单了解区块链共识机制,Pow、Pos、DPow、DPos的区别WeCoin区块链比特+wecoin111(上)简单了解区块链共识机制,Pow、Pos、DPow、DPos的区别阅读全文赞同 72 条评论分享收藏喜欢 举报如何学习区块链开发?扯淡兄我们做社交,虚位以待。不知道能干啥就先看看书吧,哈哈。 技术入门书:《区块链基础知识25讲》这本书里边没有晦涩的代码,但是读这本书要理解书中提到的一些区块链术语。 总的来讲,还是很通俗易懂的,很薄但是内容完备。 [图片] 《区块链基础知识25讲》([英],丹尼尔·德雷舍(Daniel,Drescher))【摘要 书评 试读】- 京东图书 技术书籍:《区块链核心算法解析》很多做过分布式技术开发的同学开始学习区块链技术的时候,往往对共识算法感到迷糊。这本书从分布…阅读全文赞同 231 条评论分享收藏喜欢由于要做项目,本萌新刚刚开始学区块链,大佬们有没有推荐该从哪开始入手学习啊?Python学研大本营公众号《Python学研大本营》:爬虫、数分、后端、大数据使用 Python 从零开始构建你自己的区块链。 [图片] 欢迎来到激动人心的区块链世界! 无论您是经验丰富的开发人员还是刚刚起步,区块链都是一个值得探索的有趣且有益的话题。还有什么比使用 Python 构建您自己的区块链更好的方式来探索这个世界呢?在本文中,我们将采取循序渐进的方法从头开始构建一个基本的区块链。您将了解区块链的工作原理、如何创建和挖掘区块以及如何将交易添加到链中。 关于区块链的一个常见误解是它们过于复杂且…阅读全文赞同添加评论分享收藏喜欢可以给我科普一下有关区块链的知识吗?孟永辉数字经济学者,行业观察家[图片] 文/孟永辉 如果仅仅只是以人们对于区块链的追捧来衡量它的兴衰成败的话,未免有些太多简单和武断了。 因为从本质上来看,区块链的兴衰成败本身就与市场的聒噪和冷清并无太多联系。即使在这样一个对于区块链的关注业已临近冰点的年代里,我们依然无法抵消区块链的发展业已成熟和完备的现实。 是的,区块链正在告别以往的狂热与浮躁,进入到了一个真正符合自身特质的发展阶段里。 一何为区块链的特质? 我认为,其中一个很重要的方…阅读全文赞同添加评论分享收藏喜欢区块链时代你会接受吗?孟永辉数字经济学者,行业观察家[图片] 文/孟永辉 如果仅仅只是以发币或者ICO的角度来看待区块链的话,那么,无论如何都是无法把握区块链的真正奥义的。这是以往我们看到的那么多的区块链玩家之所以会折戟沉沙的关键所在。当所有的鼓噪逐渐散去,特别是人们对于区块链的认识开始变得深入,我们看到的是,一场对于区块链的重新认识开始上演。由此,区块链的发展,同样开始进入到了新世代。 在这样一个世代里,区块链不再是一个概念和噱头,不再是一个幌子,而是成为了真…阅读全文赞同添加评论分享收藏喜欢如何学习区块链开发?学DAO聚焦区块链/元宇宙/WEB3等新兴科技的学习交流社区如果题主自学完了go和solidity的话,也可以试试看MOVE语言,近期海外市场概念最火的新公链都基于MOVE语言进行改动,不妨一试(狗头 但语言技能的掌握只是一方面,学完不知道能干啥的话,多半你现阶段缺乏目标和对整个区块链行业未来发展的认知。毕竟有目标以后才有学习精进的方向。 一般来说,想学习区块链,首先建议先对区块链技术和区块链行业有基础认知,然后再根据想要发展的方向,上手代码实操来进行深入学习。 因为区块链…阅读全文赞同 11添加评论分享收藏喜欢浏览量479 万讨论量4599 帮助中心知乎隐私保护指引申请开通机构号联系我们 举报中心涉未成年举报网络谣言举报涉企虚假举报更多 关于知乎下载知乎知乎招聘知乎指南知乎协议更多京 ICP 证 110745 号 · 京 ICP 备 13052560 号 - 1 · 京公网安备 11010802020088 号 · 京网文[2022]2674-081 号 · 药品医疗器械网络信息服务备案(京)网药械信息备字(2022)第00334号 · 广播电视节目制作经营许可证:(京)字第06591号 · 服务热线:400-919-0001 · Investor Relations · © 2024 知乎 北京智者天下科技有限公司版权所有 · 违法和不良信息举报:010-82716601 · 举报邮箱:jubao@zhihu.
区块链项目开发指南 (豆瓣)
区块链项目开发指南 (豆瓣)
登录/注册
下载豆瓣客户端
豆瓣 6.0 全新发布
×
豆瓣
扫码直接下载
iPhone
·
Android
豆瓣
读书
电影
音乐
同城
小组
阅读
FM
时间
豆品
豆瓣读书
搜索:
购书单
电子图书
豆瓣书店
2023年度榜单
2023年度报告
购物车
区块链项目开发指南
作者:
纳拉扬·普鲁斯蒂 (Narayan Prusty)
出版社:
机械工业出版社
译者:
朱轩彤
/
闫莺 , 董宁
出版年: 2017-12-8
页数: 198
定价: 59.00
装帧: 平装
丛书: 区块链技术丛书
ISBN: 9787111584001
豆瓣评分
5.1
31人评价
5星
6.5%
4星
25.8%
3星
45.2%
2星
16.1%
1星
6.5%
评价:
写笔记
写书评
加入购书单
已在购书单
分享到
推荐
内容简介
· · · · · ·
区块链是近十年来颇具颠覆性的新兴信息技术之一,它正以一种全新的方式建立人类交易过程的信任、仲裁和记录基础。本书共9章,首先介绍去中心化应用、DApp等基本概念,并据此展开对比特币、以太坊、超级账本等热门DApp的阐释。其次在解析以太坊工作原理的基础上介绍智能合约的编写方法,并介绍web3.js的应用方法。后利用上述知识进行钱包服务、智能合约部署平台、投注App、企业级智能合约以及联盟区块链等具体应用程序的创建。
作者简介
· · · · · ·
作者:(印度)纳拉扬·普鲁斯蒂 译者:朱轩彤 译者:闫莺 译者:董宁 纳拉扬·普鲁斯蒂,在18岁时就创建了一个MP3搜索引擎,他是一位身兼多职的开发人员,主攻区块链和JavaScript,倾向于使用以太坊、比特币、超级分类、IPFS等构建去中心化的应用程序。其所编写的可扩展应用程序广泛应用于印度、新加坡、美国等国家的初创公司、企业以及政府部门。Narayan Prusty目前供职于迪拜的阿联酋国家银行的区块链企业。他著有《Learning ECMAScript 6》和《Modern JavaScript Applications》。朱轩彤,清华大学硕士,中国社科院数量经济与技术经济研究所博士生,专注于技术经济及管理研究。在政府及国际组织有丰富的工作经验。闫莺,复旦大学博士,微软亚洲研究院主管研究员,Coco区块链中国负责人,专注于区块链技术、大数据分...(展开全部)
作者:(印度)纳拉扬·普鲁斯蒂 译者:朱轩彤 译者:闫莺 译者:董宁 纳拉扬·普鲁斯蒂,在18岁时就创建了一个MP3搜索引擎,他是一位身兼多职的开发人员,主攻区块链和JavaScript,倾向于使用以太坊、比特币、超级分类、IPFS等构建去中心化的应用程序。其所编写的可扩展应用程序广泛应用于印度、新加坡、美国等国家的初创公司、企业以及政府部门。Narayan Prusty目前供职于迪拜的阿联酋国家银行的区块链企业。他著有《Learning ECMAScript 6》和《Modern JavaScript Applications》。朱轩彤,清华大学硕士,中国社科院数量经济与技术经济研究所博士生,专注于技术经济及管理研究。在政府及国际组织有丰富的工作经验。闫莺,复旦大学博士,微软亚洲研究院主管研究员,Coco区块链中国负责人,专注于区块链技术、大数据分析、数据库以及云计算的研究。董宁,智链ChainNova CEO,北京大学新一代信息技术研究院金融科技研究中心主任,原IBM大中华区lT经济学负责人,IBM区块链社区发起人。
目录
· · · · · ·
Contents 目录
译者序
前言
第1章 去中心化应用1
1.1 什么是DApp1
1.1.1 去中心化应用的优点2
· · · · · ·
(更多)
Contents 目录
译者序
前言
第1章 去中心化应用1
1.1 什么是DApp1
1.1.1 去中心化应用的优点2
1.1.2 去中心化应用的缺点3
1.2 去中心化自治组织3
1.3 DApp中的用户身份4
1.4 DApp中的用户账户5
1.5 访问中心化应用6
1.6 DApp中的内部货币6
1.7 什么是授权的DApp7
1.8 热门的DApp7
1.8.1 比特币7
1.8.2 以太坊9
1.8.3 超级账本项目9
1.8.4 IPFS10
1.8.5 Namecoin11
1.8.6 达世币12
1.8.7 BigChainDB14
1.8.8 OpenBazaar14
1.8.9 Ripple14
1.9 总结16
第2章 以太坊的工作原理17
2.1 以太坊概览17
2.2 以太坊账户18
2.3 交易18
2.4 共识19
2.5 时间戳20
2.6 随机数21
2.7 区块时间21
2.8 分叉24
2.9 创世区块24
2.10 以太币面值24
2.11 以太坊虚拟机25
2.12 gas25
2.13 发现对等节点26
2.14 Whisper和Swarm27
2.15 geth27
2.15.1 安装geth28
2.15.2 JSON-RPC和JavaScript操作台28
2.15.3 子命令和选项29
2.15.4 创建账户29
2.16 以太坊钱包31
2.17 浏览器钱包31
2.18 以太坊的缺点32
2.19 serenity33
2.20 总结35
第3章 编写智能合约36
3.1 Solidity源文件36
3.2 智能合约的结构37
3.3 数据位置38
3.4 什么是不同的数据类型39
3.4.1 数组类型39
3.4.2 字符串类型40
3.4.3 结构类型41
3.4.4 枚举类型42
3.4.5 mapping类型42
3.4.6 delete操作符43
3.4.7 基本类型之间的转换44
3.4.8 使用var44
3.5 控制结构45
3.6 用new操作符创建合约46
3.7 异常46
3.8 外部函数调用46
3.9 合约功能48
3.9.1 可见性48
3.9.2 函数修改器50
3.9.3 回退函数51
3.9.4 继承52
3.10 库54
3.11 返回多值56
3.12 导入其他Solidity源文件57
3.13 全局可用变量57
3.13.1 区块和交易属性57
3.13.2 地址类型相关58
3.13.3 合约相关58
3.14 以太币单位58
3.15 存在、真实性和所有权合约的证明59
3.16 编译和部署合约60
3.17 总结62
第4章 开始使用web3.js63
4.1 web3.js概述63
4.1.1 导入web3.js64
4.1.2 连接至节点64
4.1.3 API结构65
4.1.4 BigNumber.js66
4.1.5 单位转换66
4.1.6 检索gas价格、余额和交易细节67
4.1.7 发送以太币68
4.1.8 处理合约69
4.1.9 检索和监听合约事件71
4.2 为所有权合约创建客户端73
4.2.1 项目结构74
4.2.2 创建后端74
4.2.3 创建前端76
4.2.4 测试客户端80
4.3 总结82
第5章 创建钱包服务83
5.1 在线钱包和离线钱包的区别83
5.2 Hooked-Web3-Provider和EthereumJS-tx库84
5.3 分层确定性钱包87
5.4 密钥衍生函数87
5.5 LightWallet88
5.6 创建钱包服务89
5.6.1 必要条件89
5.6.2 项目结构90
5.6.3 创建后端90
5.6.4 创建前端91
5.6.5 测试97
5.7 总结101
第6章 创建智能合约部署平台102
6.1 计算一个地址的交易nonce102
6.2 solcjs概述104
6.2.1 安装solcjs104
6.2.2 solcjs API104
6.3 创建合约部署平台107
6.3.1 项目结构108
6.3.2 创建后端108
6.3.3 创建前端113
6.3.4 测试117
6.4 总结118
第7章 创建投注App119
7.1 Oraclize概述119
7.1.1 Oraclize的工作原理120
7.1.2 数据源120
7.1.3 真实性证明121
7.1.4 定价122
7.1.5 开始使用Oraclize API123
7.1.6 加密查询127
7.1.7 Oraclize Web IDE128
7.2 处理字符串128
7.3 创建投注合约130
7.4 为投注合约创建客户端133
7.4.1 项目结构133
7.4.2 创建后端134
7.4.3 创建前端135
7.4.4 测试客户端143
7.5 总结147
第8章 创建企业级智能合约148
8.1 探索ethereumjs-testrpc148
8.1.1 安装和使用149
8.1.2 可用RPC方法151
8.2 什么是事件主题153
8.3 开始使用truffle-contract154
8.3.1 安装和导入truffle-contract155
8.3.2 建立测试环境156
8.3.3 truffle-contract API156
8.4 truffle概述163
8.4.1 安装truffle163
8.4.2 初始化 truffle163
8.4.3 编译合约165
8.4.4 配置文件165
8.4.5 部署合约166
8.4.6 单元测试合约169
8.4.7 包管理175
8.4.8 使用truffle的操作台178
8.4.9 在truffle环境中运行外部脚本179
8.4.10 truffle的创建管线179
8.4.11 truffle的服务器端186
8.5 总结187
第9章 创建联盟区块链188
9.1 什么是联盟区块链189
9.2 什么是权威证明共识189
9.3 parity概述189
9.3.1 Aura的工作原理190
9.3.2 运行parity191
9.3.3 创建私有网络192
9.3.4 许可和隐私197
9.4 总结198
· · · · · · (收起)
丛书信息
· · · · · ·
区块链技术丛书(共19册),
这套丛书还有
《Solidity编程:构建以太坊和区块链智能合约的初学者指南》《深入理解以太坊》《GO语言公链开发实战》《白话区块链》《Hyperledger Fabric源代码分析》
等
。
喜欢读"区块链项目开发指南"的人也喜欢的电子书
· · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
区块链核心算法解析
14.75元
性能之巅
29.80元
突破现实的困境
11.99元
技术的本质
35.19元
机器学习实战
39.99元
喜欢读"区块链项目开发指南"的人也喜欢
· · · · · ·
区块链革命
6.4
终极算法
7.0
架构即未来
8.2
微服务设计
8.1
区块链
6.3
数字黄金
7.9
区块链技术驱动金融
8.1
程序员的呐喊
8.0
数据密集型应用系统设计
9.7
算法帝国
7.2
我来说两句
短评
· · · · · ·
(
全部 12 条
)
热门
/
最新
/
好友
0
有用
杨老三
2022-04-04 00:10:56
内容有点过时,但是学习脉络以及广度很好
0
有用
溜缝胶
2021-10-07 00:12:28
就这就看不懂了,看一半全是代码更不懂了,恨上学没多念念书
0
有用
我才是二亮
2018-03-04 17:33:11
非常不错的一本书,介绍了如何基于以太坊构建dapp,最早没有中文版,带着网页翻译一页一页看的,累成狗了。
0
有用
nbcctwya
2023-01-13 19:03:05
湖北
前年读过,帮助挺大
0
有用
细嗅蔷薇
2018-09-21 10:30:01
内容偏单薄
0
有用
nbcctwya
2023-01-13 19:03:05
湖北
前年读过,帮助挺大
0
有用
沉寂之舟
2022-06-21 03:32:25
原来是
0
有用
杨老三
2022-04-04 00:10:56
内容有点过时,但是学习脉络以及广度很好
0
有用
溜缝胶
2021-10-07 00:12:28
就这就看不懂了,看一半全是代码更不懂了,恨上学没多念念书
0
有用
独立奔跑的羊
2019-08-29 16:09:51
有点粗糙了
> 更多短评 12 条
我要写书评
区块链项目开发指南的书评 · · · · · ·
( 全部 2 条 )
热门
最新
好友
左其盛
2018-02-10 15:17:17
4星|《区块链项目开发指南》:代码级别的介绍,一些细节说的比较清楚
本书介绍搭建实际的区块链项目的代码细节。代码部分我都略过了,不过仍然感觉一些区块链的细节说的比其他的媒体或书更清楚。 总体评价4星,比较有参考价值。 一个缺陷是代码都是图片而不是文字。 以下是书中一些内容的摘抄,#号后面是kindle电子书中的页码: 1:DApp是一种...
(展开)
2
0回应
收起
BING
2018-03-09 01:08:44
阿三的书
虽然不是很喜欢这个地方的人,但这本书写得还蛮值得一看,最初是caoz在公号推荐的。 看书本的结构,主要围绕着去中心化应用开发来展开,并不会很偏底层,讲解原理也是点到即止。跟着过一遍,大概知道开发DApp是怎么一回事,比听一个小时的live课要收获大得多。 暂时还没看完,...
(展开)
1
0回应
收起
>
更多书评
2篇
论坛
· · · · · ·
在这本书的论坛里发言
当前版本有售
· · · · · ·
京东商城
40.10元
购买纸质书
中图网
28.90元
购买纸质书
购买二手书
· · · · · ·
漫游鲸
5.98元
购买二手书
+ 加入购书单
以下书单推荐
· · · · · ·
(
全部
)
左其盛好书榜
(左其盛)
区块链从入门到精通
(王爷区块链)
书单|软件技术和大云物智的低阶高价值书籍汇总
(小陈)
老余看过的书(A)
(aka)
2018读书
(不知道分子)
谁读这本书?
· · · · · ·
豆友GuPthd5EkQ
1月21日 读过
lislyyz
2023年2月4日 读过
nbcctwya
2023年1月13日 读过
碟子
2022年9月10日 在读
> 11人在读
> 28人读过
> 65人想读
二手市场
· · · · · ·
在豆瓣转让
有65人想读,手里有一本闲着?
订阅关于区块链项目开发指南的评论:
feed: rss 2.0
© 2005-2024 douban.com, all rights reserved 北京豆网科技有限公司
关于豆瓣
· 在豆瓣工作
· 联系我们
· 法律声明
· 帮助中心
· 图书馆合作
· 移动应用
· 豆瓣广告