Я пытаюсь обновить состояние Corda во время выполнения. Я следовал за явным хранилищем апплетов-аппликаций в образце Gordub Corda.Создан отдельный подпроект для старого контрактного состояния и нового контрактного состояния для генерации отдельных банок.Но при этом сталкиваются с небольшими трудностями.
Как рассчитать sha256 старой банки состояния контракта, которая потребуется в переменной "legacyContractConstraint" нового контракта?(Я попытался вычислить хэш из-за пределов кода и поместил этот хэш в переменную "legacyContractConstraint". Для этого я строю подпроекты один за другим. Так что сначала он создаст старый jar контракта, а затем я вычисляю хэш старого контракта-стать вне кода и поместить этот хеш в переменную "legacyContractConstraint".)
Ошибка ниже: [ОШИБКА] 2019-06-11T11: 13: 43,632Z [Node thread-1] proxies.ExceptionSerialisingRpcOpsProxy.log- Ошибка во время вызова RPC [errorCode = y0q4pg, moreInformationAt = https://errors.corda.net/OS/4.0/y0q4pg] {actor_id = user1, actor_owning_identity = OU = HSSOPS, O = HSS-Custody, L = Лондон, C = GB, actor_store_id = NODE_CONFIG, идентификатор волокна= 10000005, идентификатор потока = 8d51b505-575d-400d-b9da-2307ee3ce065, invocation_id = 396859d3-311b-4f1c-9d83-9e8af58c9f3b, invocation_timestamp = 2019-06-11T11: 13: 43.58215, origin = c7, сеанс = user1, c7, пользователь 7d700-479f-a183-f5d9e634da1d, session_timestamp = 2019-06-11T11: 13: 39.567Z, идентификатор потока = 207}
java.lang.IllegalArgumentException: Unsupported input contract constraint SignatureAttachmentConstraint(key=EC Public Key [4b:44:7c:7b:1b:38:a6:93:bd:9a:c4:1d:8b:46:b4:6b:77:ba:f8:0e]
X: 38d226dcd0fa574316da478aa75225e6ce18f65cbd96e60bf3c8251b1965417
Y: 56e5dcf7ccab21b712601ed0278501f2f33d0b5fdaa4c09e62639464e4910871
)
at net.corda.core.transactions.ContractUpgradeWireTransaction$Companion.calculateUpgradedState$core(ContractUpgradeTransactions.kt:55) ~[corda-core-4.0.jar:?]
at net.corda.core.transactions.ContractUpgradeLedgerTransaction.<init>(ContractUpgradeTransactions.kt:333) ~[corda-core-4.0.jar:?]
at net.corda.core.transactions.ContractUpgradeLedgerTransaction.<init>(ContractUpgradeTransactions.kt:236) ~[corda-core-4.0.jar:?]
at net.corda.core.transactions.ContractUpgradeLedgerTransaction$Companion.create$core(ContractUpgradeTransactions.kt:270) ~[corda-core-4.0.jar:?]
at net.corda.core.transactions.ContractUpgradeWireTransaction.resolve(ContractUpgradeTransactions.kt:117) ~[corda-core-4.0.jar:?]
at net.corda.core.transactions.SignedTransaction.resolveContractUpgradeTransaction(SignedTransaction.kt:306) ~[corda-core-4.0.jar:?]
at net.corda.core.transactions.SignedTransaction.verifyContractUpgradeTransaction(SignedTransaction.kt:214) ~[corda-core-4.0.jar:?]
at net.corda.core.transactions.SignedTransaction.verify(SignedTransaction.kt:182) ~[corda-core-4.0.jar:?]
at net.corda.core.flows.AbstractStateReplacementFlow$Instigator.call(AbstractStateReplacementFlow.kt:65) ~[corda-core-4.0.jar:?]
at net.corda.core.flows.AbstractStateReplacementFlow$Instigator.call(AbstractStateReplacementFlow.kt:50) ~[corda-core-4.0.jar:?]
at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:228) ~[corda-node-4.0.jar:?]
at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:45) ~[corda-node-4.0.jar:?]
at co.paralleluniverse.fibers.Fiber.run1(Fiber.java:1092) ~[quasar-core-0.7.10-jdk8.jar:0.7.10]
at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:788) ~[quasar-core-0.7.10-jdk8.jar:0.7.10]
at co.paralleluniverse.fibers.RunnableFiberTask.doExec(RunnableFiberTask.java:100) ~[quasar-core-0.7.10-jdk8.jar:0.7.10]
at co.paralleluniverse.fibers.RunnableFiberTask.run(RunnableFiberTask.java:91) ~[quasar-core-0.7.10-jdk8.jar:0.7.10]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_171]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_171]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_171]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_171]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_171]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_171]
at net.corda.node.utilities.AffinityExecutor$ServiceAffinityExecutor$1$thread$1.run(AffinityExecutor.kt:63) ~[corda-node-4.0.jar:?]