Как сбросить хранилище вложений?

#corda #production

#corda #производство

Вопрос:

Я заменил подписанный contracts.jar на моем производственном узле другим подписанным contracts.jar , содержащим 1 дополнительный контракт и состояния. Теперь я получаю следующую ошибку:

 Failed net.corda.core.transactions.MissingContractAttachments: Cannot find contract attachments for com.cordacodeclub.contracts.LockableTokenContractnull. See https://docs.corda.net/api-contract-constraints.html#debugging
  

Вы можете увидеть это вживую, перейдя по http://54.216.255.188:8080 и нажимаем «Сброс». LockableTokenContract Упомянутый в сообщении об ошибке — это старый контракт, который присутствовал в предыдущем подписанном jar.

Я согласен потерять все производственные данные, поскольку это все еще тестовая схема. Итак, я спрятал persistence.mv.db и persistence.trace.db , но безрезультатно.

Итак, мой вопрос в том, как я могу начать заново,:

  • сброс моего хранилища и хранилища вложений
  • сохранение моих сертификатов testnet

РЕДАКТИРОВАТЬ: вот начальный журнал узла:

 Sep 27 18:48:17 ip-172-31-6-121 corda[86960]: --- Corda Open Source 4.4 (21e8c4f) -------------------------------------------------------------
Sep 27 18:48:17 ip-172-31-6-121 corda[86960]: Logs can be found in                    : /opt/corda/logs
Sep 27 18:48:34 ip-172-31-6-121 corda[86960]: Advertised P2P messaging addresses      : 54.216.255.188:10002
Sep 27 18:48:34 ip-172-31-6-121 corda[86960]: RPC connection address                  : 0.0.0.0:10003
Sep 27 18:48:34 ip-172-31-6-121 corda[86960]: RPC admin connection address            : 0.0.0.0:10004
`Sep 27 18:48:41 ip-172-31-6-121 corda[86960]: Loaded 12 CorDapp(s)                    : CorDapp corda-updates-core version 1.0 by com.r3 with licence Unknown, Workflow CorDapp: Slot Machine Flows version 1 by vendor Corda Code Club with licence Apache License, Version 2.0, Workflow CorDapp: Confidential Identities Workflows version 1 by vendor Corda Open Source with licence Apache License, Version 2.0, CorDapp bn-onboarder-app version 2.0 by net.corda.businessnetworks with licence Unknown, CorDapp corda-updates-app-states version 1.0 by com.r3 with licence Unknown, CorDapp business-network-membership-service-states version 1.0 by com.r3 with licence Unknown, Contract CorDapp: Accounts SDK - States and Contracts version 1 by vendor R3 with licence Apache 2, CorDapp corda-updates-transport version 1.0 by com.r3 with licence Unknown, Contract CorDapp: Slot Machine contracts version 1 by vendor Corda Code Club with licence Apache License, Version 2.0, CorDapp business-network-membership-service version 1.0 by com.r3 with licence Unknown, Contract CorDapp: Accounts - Flows version 1 by vendor R3 with licence Apache 2, CorDapp corda-updates-app version 1.0 by com.r3 with licence Unknown
Sep 27 18:48:41 ip-172-31-6-121 corda[86960]: Node for "TESTNET_B9lab" started up and registered in 25.45 sec
Sep 27 18:48:41 ip-172-31-6-121 corda[86960]: SSH server listening on port            : 2222
Sep 27 18:48:41 ip-172-31-6-121 corda[86960]: Running P2PMessaging loop
  

Комментарии:

1. Были ли оба jar подписаны одним и тем же подписавшим? Используя ограничения подписи, обновление CorDapps должно быть плавным. Но если это были разные подписчики, то Corda не распознает новый jar как обновление. Вы всегда можете сбросить свой узел, удалив файлы базы данных H2, если devMode = true; он перестроит необходимые таблицы при запуске.

2. Да, оба были подписаны одним и тем же ключом: после каждой упаковки jar я подтверждал это jarsigner . Мой devMode = false . Разве удаление persistence.* не то же самое, что удаление файлов H2 db?

3. Да, постоянство. * являются файлами БД. Какие-либо другие сообщения об ошибках в журналах?

Ответ №1:

Вот это да! У меня были разные версии contracts.jar на моих 2 узлах. По-видимому, оба подписаны… Установка одного и того же на обоих концах решила это для меня.