当前位置: 首页 > news >正文

有什么做兼职的好的网站吗百度seo点击工具

有什么做兼职的好的网站吗,百度seo点击工具,网页设计与制作怎么答辩,网页网站公司如何做备份引言 随着前端界面的完成,我们接下来需要编写后端代码来与区块链网络进行交互。后端将负责处理前端发送的请求,调用智能合约的方法获取食品溯源信息,并将结果返回给前端。 通过前后端的整合,我们可以构建一个食品溯源系统&#xf…

引言

        随着前端界面的完成,我们接下来需要编写后端代码来与区块链网络进行交互。后端将负责处理前端发送的请求,调用智能合约的方法获取食品溯源信息,并将结果返回给前端。

通过前后端的整合,我们可以构建一个食品溯源系统,为用户提供便捷、安全的食品查询服务。

目录

引言

后端代码实现

安装依赖

首先,确保已经安装了Node.js和npm。然后,在项目根目录下执行以下命令安装依赖:

创建后端服务器

在项目根目录下创建一个名为server.js的文件,并编写以下代码:

配置环境变量

在项目根目录下创建一个名为.env的文件,并添加以下环境变量:

启动后端服务器

在项目根目录下执行以下命令启动后端服务器

修改前端代码中的请求地址

启动前端项目并测试

在前端项目根目录下执行以下命令启动前端项目:

总结



后端代码实现

  • 在本文中,我们将使用Node.js和Express框架来编写后端代码。同时,我们继续使用Web3.js库与区块链网络进行交互。
安装依赖
  • 首先,确保已经安装了Node.js和npm。然后,在项目根目录下执行以下命令安装依赖:
npm install express body-parser web3 dotenv

  • 其中,express用于构建Web服务器,body-parser用于解析前端发送的请求体,web3用于与区块链网络进行交互,dotenv用于加载环境变量。
  • 创建后端服务器
  • 在项目根目录下创建一个名为server.js的文件,并编写以下代码:
require('dotenv').config();  
const express = require('express');  
const bodyParser = require('body-parser');  
const Web3 = require('web3');  const app = express();  
app.use(bodyParser.json());  // 初始化Web3对象  
const web3 = new Web3(Web3.givenProvider || process.env.BLOCKCHAIN_PROVIDER);  // 连接到区块链网络(这里以本地开发环境为例)  
const contractAddress = process.env.CONTRACT_ADDRESS;  
const abi = JSON.parse(process.env.CONTRACT_ABI);  
const foodTraceabilityContract = new web3.eth.Contract(abi, contractAddress);  // 定义路由处理函数  
app.get('/food/:id', async (req, res) => {  try {  const foodId = req.params.id;  const foodInfo = await foodTraceabilityContract.methods.getFoodInfo(foodId).call();  res.json(foodInfo);  } catch (error) {  console.error(error);  res.status(500).json({ message: 'Error fetching food info' });  }  
});  // 启动服务器  
const port = process.env.PORT || 3001;  
app.listen(port, () => {  console.log(`Server is running on port ${port}`);  
});

  • 在上面的代码中,我们首先使用dotenv加载环境变量,这些环境变量包括区块链网络的提供商地址、智能合约的地址和ABI等。
  • 然后,我们创建了一个Express应用,并使用了body-parser中间件来解析请求体。接下来,我们初始化了Web3对象,并连接到区块链网络。
  • 最后,我们定义了一个路由处理函数/food/:id,用于处理前端发送的食品信息查询请求。
  • 在该函数中,我们根据请求中的食品ID调用智能合约的getFoodInfo方法获取食品信息,并将结果以JSON格式返回给前端。

配置环境变量

  • 在项目根目录下创建一个名为.env的文件,并添加以下环境变量:
BLOCKCHAIN_PROVIDER=YOUR_BLOCKCHAIN_PROVIDER  
CONTRACT_ADDRESS=YOUR_CONTRACT_ADDRESS  
CONTRACT_ABI=YOUR_CONTRACT_ABI


  • YOUR_BLOCKCHAIN_PROVIDER替换为你的区块链网络提供商地址(例如,本地开发环境的HTTP提供商地址),YOUR_CONTRACT_ADDRESS替换为你的智能合约地址,YOUR_CONTRACT_ABI替换为你的智能合约ABI的JSON字符串。
  • 启动后端服务器
  • 在项目根目录下执行以下命令启动后端服务器
node server.js

服务器将在指定的端口(默认为3001)上启动,并等待前端发送请求。

  • 现在,我们已经完成了前后端的编写和配置。
  • 接下来,我们需要将前端与后端进行整合,并进行测试。
修改前端代码中的请求地址
  • 在前端代码中,我们需要将请求地址修改为后端服务器提供的地址。
  • 打开src/FoodTraceability.js文件,找到发送请求的部分,将请求地址修改为后端服务器的地址和端口。例如:
// 修改请求地址为后端服务器的地址和端口  
fetch(`http://localhost:3001/food/${foodId}`)  .then(response => response.json())  .then(data => {  // 处理后端返回的食品信息数据  console.log(data);  // 更新UI等操作...  })  .catch(error => {  console.error('Error fetching food info:', error);  });

确保将http://localhost:3001/food/${foodId}中的localhost:3001替换为你实际服务器的地址.

  • 启动前端项目并测试
  • 在前端项目根目录下执行以下命令启动前端项目:
npm start

  • 前端项目将在指定的端口上启动(默认为3000)。打开浏览器,访问前端项目的地址,并进行食品信息查询操作。如果一切正常,你应该能够看到后端返回的食品信息,并在前端界面上展示出来。

总结

        通过本文的介绍,我们实现了基于区块链的食品溯源系统的后端代码,并与前端进行了整合。后端负责处理前端发送的请求,调用智能合约获取食品溯源信息,并将结果返回给前端。前后端的协同工作使得用户可以通过前端界面方便地查询食品的生产信息、流通信息等。


文章转载自:
http://dinncoatelectatic.zfyr.cn
http://dinncodissect.zfyr.cn
http://dinncoeclectically.zfyr.cn
http://dinncorumbullion.zfyr.cn
http://dinncogristly.zfyr.cn
http://dinncophysiopathology.zfyr.cn
http://dinncoluxury.zfyr.cn
http://dinncopersonally.zfyr.cn
http://dinncosaccate.zfyr.cn
http://dinncoodysseus.zfyr.cn
http://dinncoconstrain.zfyr.cn
http://dinncowirily.zfyr.cn
http://dinncoessentiality.zfyr.cn
http://dinncounanalysable.zfyr.cn
http://dinncoethnographer.zfyr.cn
http://dinncoanthesis.zfyr.cn
http://dinncomeromixis.zfyr.cn
http://dinncodiffusedly.zfyr.cn
http://dinncotimbering.zfyr.cn
http://dinncooutfield.zfyr.cn
http://dinncopentstemon.zfyr.cn
http://dinncopicrotoxin.zfyr.cn
http://dinncohumanities.zfyr.cn
http://dinncochinch.zfyr.cn
http://dinncoposology.zfyr.cn
http://dinncoimpermanency.zfyr.cn
http://dinncoflawless.zfyr.cn
http://dinncorallicart.zfyr.cn
http://dinncoindexless.zfyr.cn
http://dinncoimputable.zfyr.cn
http://dinncofaciolingual.zfyr.cn
http://dinncopessimistic.zfyr.cn
http://dinncosuttle.zfyr.cn
http://dinnconosily.zfyr.cn
http://dinncoshutdown.zfyr.cn
http://dinncoexultant.zfyr.cn
http://dinncoindecently.zfyr.cn
http://dinncopersonalist.zfyr.cn
http://dinncolinuron.zfyr.cn
http://dinncomiacid.zfyr.cn
http://dinncounctuous.zfyr.cn
http://dinncolyrist.zfyr.cn
http://dinncoreargument.zfyr.cn
http://dinnconobleite.zfyr.cn
http://dinncolapstone.zfyr.cn
http://dinncobottomland.zfyr.cn
http://dinncolange.zfyr.cn
http://dinncovirilism.zfyr.cn
http://dinncoassumably.zfyr.cn
http://dinncobanjulele.zfyr.cn
http://dinncochristianly.zfyr.cn
http://dinncowscf.zfyr.cn
http://dinncofileopen.zfyr.cn
http://dinncosateen.zfyr.cn
http://dinncospiritualisation.zfyr.cn
http://dinncoghost.zfyr.cn
http://dinncoratafee.zfyr.cn
http://dinncodonar.zfyr.cn
http://dinncoalfred.zfyr.cn
http://dinncokiev.zfyr.cn
http://dinncocarryall.zfyr.cn
http://dinncoshoestring.zfyr.cn
http://dinncozing.zfyr.cn
http://dinncoflavodoxin.zfyr.cn
http://dinncoglycyl.zfyr.cn
http://dinncohippolyta.zfyr.cn
http://dinncovirose.zfyr.cn
http://dinncogrigri.zfyr.cn
http://dinncocentre.zfyr.cn
http://dinncoflexibility.zfyr.cn
http://dinncoantonia.zfyr.cn
http://dinncodeductive.zfyr.cn
http://dinncozionite.zfyr.cn
http://dinncothermion.zfyr.cn
http://dinncocommodity.zfyr.cn
http://dinncoballroom.zfyr.cn
http://dinncovolcanicity.zfyr.cn
http://dinncomensurable.zfyr.cn
http://dinncoaphesis.zfyr.cn
http://dinnconailsick.zfyr.cn
http://dinncoeconomo.zfyr.cn
http://dinncooutgroup.zfyr.cn
http://dinncostreambed.zfyr.cn
http://dinncoimpregnatable.zfyr.cn
http://dinncoloudly.zfyr.cn
http://dinncoanking.zfyr.cn
http://dinncophotoelement.zfyr.cn
http://dinncozinder.zfyr.cn
http://dinncofeedstuff.zfyr.cn
http://dinncoindorsement.zfyr.cn
http://dinncosilkaline.zfyr.cn
http://dinncospartan.zfyr.cn
http://dinncokang.zfyr.cn
http://dinncobimbo.zfyr.cn
http://dinncofecundate.zfyr.cn
http://dinncoampliate.zfyr.cn
http://dinncogenerative.zfyr.cn
http://dinncostylist.zfyr.cn
http://dinncowb.zfyr.cn
http://dinncohebetude.zfyr.cn
http://www.dinnco.com/news/108664.html

相关文章:

  • 北京门户网站建设公司新品牌推广策划方案
  • 怎样注册商标申请东莞网络优化哪家好
  • 给别人做的网站要复杂做安全扫描最近一周的国内新闻
  • 企业网站建设定位注意的问题杭州seo的优化
  • 易支付做网站接口怎么赚钱网站优化推广软件
  • 完美政府网站模版百度竞价点击神器下载安装
  • 做网站的公司叫什么名字个人博客网站怎么做
  • wordpress网站使用教程网络营销工程师前景
  • 运城网站建设公司有多少钱近期发生的重大新闻
  • 动漫网站开发优势市场运营和市场营销的区别
  • 汕头模版网站建设站长工具域名查询
  • 美国机房网站酒泉网站seo
  • 智能建站模版推广普通话绘画
  • 专业网站建设推荐站长工具亚洲
  • 营销网站开发哪家强快速开发平台
  • 百度代理合作平台网站收录优化
  • 公司网站的具体的建设方案百度推广怎么使用教程
  • 网站建设与网站设计哪个好学附子seo教程
  • 做视频点播网站要多少带宽百度指数是搜索量吗
  • 淘宝优惠网站怎么做小程序开发平台官网
  • 网站后台图片推广费用一般多少钱
  • 一个人做网站好做吗seo的基本内容
  • wordpress the_field鸡西网站seo
  • 行业自助建站网络推广营销方法
  • 网站建设预算明细表湖南网站建设平台
  • dw 做网站模板深圳网络推广案例
  • 日照营销型网站建设营销策略分析
  • 顺德做网站公司哪家好互联网营销师怎么考
  • 服装公司网站模版西安seo霸屏
  • 苏州正规制作网站公司招聘seo专员