本文共 3725 字,大约阅读时间需要 12 分钟。
孔壹学院:国内区块链职业教育引领品牌,专注于区块链产品底层研发和职业教育培训,孔壹学院是一家集产品研发、外包服务、脱产班、周末班、企业内训、区块链人才服务提供商为一体的综合性区块链商学院。
官方网站:黎跃春(微信:liyc1215):孔壹学院 、 BloggerChain创始人,资深讲师,区块链、高可用架构师。联系我们:微信:ershiyidianjian
参加Ebay项目线下周末班请点击
eBay
,(EBAY
,中文电子湾、亿贝、易贝)是一个管理可让全球民众上网买卖物品的线上拍卖及购物网站。ebay
于1995年9月4日
由Pierre Omidyar
以Auctionweb
的名称创立于加利福尼亚州圣荷西。人们可以在ebay
上通过网络出售商品。
这是一个中级水平的课程,您可以建立一个类似eBay
的市场,在这个市场上卖家可以拍卖他们的产品,买家也可以通过拍卖来购买。
因为我们会将所有的业务逻辑和数据存储在以太坊区块链上,所以这将是一个完全去中心化的应用程序。与此同时,如果我们将所有的图片和大量文本都存储在以太坊区块链上,这将非常昂贵,甚至由于以太坊EVM
的一些限制,我们根本不可能将大量的图片和文本存储到区块链。为了解决这个问题,我们将在IPFS(Inter Planetary File System)
上存储大量的文本和图像。我们将更多地了解IPFS
并将其融入到本课程的应用中。
在我们开始构建应用程序之前,花一分钟的时间来了解在像Ethereum
这样的去中心化平台上构建产品的动机。
eBay
取得了巨大的成功,因为它使得买卖非常有效率。在互联网成为主流之前,人们只能在当地社区购买和出售商品,当然也可以在一定的地理范围内购物。随着越来越多的人上网,像eBay
这样的公司完全可以体验整个线下购物拍卖的场景,任何人都可以在互联网上从世界任何地方买卖任何东西。 eBay
对于消费者和商人都具有划时代的意义。
尽管这对大家都有好处,并且总体上改善了贸易和经济,但是它有一些缺点。
eBay
提供服务。然而,上市费有时太高,商家要么保证金很高,要么把这笔费用交给消费者。在以太坊这样的平台上构建产品解决了这些问题。商户的账户不能被封锁,数据是公开的,所以它可以很容易导出,交易费用比中心化的公司少很多很多。
现在,您已经了解了构建此应用程序的原因以及为什么要构建这个应用程序,接下来我们来看一个高级别的,我们将在此项目中实现的所有功能。
eBay
,我们将实现对物品进行投标。因为以太坊上的一切都是公开的,不像中心化应用程序,所以我们的实现将有所不同。我们的实现将非常类似于ENS
的招标流程。2-of-3 数字签名
解决方案来增加欺诈保护,其中3名
参与者中的2名
必须投票将资金释放给卖方或将金额退还给买方。要成功完成本课程,您应该对以下语言/技术有基本的了解:
Solidity
面向对象编程基础,如何编写简单合约,部署合约,合约简单互动。HTML / CSS
有基本的了解。JavaScript
。它在服务器端用于将数据保存到数据库并查询数据库并将结果返回到前端。前端使用Web3.js
与区块链
进行交互。我们尽力保持javascript
代码尽可能简单,以迎合不同背景的学生。MongoDB
来存储产品信息。没有必要特别了解MongoDB
的知识,但是对这个过程需要对数据库有基本的了解。在我们开始执行代码之前,让我们来看看我们将在本课程中构建的Dapp的体系结构。
Web
前端是HTML
,CSS
和Javascript
的组合(大量使用web3js
)。用户将通过这个前端应用程序
与区块链
,IPFS
和nodeJS服务器
交互。MongoDB
数据库来存储产品信息并查询它以展示产品。IPFS
,并将上传文件的散列HASH存储到区块链中。为了理解我们在前面部分中看到的所有组件,让我们看看用户列出项目时的应用程序流程。这将使您更好地了解所有组件如何协同工作。
Web
前端将包含一个HTML
表单,用户可以在其中输入产品详细信息(名称,起始价格,图像,说明等)并点击保存 ①。IPFS
,并获取这些上传数据的链接。 ② 和 ③。NodeJS
服务器设置为监听这些事件,当事件被合约触发时,服务器读取事件的内容并将产品插入到MongoDB
中。 ⑥,⑦ 和 ⑧。当我们实现这些功能时,我们将继续讨论剩下的应用程序流程。
truffle framework
和Solidity
实现合约代码,并将其部署到truffle develop
自带的测试网络中,并且在truffle console
中可以自由交互。IPFS
,通过命令行安装并与之交互。Web
前端以与合约和IPFS
进行交互。我们也会实现招标,揭示前端的拍卖功能。IPFS
安装配置API
介绍
ipfs
ipfs-api
interface-ipfs-core
demo
演示
IPFS
交互IPFS
添加一个文件IPFS
APP
来在节点之间交换文件dag API
IPFS + Ethereum BlockChain
IPFS PubSub Room
构建应用程序CRDT
与IPFS
建立协作编辑应用程序348924182
liyc1215
转载地址:http://dndfa.baihongyu.com/