查看: 2479|回复: 0
打印 上一主题 下一主题

基于以太坊Ethereum & IPFS的去中心化Ebay区块链项目实战特训.

[复制链接]

9万

主题

9万

帖子

28万

积分

管理员

管理员

Rank: 9Rank: 9Rank: 9

积分
289121
跳转到指定楼层
楼主
发表于 2018-8-24 08:44:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
◦1.1 eBay简介
◦1.3 为什么要去中心化
◦1.5 技术需求
•3. 应用程序流
•5. 以太坊智能合约(Ethereum Contract)
•7. Web前端 - Product
•9. 托管服务(Escrow Service)
•11. 项目效果
1,项目介绍


eBay,(EBAY,中文电子湾、亿贝、易贝)是一个可让全球民众网上买卖物品的线上拍卖及购物的网站。ebay于1995年9月4日由Pierre Omidyar以Auctionweb的名称创立于加利福尼亚州圣荷西。人们可以在ebay上通过网络出售商品。

这是一个中级水平的课程,您可以建立一个类似eBay的市场,在这个市场上卖家可以拍卖他们的产品,买家也可以通过拍卖来购买。

1.3 为什么要去中心化

eBay取得了巨大的成功,因为它使得买卖非常有效率。在互联网成为主流之前,人们只能在当地社区购买和出售商品,当然也可以在一定的地理范围内购物。随着越来越多的人上网,像eBay这样的公司完全可以体验整个线下购物拍卖的场景,任何人都可以在互联网上从世界任何地方买卖任何东西。 eBay对于消费者和商人都具有划时代的意义。

•参与的商人都在受到公司的相关限制:公司可以随时决定是否阻止商家自行处理交易,这对商人来说可能是一个巨大的打击。

•商家/消费者不拥有他们的任何数据。评论、购买历史等都是这些公司所有。例如,如果商家想将自己的操作转移到另一个提供商,那么导出她的评论或其他数据是几乎不可能的。

1.4 项目详情

•项目展示:一个网站应该允许商家列出他们的项目。我们将为任何人建立免费列出他们的项目的功能。我们会将这些项目都存储在区块链和非区块链的数据库中,以方便查询。

•浏览产品:我们将添加根据类别、拍卖时间等过滤和浏览产品的功能。

•托管合约:一旦投标结束,产品有赢家,我们将在买方,卖方和第三方仲裁人之间创建一个托管合同。

1.5 技术需求

•Solidity面向对象编程:在讲解这个项目之前,我们会先给大家讲解Solidity面向对象编程基础,如何编写简单合约,部署合约,合约简单互动。

•Javascript:我们在这个过程中广泛使用JavaScript。它在服务器端用于将数据保存到数据库并查询数据库并将结果返回到前端。前端使用Web3.js与区块链进行交互。我们尽力保持javascript代码尽可能简单,以迎合不同背景的学生。

   
在我们开始执行代码之前,让我们来看看我们将在本课程中构建的Dapp的体系结构。

•区块链:这是所有代码和交易所在的应用程序的心脏。商店中的所有产品、用户出价和托管都写在区块链上。

•NodeJS服务器:这是前端通过其与数据库进行通信的后端服务器。我们将公开一些简单的API来为前端查询和从数据库中检索产品。


3,应用程序流



[attach]295[/attach]


•Web前端将包含一个HTML表单,用户可以在其中输入产品详细信息(名称,起始价格,图像,说明等)并点击保存 ①。

•网页前端然后调用合约将产品信息 + IPFS链接存储到区块链上。在成功将产品添加到区块链中时,合约会触发事件,该事件会返回所有产品信息。 ④ 和 ⑤。

当我们实现这些功能时,我们将继续讨论剩下的应用程序流程。


•先通过truffle framework和Solidity实现合约代码,并将其部署到truffle develop自带的测试网络中,并且在truffle console中可以自由交互。

•在后端实现完成后,我们将构建Web前端以与合约和IPFS进行交互。我们也会实现招标,揭示前端的拍卖功能。

•数据库启动并运行后,我们将实现监听合约事件的NodeJS服务器端代码,并将请求记录到控制台。然后我们将执行代码将产品插入数据库。

•我们将实现托管合同和相应的前端,参与者可以向买方/卖方发放或退款。


1.Truffle Project
3.从区块链中添加和检索产品
5.eBay拍卖
7.揭标
9.控制台交互

1.IPFS安装配置
◦ipfs
◦interface-ipfs-core
◦直接在终端和IPFS交互
◦部署个人独立博客到IPFS
◦dag API
◦如何使用IPFS PubSub Room构建应用程序
7,Web前端 - Product

2.设置上传到区块链的种子数据
4.渲染产品
6.实现产品提交表单
8.保存


1.React 前端
3.锁定和显示出价


1.概述
3.声明获胜者
10,产品离线(Products Offchain)


2.MongoDB设置

4.NodeJS app 设置

6.存储产品

11,项目效果

[attach]296[/attach]
[attach]297[/attach]
[attach]298[/attach]
[attach]299[/attach]
[attach]300[/attach]
[attach]301[/attach]

[attach]302[/attach]
[attach]303[/attach]


购买主题 本主题需向作者支付 30 下载币 才能浏览
管理员
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|IT视频教程资源网

GMT+8, 2024-11-22 01:06 , Processed in 0.655775 second(s), 29 queries .

快速回复 返回顶部 返回列表

客服
热线

微信
7*24小时微信 客服服务

扫码添
加微信

添加客服微信获取更多

关注
公众号

关注微信公众号