Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Corda 如何重置附件存储?_Corda_Production - Fatal编程技术网

Corda 如何重置附件存储?

Corda 如何重置附件存储?,corda,production,Corda,Production,我将生产节点上的已签署的contracts.jar替换为另一个已签署的contracts.jar,其中包含1个附加合同和状态。 现在我得到以下错误: Failed net.corda.core.transactions.MissingContractAttachments: Cannot find contract attachments for com.cordacodeclub.contracts.LockableTokenContractnull. See https://docs.cor

我将生产节点上的已签署的
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
您可以通过转到并按“重置”实时查看它。错误消息中提到的
LockableTokenContract
是以前签名的jar中存在的旧契约

我可以丢失所有的生产数据,因为这仍然是一个测试安排。因此,我隐藏了
persistence.mv.db
persistence.trace.db
,但没有用

因此,我的问题是,我如何从以下方面重新开始:

  • 重置我的vault和附件存储
  • 保留我的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

大傻瓜!我的两个节点上有不同版本的
contracts.jar
。两人显然都签了。。。
把同样的一个放在两端解决了这个问题。

两个罐子都是由同一个签名人签名的吗?使用签名约束,CorDapps的升级应该是无缝的。但是如果是不同的签名者,那么Corda不会将新的jar识别为升级。如果devMode=true,则始终可以通过删除H2数据库文件来重置节点;它将在启动时重建必要的表。是的,两个表都是用相同的密钥签名的:在每个jar打包之后,我用
jarsigner
确认它。My
devMode=false
。删除持久性.与删除H2 db文件不一样吗?是的,持久性.*是db文件。日志中还有其他错误消息吗?