CORE-12153: Updates for Beta3 RC02 (#36)

* CORE-12153: Updates for Beta3 RC02

* CORE-12153: Update to Beta3 RC02
This commit is contained in:
Tony Lawson 2023-04-18 14:56:26 +01:00 committed by GitHub
parent 2346e34494
commit 61220688b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 48 additions and 25 deletions

View File

@ -19,13 +19,14 @@ allprojects {
csde { csde {
cordaClusterURL = "https://localhost:8888" cordaClusterURL = "https://localhost:8888"
networkConfigFile = "config/static-network-config.json" networkConfigFile = "config/static-network-config.json"
r3RootCertFile = "config/beta-ca-root.pem"
corDappCpiName = "MyCorDapp" corDappCpiName = "MyCorDapp"
notaryCpiName = "NotaryServer" notaryCpiName = "NotaryServer"
cordaRpcUser = "admin" cordaRpcUser = "admin"
cordaRpcPasswd ="admin" cordaRpcPasswd ="admin"
csdeWorkspaceDir = "workspace" csdeWorkspaceDir = "workspace"
notaryVersion = cordaNotaryPluginsVersion notaryVersion = cordaNotaryPluginsVersion
combinedWorkerVersion = "5.0.0.0-Gecko1.0" combinedWorkerVersion = combinedWorkerJarVersion
postgresJdbcVersion = "42.4.3" postgresJdbcVersion = "42.4.3"
cordaDbContainerName = "CSDEpostgresql" cordaDbContainerName = "CSDEpostgresql"
cordaBinDir = "${System.getProperty("user.home")}/.corda/corda5" cordaBinDir = "${System.getProperty("user.home")}/.corda/corda5"

34
config/beta-ca-root.pem Normal file
View File

@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF0jCCA7qgAwIBAgIUFTJBhIamOXLuz9r5SkcimXAYgjIwDQYJKoZIhvcNAQEL
BQAwQzELMAkGA1UEBhMCR0IxDzANBgNVBAcMBkxvbmRvbjEPMA0GA1UECgwGUjMg
THRkMRIwEAYDVQQDDAlSMyBMdGQgQ0EwHhcNMjMwMzMxMTUwNDQ5WhcNMzMwMzI4
MTUwNDQ5WjBDMQswCQYDVQQGEwJHQjEPMA0GA1UEBwwGTG9uZG9uMQ8wDQYDVQQK
DAZSMyBMdGQxEjAQBgNVBAMMCVIzIEx0ZCBDQTCCAiIwDQYJKoZIhvcNAQEBBQAD
ggIPADCCAgoCggIBALI/y1a1ulGST2LljISwzQmnOFSvzDOxA2d2cA2GY+SyBtEz
vjqo08FD9022KZBa9mU2qHjI7WeT5xFOYVifqmLESDfDz4vWQeMBZ0g4uRQB0IV2
Vhf85GZNsMeLTvGqU/PXGvzm41oWaVQ5BDTND3Xq2419rsLhbfRsQPSfm8XG7TSc
pCgcce+lGgZbhJvNxVgbJfdOa87fWCVSbj2V5ihjMvMmIYQDuyDAbT/2+e1R+f4Q
9JFPgGZTzJLVa0YrGIwIsHg+BO+C3Ws2jfBzXUQAMdLJVq7pAskcBmVw80jek74k
dYM7rVChX2HgP1eLhT6WktgQvnHEbq3JiLz6Vv58bCCj+QwqmDxY+RELz2q/kc0I
gclcOJMJlH3eJ8uSmIDKTgWshttKt3ZYIn/LCHd7G5R6zzOu1jzK0s5kfZOiLZSp
tkPe5X3ZIB8QvSzqmXwGs+PEiUBtzVmxnvnB86hRa4+wC2Y7xl7a4dcWc9u+WHOw
fSN6YrMTwCzbuv5OzLeVxMsCBgUVISPPmmUB128HF6On/R+CMPxg6NOxIN7o2c0L
CguSIuzVYvl5RWKr5yMYCxokGGLailuxFKR1tGklnHBk57T5xPPOC4qMudLuCrrL
H/+aC4bavwNp4BMxzSloRvsfdxGnFiZUTXURz5GKSHtJL6lWUMs8mbFX2Bf1AgMB
AAGjgb0wgbowDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUY4v68usAz2m45uIlJuG7
BpfTtEwwfgYDVR0jBHcwdYAUY4v68usAz2m45uIlJuG7BpfTtEyhR6RFMEMxCzAJ
BgNVBAYTAkdCMQ8wDQYDVQQHDAZMb25kb24xDzANBgNVBAoMBlIzIEx0ZDESMBAG
A1UEAwwJUjMgTHRkIENBghQVMkGEhqY5cu7P2vlKRyKZcBiCMjALBgNVHQ8EBAMC
AQYwDQYJKoZIhvcNAQELBQADggIBACZ6osBe61Fi4kVkQ3PHvDkqoR/C2CyW5dCg
tzxxb6LbQ0eQ2dUkB0TezhYG8pzS1pR7NdyNZtulrCfT6woEScT/fqCklgTyRhff
OtovEQZIoScDHuVYNfF0YyLg0Wrx5BY65MgQl0r0eGZpwoKkqoTUJQNd8j33nHm9
cdNQrJFyzMNsTHX3y1KgTZaFGhy2mV6ksjVMbIkrJ5bQADE1vL69XdjH796O0qyG
LxcxzgU7gcto4d1HKQANjHnGkq2+21Ym4jZdAWJyqdrGG0KnIv8wTRgHz2mc9EJQ
Aw9iDG2OXv3/Wu07yoJnzu1N9SP+j2dTdG20gkWus6/mAG1q3CmNdoeplmWBTRqp
4MD3OznUKQZowCyEPgHSCxUEiG5es7FU9PzftGj7io/dWh/ss2gKVU2bod0ZQ5mp
DeWVp76rz5yyx8ML5lh7sMUDW2Xx9kvPuU9tCtm3xh69twu4BPkJGYzAUVtAT3yT
EuJURe1SYX/flGYwSf15MqBw1wSHni5hGZjAkpkM3FB0ZB5qbTWYKjwCFPE9pW/u
fPwKPUf4lWofmdcYnxnYGi2OGFU/gRTHM0NTOt3GY9AAA9KmgQS/TOdpI09G7ab9
QZArILPG4B+RbykFOOAkWY0aJLg3Cwn9tuhtES7p2Jum3jwU6GS0YLZXk3iK3Scv
0OXjjmtQ
-----END CERTIFICATE-----

View File

@ -2,17 +2,20 @@ kotlin.code.style=official
# Specify the version of the Corda-API to use. # Specify the version of the Corda-API to use.
# This needs to match the version supported by the Corda Cluster the CorDapp will run on. # This needs to match the version supported by the Corda Cluster the CorDapp will run on.
cordaApiVersion=5.0.0.665-Gecko1.0 cordaApiVersion=5.0.0.753-Hawk1.0-RC02
# Specify the version of the notary plugins to use. # Specify the version of the notary plugins to use.
# Currently packaged as part of corda-runtime-os, so should be set to a corda-runtime-os version. # Currently packaged as part of corda-runtime-os, so should be set to a corda-runtime-os version.
cordaNotaryPluginsVersion=5.0.0.0-Gecko1.0 cordaNotaryPluginsVersion=5.0.0.0-Hawk1.0-RC02
# Specify the version of the Combined Worker to use
combinedWorkerJarVersion=5.0.0.0-Hawk1.0-RC02
# Specify the version of the cordapp-cpb and cordapp-cpk plugins # Specify the version of the cordapp-cpb and cordapp-cpk plugins
cordaPluginsVersion=7.0.1 cordaPluginsVersion=7.0.1
# Specify the version of the CSDE gradle plugin to use # Specify the version of the CSDE gradle plugin to use
csdePluginVersion=1.0.+ csdePluginVersion=1.0.0-alpha-+
# For the time being this just needs to be set to a dummy value. # For the time being this just needs to be set to a dummy value.
platformVersion = 999 platformVersion = 999

View File

@ -9,7 +9,6 @@ import net.corda.v5.base.annotations.Suspendable;
import net.corda.v5.base.exceptions.CordaRuntimeException; import net.corda.v5.base.exceptions.CordaRuntimeException;
import net.corda.v5.base.types.MemberX500Name; import net.corda.v5.base.types.MemberX500Name;
import net.corda.v5.ledger.common.NotaryLookup; import net.corda.v5.ledger.common.NotaryLookup;
import net.corda.v5.ledger.common.Party;
import net.corda.v5.ledger.utxo.UtxoLedgerService; import net.corda.v5.ledger.utxo.UtxoLedgerService;
import net.corda.v5.ledger.utxo.transaction.UtxoSignedTransaction; import net.corda.v5.ledger.utxo.transaction.UtxoSignedTransaction;
import net.corda.v5.ledger.utxo.transaction.UtxoTransactionBuilder; import net.corda.v5.ledger.utxo.transaction.UtxoTransactionBuilder;
@ -78,24 +77,10 @@ public class CreateNewChatFlow implements ClientStartableFlow {
// Obtain the Notary name and public key. // Obtain the Notary name and public key.
NotaryInfo notary = notaryLookup.getNotaryServices().iterator().next(); NotaryInfo notary = notaryLookup.getNotaryServices().iterator().next();
PublicKey notaryKey = null;
for(MemberInfo memberInfo: memberLookup.lookup()){
if(Objects.equals(
memberInfo.getMemberProvidedContext().get("corda.notary.service.name"),
notary.getName().toString())) {
notaryKey = memberInfo.getLedgerKeys().get(0);
break;
}
}
// Note, in Java CorDapps only unchecked RuntimeExceptions can be thrown not
// declared checked exceptions as this changes the method signature and breaks override.
if(notaryKey == null) {
throw new CordaRuntimeException("No notary PublicKey found");
}
// Use UTXOTransactionBuilder to build up the draft transaction. // Use UTXOTransactionBuilder to build up the draft transaction.
UtxoTransactionBuilder txBuilder = ledgerService.getTransactionBuilder() UtxoTransactionBuilder txBuilder = ledgerService.createTransactionBuilder()
.setNotary(new Party(notary.getName(), notaryKey)) .setNotary(notary.getName())
.setTimeWindowBetween(Instant.now(), Instant.now().plusMillis(Duration.ofDays(1).toMillis())) .setTimeWindowBetween(Instant.now(), Instant.now().plusMillis(Duration.ofDays(1).toMillis()))
.addOutputState(chatState) .addOutputState(chatState)
.addCommand(new ChatContract.Create()) .addCommand(new ChatContract.Create())

View File

@ -50,7 +50,7 @@ public class FinalizeChatResponderFlow implements ResponderFlow {
// Calls receiveFinality() function which provides the responder to the finalise() function // Calls receiveFinality() function which provides the responder to the finalise() function
// in the Initiating Flow. Accepts a lambda validator containing the business logic to decide whether // in the Initiating Flow. Accepts a lambda validator containing the business logic to decide whether
// responder should sign the Transaction. // responder should sign the Transaction.
UtxoSignedTransaction finalizedSignedTransaction = utxoLedgerService.receiveFinality(session, txValidator); UtxoSignedTransaction finalizedSignedTransaction = utxoLedgerService.receiveFinality(session, txValidator).getTransaction();
log.info("Finished responder flow - " + finalizedSignedTransaction.getId()); log.info("Finished responder flow - " + finalizedSignedTransaction.getId());
} }
// Soft fails the flow and log the exception. // Soft fails the flow and log the exception.

View File

@ -54,7 +54,7 @@ public class FinalizeChatSubFlow implements SubFlow<String> {
UtxoSignedTransaction finalizedSignedTransaction = ledgerService.finalize( UtxoSignedTransaction finalizedSignedTransaction = ledgerService.finalize(
signedTransaction, signedTransaction,
sessionsList sessionsList
); ).getTransaction();
result = finalizedSignedTransaction.getId().toString(); result = finalizedSignedTransaction.getId().toString();
log.info("Success! Response: " + result); log.info("Success! Response: " + result);

View File

@ -79,8 +79,8 @@ public class UpdateChatFlow implements ClientStartableFlow {
ChatState newChatState = state.updateMessage(myInfo.getName(), flowArgs.getMessage()); ChatState newChatState = state.updateMessage(myInfo.getName(), flowArgs.getMessage());
// Use UTXOTransactionBuilder to build up the draft transaction. // Use UTXOTransactionBuilder to build up the draft transaction.
UtxoTransactionBuilder txBuilder = ledgerService.getTransactionBuilder() UtxoTransactionBuilder txBuilder = ledgerService.createTransactionBuilder()
.setNotary(chatStateAndRef.getState().getNotary()) .setNotary(chatStateAndRef.getState().getNotaryName())
.setTimeWindowBetween(Instant.now(), Instant.now().plusMillis(Duration.ofDays(1).toMillis())) .setTimeWindowBetween(Instant.now(), Instant.now().plusMillis(Duration.ofDays(1).toMillis()))
.addOutputState(newChatState) .addOutputState(newChatState)
.addInputState(chatStateAndRef.getRef()) .addInputState(chatStateAndRef.getRef())