区块链:使用 Solidity 开发实用的 dApps
使用以太坊、Solidity 和智能合约,通过 Web3、React 和 IPFS 构建 dApss
讲师:Abel Choy
独家Udemy付费课程,中英文字幕,课程资料包齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将会学到的
- 以太坊区块链技术
- Solidity 编程语言
- dApp 开发工具
- 为 ERC20、ERC721、ERC1155 和托管服务编写智能合约
- 智能合约安全问题及解决方案
- 编写前端 Web3 应用程序以与智能合约和 IPFS 交互
课程内容
9 个章节 • 43 个讲座 • 总时长 16 小时 9 分钟展开所有章节
区块链技术4 个讲座 • 1 小时 32 分钟
dApp 开发工具6 个讲座 • 1 小时 47 分钟
智能合约和 Solidity 编程语言8 个讲座 • 2 小时 37 分钟
以太坊代币标准 – 简介1 个讲座 • 20 分钟
ERC20 通证标准实践编码会议14 个讲座 • 6 小时 33 分钟
ERC721 NFT 代币标准4 个讲座 • 1 小时 12 分钟
ERC1155 多代币标准1 个讲座 • 40 分钟
智能合约安全4 个讲座 • 1 小时 22 分钟
概括1 个讲座 • 7 分钟
要求
- 基本的编程知识会有所帮助。
说明
本课程专为不熟悉区块链技术和 Solidity 编程的任何人设计。你将学习并使用Solidity编写智能合约并将其作为分散式应用程序 – dApps部署在以太坊上。
DApp是编写程序的一种新趋势,它能够基于规则、逻辑和事件来执行合约;并根据这些条件通过转移以太币支付自动执行。
DApp不需要银行或机构等中介机构,因为它能够验证、授权和结算交易并将其记录在不可变的区块链上。它本质上是一个“信任机器”,交易在区块链上是开放的、可验证的和永久的。
区块链是自互联网发明以来最有前途的技术。
你将在本课程中学到什么:
- 以太坊区块链技术
- Solidity编程语言
- dApp开发工具
- 为ERC20、ERC721、ERC1155 和托管服务编写智能合约
- 智能合约安全问题及解决方案
- 编写前端Web3应用程序以与智能合约和IPFS交互
我们在本课程中学习的区块链技术实际上是受到比特币系统创新和成功实施的启发。
比特币是由中本聪在他/她的题为“比特币:点对点电子现金系统”的论文中发明的。(2009 年)比特币既是一种数字货币,又是直接的点对点支付系统。(即没有银行或参与转让的政府)
有趣的是,白皮书中没有提到“区块链”这个词。后来开发人员和社区发现,这种比特币运行在一项新技术(我们称之为区块链)上,该技术解决了许多早期电子现金提案失败的“双重支出”问题。
中本聪提出并实施的比特币区块链本质上融合了当时已知的以下技术:
- 加密哈希函数,
- 工作量证明共识协议,
- 去中心化网络架构
想法和创新非常巧妙。在矿工参与系统的同时,每个区块都经过检查和验证,矿工通过首先解决密码难题来竞争添加新区块的权利。
第一个解决难题的矿工将向 Peers 广播,并由其他矿工演示和验证“工作量证明”。解决难题的矿工有权添加新区块,获得以太奖励,以及过程继续进行。
因此,恶意攻击者对比特币网络的每一次尝试(即实质上是试图重写交易日志)都需要与整个验证者网络竞争。事实证明,欺骗或破坏比特币网络是非常困难的。
随着这种创新区块链技术的成功,开发人员和公司开始评估我们是否可以使用区块链来分散除货币之外的其他资产。
财产所有权、证明、投票系统、供应链系统、艺术品、健康记录等资产变得可行,因为每项资产都需要记录系统(即公共分布式账本系统)
可信 DLS 的想法,其中交易由对等节点通过加密哈希密钥保护不断验证,以及没有单点故障的去中心化网络架构 – 对于新的去中心化应用程序 (dApps) 来说是一个有吸引力的提议。
然而,正如 Vitalik Buterin 发现的那样,比特币区块链在用于其他更复杂的应用程序方面具有固有的局限性。比特币系统不是“图灵完备”机器。(即,你可以在比特币区块链上编写简单的脚本,但仅限于比特币的转移,无法实现更复杂的应用程序)
在 2013/2014 年,Vitalik 提出并实施了以太坊——一个具有智能合约功能的去中心化、开源区块链系统。
该提议是构建一个 EVM(以太坊虚拟机)——一个图灵完备的机器——将在网络上的每个节点/客户端计算机上运行。智能合约只是用 Solidity 编写的程序——一种针对 EVM 进行部署和执行的编程语言。
使用以太坊区块链系统,开发者可以设计智能合约,编译并部署在以太坊网络上。这是一个非常了不起的创新。以太坊区块链因此成为全球、开放的超级计算机——智能合约程序可以在其中部署和执行以用于各种去中心化应用程序。
我们将学习用于智能合约开发的 Solidity 编程语言,并在课程中详细检查语言、示例和应用程序。
简而言之,以太坊是一个可编程的区块链。运行智能合约的平台(除了能够发送/接收本地加密货币 Ether)
我们将在课程中学习一系列用于编写智能合约、编译、部署和测试的开发工具。
在一系列实践课程中,我们将 ERC20、ERC721 和 ERC1155 作为行业标准合约的示例,并使用这些标准编写我们自己的代币。
由于以太坊区块链具有本地加密货币(ETH Ether),因此货币的转移和交换与 Solidity 编程代码集成在一起。因此,可以根据经过验证的事件和合同规则自动执行协议并执行它们,以将货币(即以太币)直接发送给彼此 – 从而消除中介(即银行、保险公司,(即 noteL 智能合约)除了 EOA(外部拥有的帐户)之外,用户还可以持有 Ether 值。
智能合约的可能性和用例是无穷无尽的,我们的想象力有限。
有了可以由智能合约自动执行的金融交易的可能性 – 它打开了恶意黑客利用智能合约中的错误或错误的风险。历史已经显示了数以百万计的智能合约/账户持有人被盗的网络犯罪事件。
因此,每个智能合约开发者都必须具备良好的智能合约安全基础,并知道如何编写代码来保护所有者和合约本身。我们将在上一节中研究智能合约的经典攻击以及如何克服它。
学习本课程对你的好处:
- 获得区块链技术和 dApps 开发的知识和技能
- 为区块链技术中的许多高需求工作机会做好准备
- 使用区块链和 dApp 启动启动项目的机会
本课程与其他区块链课程有什么不同:
- 本课程的设计考虑到了初学者并简化了复杂的主题
- 在深入编码之前,我们首先介绍区块链的基本概念和相关主题
- 我们避免使用过时工具的混乱和课程
- 通过编码学习是深入研究技术的关键
来吧,今天就加入我们吧!
你忠诚的,
Abel Choy,软件工程师/计算机科学讲座
此课程面向哪些人:
- 任何想学习 dApps 开发和区块链技术的人