码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Solidity】智能合约案例——①食品溯源合约


    目录

    一、合约源码分析:

    二、合约整体流程:

          1.部署合约

          2.管理角色

          3.食品信息管理

          4.食品溯源管理


    一、合约源码分析:

            Producer.sol:生产者角色的管理合约,功能为:添加新的生产者地址、移除生产者地址、判断角色地址是否被授权

            Distributor.sol:中间商角色的管理合约,功能为:添加新的中间商地址、移除中间商地址、判断角色地址是否被授权

            Retailer.sol:零售商角色的管理合约,功能为:添加新的零售商地址、移除零售商地址、判断角色地址是否被授权

            FoodInfoItem.sol:食品信息管理合约,功能为:中间商添加食品信息、超市添加食品信息、获取食品流转过程、获取食品的最初状态

            Roles.sol:角色库,功能为:增加角色地址、移除角色地址、判断角色地址是否被授权

            Trace.sol:食品溯源合约(主合约),包含了所引入合约的所有功能,以实现完整的食品溯源过程

    二、合约整体流程:

          1.部署合约

            主合约(Trace.sol)部署时,需要添加三个地址作为初始化地址部署,同时,他们也是合约中的生产者,中间商,零售商。

    部署成功后,我们此时便可以执行食品溯源的操作

          2.管理角色

            实际生产中,食品的加工、转运,销售会有许多地址,因此,我们可以使用引入的合约方法添加或者管理不同的角色地址

            添加角色地址

            例如:新添加一个生产者地址

            报错原因:添加生产者的操作必须由具有操作权限的生产者地址进行,此时切换生产者账户重新执行即可

            移除角色地址

            判断角色地址

          3.食品信息管理

            部署合约时,我们已经添加了三个地址作为生产者,中间商,零售商,因此也可以直接进行食品信息管理

            例如:添加新的食品信息,查询该食品信息

            4.食品溯源管理

            例如:将上文所新添加的食品增加中间商和零售商的溯源信息

            此时再次进行食品信息查询

            可见食品(火腿肠)的状态已经更新到了销售商(小新超市),该食品已经完整的经过了生产,转运,销售的过程,而通过此合约可以清晰明了地查询食品的状态,质量,时间,过程,真正实现了食品溯源

  • 相关阅读:
    337. 打家劫舍 III
    利用代码生成工具快速生成基于SqlSugar框架的Winform界面项目
    Golang vs Rust ——服务端编程应该选择哪种语言
    Multi-Interest Network with Dynamic Routing forRecommendation at Tmall 论文阅读笔记
    Codeforces Round #823 (Div. 2) A-D
    String.format()的详细用法
    [Lecture_Review] [VALSE]薪火相传经验谈——学长学姐教你如何做科研
    【蓝桥杯冲击国赛计划第4天】栈
    python3:random()返回随机实数 2023-11-17
    hbase和aerospike基础概念及所对应的python包API使用
  • 原文地址:https://blog.csdn.net/naihe_fish/article/details/133579601
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号