基于Hyperledger Fabric开发一个食品溯源项目(一)

本文介绍了一个基于Hyperledger Fabric开发的食品溯源项目,包括发布食品、添加配料信息和查询功能。项目采用AngularJs实现单页应用,详细解析了启动脚本、URL结构以及表单提交流程。通过调用Chaincode与智能合约交互,实现食品信息的存储和检索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近接触了Hyperledger Fabric,官网给的app并没有界面,不过有一个单页版的项目,在此基础上做出了一个简易的食品溯源项目
github项目地址
功能:

  1. 发布食品
  2. 添加配料信息
  3. 中转食品
  4. 查询食品信息
  5. 查询配料信息
  6. 查询中转信息(只可以溯源整个食品信息,不能溯源配料信息)
前言
本篇文章只会对我认为比较重要地部分进行大致地讲解,不会讲解细节,如果有什么疑惑的地方请在评论区进行评论,会根据评论情况进行下一篇文章的编写

项目架构

前端使用AngularJs来进行页面渲染,后台使用Node.js返回Json数据,数据存储在Hyperledger Fabric提供的数据库

启动脚本详解

source-app/server.js
const middlewares = [
  express.static(path.join(__dirname, 'public')),//静态文件
  bodyParser.urlencoded({
    extended: true }),//解析POST所传参数
  cookieParser(),//使用Cookie来进行Flash文字演示
  session({
   
    secret: 'super-secret-key',
    key: 'super-secret-cookie',
    resave: false,
    saveUninitialized: false,
    cookie: {
    maxAge: 60000}
  }),
  flash()
]
app.use(middlewares)//激活中间件
app.use(express.static(path.join(__dirname, 'views')));//使用模板
app.set('view engine', 'ejs');//配置模板引擎
require('./routes.js')(app);

URL分为三个部分

Part 1
获取HTML source-app/routes.js
app.get('/', function(req, res) {
   
		tuna.index(req, res);
});
...
Part 2
表单

表单提交流程

填写表单->POST到特定的URL->处理表单信息->重定向到首页

表单的HTML代码编写
source-app/views/form.ejs

<form method="post" action="/re_form" novalidate>
    <div class="section">食品信息</div>
    <div class="inner-wrap">
		<label>食品编号 <input type="text" name="field1" /></label>
        <label>食品名称 <input type="text" name="field1" /></label>
        <label>食品规格 <input type="text" name="field1" /></label>
		<label>食品生产日期 <input type="text" name="field1" /></label>
		
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值