я получаю сообщение об ошибке при попытке добавить актив через транзакцию в Hyperledger Composer - PullRequest
0 голосов
/ 10 января 2019

файл sample.cto

  namespace org.example.basic

    asset Supplier identified by suppliername
    {
      o String suppliername
    }
    asset product identified by productname{
    o String productname
    -->Supplier supplier
    o Integer amount
    }



    transaction SampleTransaction {
      -->product productasset
      o String productname
      o String supplier
      o Integer amount
    }

файл logic.js

/ ** * Пример функции процессора транзакций. * @param {org.example.basic.SampleTransaction} tx Пример экземпляра транзакции. * @transaction * /

async function createPost(tx) {

      var factory = getFactory();
      return getAssetRegistry("org.example.basic.product")
      .then(function(postAssetRegistry) {
       var productname=tx.productname
       newPost = factory.newResource("org.example.basic", "product", productname);
       newPost.productname = tx.productname;
       newPost.supplier = tx.supplier;
       newPost.amount=tx.amount;

       return postAssetRegistry.add(newPost);
  })





}

Нажмите здесь, чтобы посмотреть изображение ошибки

1 Ответ

0 голосов
/ 10 января 2019

В своем определении транзакции в файле модели вы указываете строку, но в этой строке скрипта newPost.supplier = tx.supplier; свойство newPost.supplier принудительно устанавливается в Composer как отношение, поэтому будет иметь значение, подобное org.example.basic.Supplier#qqa

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...