Не удалось удалить объект с идентификатором, так как объект не существует - PullRequest
1 голос
/ 24 мая 2019

Я делаю этот урок ссылка . Я добавил объект, который будет удален транзакцией removeHighQuantityCommodities. Вот метод транзакции.

/**
 * 
 * @param {org.example.mynetwork.RemoveHighQuantityCommodities} remove -  remove to be proocessed
 * @transaction
 */
    async function RemoveHighQuantityCommodities(remove){
let assetRegistry = await getAssetRegistry('org.example.mynetwork.Commodity');
let results = await query('selectCommoditiesWithHighQuantity');

for (let n = 0; n < results.length; n++) {
    let trade = results[n];

    // emit a notification that a trade was removed
    let removeNotification = getFactory().newEvent('org.example.mynetwork','RemoveNotification')
    removeNotification.commodity = trade;
    emit(removeNotification);
    await assetRegistry.remove(trade);
}

, когда я вызываю эту транзакцию, она выдает ошибку ниже:

Ошибка при попытке вызвать бизнес-сеть с идентификатором транзакции b74ec4d56a631bda73718891cf22cabeda1d50ea57fd5643a00b4843c4618e8e. Ошибка: нет действительных ответов от каких-либо одноранговых узлов. \ NОтветом на попытки соединения с одноранговым узлом была ошибка: Ошибка: транзакция возвращена с ошибкой: Ошибка: Не удалось удалить объект с идентификатором «APL» в коллекции с идентификатором «Актив: org.example.mynetwork». Товар "как объект не существует"

Когда я запрашиваю товары, он показывает товар с идентификатором APL.

    [
     {
      "$class": "org.example.mynetwork.Commodity",
       "tradingSymbol": "ACN",
       "mainExchange": "NYSE",
       "description": "ACN STOCK",
        "quantity": 50,
        "owner": "resource:org.example.mynetwork.Trader#PERSON"
     },
     {
       "$class": "org.example.mynetwork.Commodity",
       "tradingSymbol": "APL",
       "mainExchange": "NYSE",
       "description": "APPLE STOCK",
       "quantity": 100,
       "owner": "resource:org.example.mynetwork.Trader#PERSON"
   },
...