首页 文章

发展供应链DApp

提问于
浏览
1

作为一个项目,我试图制作一个应用程序,允许使用以太坊区块链存储食品供应链 . 在这样做时,我将存储从农场到消费者的资产 . 最终消费者最终将能够从区块链中检索有关其特定产品的信息,例如它来自哪个农场 . 我无法理解每项资产是否需要单独的智能合约,或者是否可以使用一份智能合约来存储有关多种不同资产的信息 .

非常感谢任何帮助,谢谢 .

3 回答

  • 0

    无论哪种方式都没关系 . 我个人会采用多种智能合约方式 . 如果您使用的是单一的智能合约,您可以使用数据结构将项目的ID映射到供应链中的当前位置 . 您可以为此从一个整数到一个结构进行简单的映射 . 如果要跟踪特定项目的所有先前位置,此方法会变得复杂 .

    最好的方法是为每个项目维护单独的智能合约 . 在每个 Contract 中,您可以拥有从时间戳/字符串到结构的映射,以存储项目的详细信息 .

  • 1

    这实际上取决于您如何编写智能合约 . 如果您希望一个合约能够处理多个项目,您可以为每个项目分配某种ID(可能是一个普通的整数),然后您可以创建一个数据结构,对于每个ID,该数据结构都包含有关所附供应链的信息 .

    然后,您可以添加添加更多跟踪ID的功能,以便稍后扩展项目数

  • 0

    想想你要编写的公共Solidity函数并问自己: am I going to have different functions for different types of assets? 如果你的答案是"yes" - 你可能需要单独的智能合约 . 否则,坚持使用单个,并确保它在内部处理不同的资产类型 .

    但请记住,一旦智能合约被部署和开采,就无法改变 . 您只能部署一个新客户端,然后将客户端迁移到新的Eth地址 .

相关问题