# ebay-truffle-auction
#### 这个分支是连接了Java后端的代码,对Mysql数据库进行了操作,如果不熟悉后端的话,可以先使用noback分支
## 温馨提示:该项目仅适用于入门学习,功能并不复杂,谢谢理解
前置知识:solidity、truffle、JavaScript、web3.js、Java(非必须其他后端语言均可)......
一个基于truffle搭建的拍卖系统项目,这个项目主要是基于以太坊开发拍卖系统DApp,拍卖的原理类似于eBay,所以又可以叫做“去中心化eBay”项目.
默认检测Metamask钱包插件,若有则使用MetaMask进行交互,若无则连接本地的8545端口.
## 应用架构图:
![Frame](Frame.png)
首先确保电脑已经安装**truffle、webpack、ganache-cli**
```
npm install -g truffle@5.7.4 webpack@5.75.0 ganache-cli@6.12.2
```
然后打开./app/package.json进行修改并安装相关包
```
// 这个是我的
{
"name": "app",
"version": "1.0.0",
"description": "",
"private": true,
"scripts": {
"build": "webpack",
"dev": "webpack-dev-server"
},
"devDependencies": {
"@openzeppelin/truffle-upgrades": "^1.17.0",
"copy-webpack-plugin": "^5.0.5",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.9.0"
},
"dependencies": {
"@babel/core": "^7.20.12",
"ipfs-http-client": "^50.1.2",
"ethers": "^5.4.0",
"web3": "^1.2.4"
}
}
```
```
npm install
```
还要安装IPFS,[下载链接](https://dist.ipfs.tech/#kubo),我安装的版本是 kubo_v0.18.1
启动IPFS后,打开IPFS的[UI前端](http://localhost:5001/webui),修改网关等配置文件并保存,然后重启IPFS
```
{
"API": {
"HTTPHeaders": {
"Access-Control-Allow-Credentials": ["true"],
"Access-Control-Allow-Headers": ["Authorization"],
"Access-Control-Allow-Methods": ["GET","POST"],
"Access-Control-Allow-Origin": ["*"],
"Access-Control-Expose-Headers": ["Location"]
}
},
"Addresses": {
...
"Gateway": "/ip4/127.0.0.1/tcp/9001",
...
}
...
}
```
在启动 ganache-cli 、IPFS后,在项目根目录下使用 truffle 部署合约
```
truffle migrations
```
新增商品服务器时监听区块链状态,然后添加到mysql数据库中,我部署在我的Java服务器里了([代码地址](https://github.com/kpyaoqi/JavaServer))
如果Java不熟悉的话,也可以替换成直接查询区块链数据,或者自己有熟悉的后端语言的话也可以用其他的语言部署
在进行服务跳转的时候,会遇到跨域问题,需要在webpack.config.js文件添加一条代理配置:
```js
devServer: {
contentBase: path.join(__dirname, "dist"), compress: true,port: 8080,
proxy: {
'/**': {
target: 'http://localhost:80',
secure: false
}
}
},
```
然后在项目app目录下启动项目
```
npm run dev
```
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
龙年行大运
- 粉丝: 1402
- 资源: 3960
最新资源
- 基于TypeScript的luyinji录音机设计源码
- (源码)基于C语言和MPI框架的NBody问题求解系统.zip
- 昆仑通态控温程序:触摸屏直接通讯仪表,无需PLC,MCGS通讯连接10块仪表,精准控温高效管理,昆仑通态控温程序:触摸屏直接通讯仪表,无需PLC,MCGS通讯连接十块仪表,昆仑通态控温程序,MCGS通
- 基于PHP和JavaScript的OpenFlights航班信息地图设计源码
- (源码)基于Spring Boot和Vue的权限管理系统.zip
- COMSOL仿真揭示石墨烯临界耦合光吸收特性:费米能级调控下的光学性能探究,COMSOL仿真揭示石墨烯临界耦合光吸收特性:费米能级调控下的光学性能探究,COMSOL 准 BIC控制石墨烯临界耦合光吸收
- 深入解析comsol电弧放电现象:蒸汽影响下的电弧行为与特性,探索comsol电弧放电现象:蒸汽作用下的放电特性研究,comsol电弧放电 考虑蒸汽 ,comsol电弧放电; 蒸汽电弧放电; 蒸汽与电
- (源码)基于Arduino的避障机器人.zip
- 基于TypeScript和JavaScript的基因组可视化设计源码
- 基于TypeScript的快递配送司机行程时间计算器设计源码
- 基于Vue2的图书馆前端LMS设计源码
- 基于FPGA的自适应滤波器设计及LMS、NLMS、RLS算法实现,包含FIR IIR滤波器和FxLMS分数阶技术,2023年H题解析,基于FPGA的自适应滤波器设计与实现:LMS、NLMS、RLS算法
- (源码)基于电路设计项目的完整解决方案.zip
- 基于三菱PLC与组态王的三层电梯智能控制设计程序集:梯形图程序、接线图与组态画面全解析,基于三菱PLC与组态王的三层电梯智能控制设计程序集:含梯形图、接线图、IO分配及组态画面,基于三菱PLC和组态王
- 基于MATLAB的混合滤波器设计:模拟与数字滤波器应用详解,MATLAB平台下的模拟与数字滤波器设计:涵盖IIR、FIR及巴特沃斯、切比雪夫四大类型滤波器的研究与实践,基于matlab的模拟滤波器和数
- 《煤矿开挖区三维渗流仿真及其应力场计算分析模型研究》,《煤矿开挖区三维渗流仿真及其应力场计算分析模型研究》,煤矿开挖区的三维渗流仿真 煤矿开挖区模型 计算了渗流速度场以及结构的应力场 ,三维渗流仿真
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)