通过 Hyperledger Composer 中的交易创建资产

2024-04-29

在创建任何asset or 参与者需要检查一些条件就像(如果..那么..否则)在某些领域。

是否可以创建Asset or 参加者通过交易?


对的,这是可能的。

我在我的网络中做了同样的事情,通过交易创建资产并应用您需要的任何规则。

事务从 lib 中的logic.js 文件运行。

假设您在 org.myAssets 命名空间中有一个资产 myAsset

asset myAsset identified by assetId
{
  o String assetId
  o String someData
  //other fields as required
}

您现在想要一笔将创建资产的交易

您的 CTO 交易如下所示:

namespace org.transactions
import org.myAssets.*

transaction MyAssetCreate
{
  o myAsset anAsset
}

您无法在此处引用该资产,因为您还没有资产。

在你的 lib/logic.js 中你有类似的东西:

/**
 * creates an asset
 * @param {org.transactions.MyAssetCreate} myAssetCreate 
 * @transaction
 */
async function MyAssetCreate(myAssetCreate) {
    return getAssetRegistry('org.myAssets.myAsset')
    .then(function(result) {
        var factory = getFactory();
        var newAsset = factory.newResource(
        'org.myAssets', 
        'myAsset', 
        myAssetCreate.anAsset.assetId); 
        newAsset.someData = myAssetCreate.anAsset.someData
        //continue with property assignments and any logic you have
        //when you are done and everything looks good you can continue
        return result.add(newAsset);
     });

现在您可以调用 MyAssetCreate 并且您将在正确的注册表中获取您的资产。 当然,如果您这样做,那么您需要确保不允许通过标准资产端点创建资产。

我本人计划根本不公开任何资产端点,只允许通过交易进行更改。

检查代码是否有拼写错误等,我从正在运行的网络中获取了此代码,替换了我的类型名称,因此我可能输错了某些内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Hyperledger Composer 中的交易创建资产 的相关文章

随机推荐