如何追踪 Hyperledger fabric UTXO 代币的来源

How to track origin in Hyperledger fabric UTXO tokens

我有一个与 Hyperledger fabric 区块链数据模型相关的问题。我需要处理两种类型的对象,对于其中的每一种,我可能需要一个单独的智能合约来加载与每种对象类型相关的数据,并处理该数据。

例如,假设我需要一个智能合约来处理代表铅笔的代币,以便它们可以从一个账户转移到另一个账户。假设我还需要一个单独的智能合约来处理创建铅笔时涉及的树木,因为首先我需要处理有关树木的数据,然后在通道中发布相应的 UTXO 令牌。

假设,对于添加到区块链中的每棵树,应该发行 100 个铅笔代币。

我将使用 https://github.com/hyperledger/fabric-samples/tree/main/token-utxo 中 Hyperledger fabric 提供的 UTXO 令牌来处理铅笔令牌,它已经提供了“铸造”和“转移”令牌的功能,但我需要一些见解如何关联此智能合约与合约之间的逻辑以处理分类帐中的树。最好建立一种跟踪铅笔标记的方法,提供一种功能来证明它们是从特定树创建的。

任何有关如何执行此操作的信息或提示将不胜感激。

UTXO 模型用于跟踪可替代令牌,即相同且可互换的令牌。如果您想追踪铅笔的来源,那么它们并不完全相同且不可互换,因此您应该考虑一种不可替代的代币模型,其中每项资产都可以具有独特的属性。例如,每支铅笔都可以有一个唯一标识符(键)和一组 JSON 属性(值),其中源树是 JSON 属性之一。有关建模和跟踪具有属性的不可替代资产的想法,请参阅资产转移样本。