赞
踩
食品安全问题一直是社会关注的热点,而食品溯源作为解决食品安全问题的重要手段,其重要性不言而喻。传统的食品溯源系统往往存在数据易被篡改、信息不透明等问题,而区块链技术的引入,为食品溯源带来了革命性的变革。
目录
npm install react react-dom react-scripts web3
src
目录下创建一个名为FoodTraceability.js
的React组件文件,并编写以下代码:- import React, { useState, useEffect } from 'react';
- import Web3 from 'web3';
-
- const FoodTraceability = () => {
- const [foodInfo, setFoodInfo] = useState(null);
- const [loading, setLoading] = useState(false);
- const [error, setError] = useState(null);
-
- useEffect(() => {
- const loadFoodInfo = async () => {
- try {
- // 初始化Web3对象
- const web3 = new Web3(Web3.givenProvider || 'http://localhost:7545');
-
- // 连接到区块链网络(这里以本地开发环境为例)
- const contractAddress = 'YOUR_CONTRACT_ADDRESS'; // 替换为你的合约地址
- const abi = [...]; // 替换为你的合约ABI
- const foodTraceabilityContract = new web3.eth.Contract(abi, contractAddress);
-
- // 调用合约方法获取食品信息(这里假设有一个名为getFoodInfo的方法)
- setLoading(true);
- const result = await foodTraceabilityContract.methods.getFoodInfo('YOUR_FOOD_ID').call();
- setFoodInfo(result);
- setLoading(false);
- } catch (e) {
- setError(e.message);
- setLoading(false);
- }
- };
-
- loadFoodInfo();
- }, []);
-
- if (loading) {
- return <div>Loading...</div>;
- }
-
- if (error) {
- return <div>Error: {error}</div>;
- }
-
- if (!foodInfo) {
- return <div>No food info found.</div>;
- }
-
- return (
- <div>
- <h1>Food Traceability</h1>
- <p>Food ID: {foodInfo.id}</p>
- <p>Producer: {foodInfo.producer}</p>
- <p>Production Date: {foodInfo.productionDate}</p>
- {/* 根据实际需求添加更多展示信息 */}
- </div>
- );
- };
-
- export default FoodTraceability;

YOUR_CONTRACT_ADDRESS
、YOUR_FOOD_ID
和...
(合约ABI)需要替换为实际的值。你可以通过智能合约部署工具获取合约地址和ABI,并根据你的合约定义修改getFoodInfo
方法的调用方式。src/App.js
文件中引入并使用FoodTraceability
组件:- import React from 'react';
- import './App.css';
- import FoodTraceability from './FoodTraceability';
-
- function App() {
- return (
- <div className="App">
- <header className="App-header">
- <FoodTraceability />
- </header>
- </div>
- );
- }
-
- export default App;
npm start
然后,在浏览器中打开http://localhost:3000/ 访问地址
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。