Я делаю этот урок
ссылка . Я добавил объект, который будет удален транзакцией 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"
},