以太坊和 IPFS 上的去中心化 eBay 课程纲要

这是一个中级课程,你会构建一个类似 eBay 的去中心化商场。你会构建一个智能合约,通过该合约,任何人都可以 列出他们先要在商场出售的产品。消费者可以 浏览产品通过拍卖购买产品。你也会实现一个 托管服务,它会被买方和卖方用来保护交易,确保支付和产品交付。这个应用将会基于 Solidity 语言,truffle 框架,JavaScript 和 HTML/CSS 构建。IPFS 将会用于存储图片和大文本,MongoDB 将会用作链下的解决方案 来实现产品的搜索功能。几个关键库将会用于构建应用,其中包括了 web3js,ipfs-api 和 ethereumjs-util。

先修课程

这是一个以太坊开发的中级课程。学生应该对智能合约和 Solidity 语言有基本的了解。了解 truffle 将会有所帮助,但是非必须。搭建前端需要对 JavaScript 有一定了解。

应用架构

这是一个相当复杂的应用,了解架构对于理解应用的所有组件,它们是如何在一起工作非常重要。你会 学习背后的应用架构和设计决定 以及实现计划。

列出商店里的产品

你会实现一个智能合约,这个合约有着卖方列出所要在商场里售卖商品的所有功能。

Vickery 拍卖

你将会学习几种类型的拍卖,并学习 Vickery 拍卖系统的细节。你将会在智能合约中实现这个拍卖系统。由于在区块链中所有交易都是公开的,我们会实现 加密竞价 来隐藏报价. 这与 ENS 的工作方式类似。

IPFS 及其用法

在区块链上存储大文本和图片并非易事。为了解决这个问题,我们会在应用中集成 IPFS。你将会学习 IPFS 的基础知识,详细的安装步骤和用法. 我们会使用标准的 IPFS JavaScript 库将 IPFS 集成到我们的应用中。

Web 前端

我们将大量使用 web3js 库来实现前端。所有的智能合约功能将会通过 HTML/JS 前端暴露出去。

利用 MongoDB 和以太坊事件的链下解决方案

你将会学习以太坊的事件概念,如何使用这些事件来实现一个链下的产品搜索功能。你也会将链下方案集成到前端,给商场添加搜索功能

托管服务

在区块链的世界里,并没有中心化的权威机构强制保证规则的执行,保证支付。为了保护买方和卖方不被欺骗, 我们会实现托管服务的智能合约,它可以用来 锁定合约里的资金. 资金会被通过一个 2/3 多重签名方案 (买方, 卖方和一个任意的第三方)释放给卖方或者返还给买方。你将会学习托管服务的概念和多重签名的细节,并按照指引实现托管服务。

总结/练习

在我们的商场应用可以加入一些特性/优化的地方。我们会留有一些练习,学生可以用来继续学习获得更多经验,成为更好的区块链开发人员。
$60.00
  • 40 hours of content
  • Support forum
  • Lifetime access
  • Free content updates