GithubHelp home page GithubHelp logo

corda / cordapp-template-kotlin Goto Github PK

View Code? Open in Web Editor NEW
119.0 48.0 149.0 4.19 MB

A Kotlin CorDapp Template. Extend it via the Hello, World tutorial: https://docs.corda.net/hello-world-introduction.html

Kotlin 96.87% HTML 2.79% JavaScript 0.34%

cordapp-template-kotlin's Introduction

cordapp-template-kotlin (Corda v5.2)

This template repository provides:

  • A pre-setup Cordapp Project which you can use as a starting point to develop your own prototypes.

  • A base Gradle configuration which brings in the dependencies you need to write and test a Corda 5 Cordapp.

  • A set of Gradle helper tasks, provided by the Corda runtime gradle plugin, which speed up and simplify the development and deployment process.

  • Debug configuration for debugging a local Corda cluster.

  • The MyFirstFlow code which forms the basis of this getting started documentation, this is located in package com.r3.developers.cordapptemplate.flowexample

  • A UTXO example in package com.r3.developers.cordapptemplate.utxoexample packages

  • Ability to configure the Members of the Local Corda Network.

To find out how to use the template, please refer to the CorDapp Template subsection within the Developing Applications section in the latest Corda 5 documentation at https://docs.r3.com/

Prerequisite

  1. Java 17
  2. Corda-cli (v5.2), Download here. You need to install Java 17 first.
  3. Docker Desktop

Setting up

  1. We will begin our test deployment with clicking the startCorda. This task will load up the combined Corda workers in docker. A successful deployment will allow you to open the REST APIs at: https://localhost:8888/api/v5_2/swagger#. You can test out some of the functions to check connectivity. (GET /cpi function call should return an empty list as for now.)
  2. We will now deploy the cordapp with a click of vNodeSetup task. Upon successful deployment of the CPI, the GET /cpi function call should now return the meta data of the cpi you just upload

Flow Management Tool[Optional]

We had developed a simple GUI for you to interact with the cordapp. You can access the website by using https://localhost:5000 or https://127.0.0.1:5000. The Flow Management Tool will automatically connect with the CorDapp running locally from your Corda cluster. You can test the connection by click on the dropdown list at the Flow Initiator section. You should be able to see the vNodes of your started CorDapp. You can easily trigger and query a Corda flow.

image

Running the Chat app

We have built a simple one to one chat app to demo some functionalities of the next gen Corda platform.

In this app you can:

  1. Create a new chat with a counterparty. CreateNewChatFlow
  2. List out the chat entries you had. ListChatsFlow
  3. Individually query out the history of one chat entry. GetChatFlowArgs
  4. Continue chatting within the chat entry with the counterparty. UpdateChatFlow

Running the chat app

In Corda 5, flows will be triggered via POST /flow/{holdingidentityshorthash} and flow result will need to be view at GET /flow/{holdingidentityshorthash}/{clientrequestid}

  • holdingidentityshorthash: the id of the network participants, ie Bob, Alice, Charlie. You can view all the short hashes of the network member with another gradle task called listVNodes
  • clientrequestid: the id you specify in the flow requestBody when you trigger a flow.

Step 1: Create Chat Entry

Pick a VNode identity to initiate the chat, and get its short hash. (Let's pick Alice. Dont pick Bob because Bob is the person who we will have the chat with).

Go to POST /flow/{holdingidentityshorthash}, enter the identity short hash(Alice's hash) and request body:

{
    "clientRequestId": "create-1",
    "flowClassName": "com.r3.developers.cordapptemplate.utxoexample.workflows.CreateNewChatFlow",
    "requestBody": {
        "chatName":"Chat with Bob",
        "otherMember":"CN=Bob, OU=Test Dept, O=R3, L=London, C=GB",
        "message": "Hello Bob"
        }
}

After trigger the create-chat flow, hop to GET /flow/{holdingidentityshorthash}/{clientrequestid} and enter the short hash(Alice's hash) and clientrequestid to view the flow result

Step 2: List the chat

In order to continue the chat, we would need the chat ID. This step will bring out all the chat entries this entity (Alice) has. Go to POST /flow/{holdingidentityshorthash}, enter the identity short hash(Alice's hash) and request body:

{
    "clientRequestId": "list-1",
    "flowClassName": "com.r3.developers.cordapptemplate.utxoexample.workflows.ListChatsFlow",
    "requestBody": {}
}

After trigger the list-chats flow, again, we need to hop to GET /flow/{holdingidentityshorthash}/{clientrequestid} and check the result. As the screenshot shows, in the response body, we will see a list of chat entries, but it currently only has one entry. And we can see the id of the chat entry. Let's record that id.

Step 3: Continue the chat with UpdateChatFlow

In this step, we will continue the chat between Alice and Bob. Goto POST /flow/{holdingidentityshorthash}, enter the identity short hash and request body. Note that here we can have either Alice or Bob's short hash. If you enter Alice's hash, this message will be recorded as a message from Alice, vice versa. And the id field is the chat entry id we got from the previous step.

{
    "clientRequestId": "update-1",
    "flowClassName": "com.r3.developers.cordapptemplate.utxoexample.workflows.UpdateChatFlow",
    "requestBody": {
        "id":" ** fill in id **",
        "message": "How are you today?"
        }
}

And as for the result of this flow, go to GET /flow/{holdingidentityshorthash}/{clientrequestid} and enter the required fields.

Step 4: See the whole chat history of one chat entry

After a few back and forth of the messaging, you can view entire chat history by calling GetChatFlow.

{
    "clientRequestId": "get-1",
    "flowClassName": "com.r3.developers.cordapptemplate.utxoexample.workflows.GetChatFlow",
    "requestBody": {
        "id":" ** fill in id **",
        "numberOfRecords":"4"
    }
}

And as for the result, you need to go to the Get API again and enter the short hash and client request ID.

Thus, we have concluded a full run through of the chat app.

cordapp-template-kotlin's People

Contributors

adagys avatar agoldvarg avatar alexey-kadyrov-r3 avatar andr3ej avatar anixon604 avatar anthonykeenan avatar anton-subbotin avatar ashutoshmeher-r3 avatar blsemo avatar caismanai avatar chrisr3 avatar clintonio avatar davidleeuk avatar exfalso avatar florian-f avatar ja9-look avatar jxilt avatar kasiastreich avatar m4ksio avatar mcgovc avatar mikehearn avatar nimmaj avatar pavelnenov-r3 avatar peterli-r3 avatar r3domfox avatar relyafi avatar rick-r3 avatar rogersanick avatar shamsasari avatar wzur-r3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cordapp-template-kotlin's Issues

Function parameter `anonymous` not found

I have cloned the latest template and cloned and installed the latest tokens-sdk.

return subFlow(IssueToken.Initiator(token, recipient, notary, amount of token, anonymous = false))

I get a build error that says Cannot find a parameter with this name: anonymous

Incompatible with a new intellij

After importing a project to a new intellij (2021.3.2) no modules are imported.
No kotlin classes are recognized, no external libraries.
The only way to work with this from intellij is to manually add modules and libraries (one by one).

problem when run template cordapp (hello wold 1)

when i try to run this template i faced different errors each time
error #1 ::
[ Class 'com.template.nodeDriverKt' not found in module 'cordapp-template-kotlin' ]
although this class is already exist !!
error #2 ::
[ java: cannot find symbol
symbol: class ReceiveFinalityFlow
location: class com.template.IOUFlowResponder ]
although i have added all required imports
how can solve these issues?

Error when run command (start IOUFlow iouValue: 99, otherParty: "O=PartyB,L=New York,C=US") in (hello world 1)

i have followed all the steps in hello world 1 but when run this command
i have faced this error:

[ERROR] 20:14:21+0200 [Node thread-1] proxies.ExceptionSerialisingRpcOpsProxy.log - Error during RPC invocation [errorCode=ue63ey, moreInformationAt=https://errors.corda.net/OS/4.0/ue63ey] {actor_id=internalShell, actor_owning_identity=O=PartyA, L=London, C=GB, actor_store_id=NODE_CONFIG, fiber-id=10000001, flow-id=ef20094f-ecea-4004-b6dc-e687f88fdce9, invocation_id=c783d17e-1a70-4ec9-93ca-cb08714afac7, invocation_timestamp=2019-03-12T18:14:18.869Z, origin=internalShell, session_id=e7787152-785d-47fc-a5a6-e8893a730942, session_timestamp=2019-03-12T18:14:02.935Z, thread-id=221, tx_id=E38133ECBB005885B0DFD501A214C928AB67C34188C7B0F0BD659825487A27AF}

how can solve this error ?

Run configuration "Run Template Cordapp" fails to start

Running a com.template.NodeDriverKt class from Intellj (2017.3) on Windows 10. It's a clean checkout of corda-v3. It first complains about the command line being too long and suggests switching to shortening command line method: "JAR manifest". After changing it, the program fails with an exception:

[WARN ] 14:22:14,525 [driver-pool-thread-0] (DriverDSLImpl.kt:142) internal.DriverDSLImpl.resolveJar - Unable to locate JAR `.*jolokia-jvm-.*-agent\.jar$` on classpath: Array contains no element matching the predicate. {}

Exception in thread "main" java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:65)
Caused by: java.util.NoSuchElementException: Array contains no element matching the predicate.
	at net.corda.testing.node.internal.DriverDSLImpl.resolveJar(DriverDSLImpl.kt:1075)
	at net.corda.testing.node.internal.DriverDSLImpl.access$resolveJar(DriverDSLImpl.kt:82)
	at net.corda.testing.node.internal.DriverDSLImpl$jolokiaJarPath$2.invoke(DriverDSLImpl.kt:131)
	at net.corda.testing.node.internal.DriverDSLImpl$jolokiaJarPath$2.invoke(DriverDSLImpl.kt:82)
	at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:130)
	at net.corda.testing.node.internal.DriverDSLImpl.getJolokiaJarPath(DriverDSLImpl.kt)
	at net.corda.testing.node.internal.DriverDSLImpl.startNodeInternal(DriverDSLImpl.kt:692)
	at net.corda.testing.node.internal.DriverDSLImpl.startRegisteredNode(DriverDSLImpl.kt:243)
	at net.corda.testing.node.internal.DriverDSLImpl.access$startRegisteredNode(DriverDSLImpl.kt:82)
	at net.corda.testing.node.internal.DriverDSLImpl$startNode$2$1.invoke(DriverDSLImpl.kt:211)
	at net.corda.testing.node.internal.DriverDSLImpl$startNode$2$1.invoke(DriverDSLImpl.kt:82)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$flatMap$$inlined$also$lambda$1.invoke(CordaFutureImpl.kt:50)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$flatMap$$inlined$also$lambda$1.invoke(CordaFutureImpl.kt)
	at net.corda.core.concurrent.ConcurrencyUtils.match(ConcurrencyUtils.kt:20)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$thenMatch$1.invoke(CordaFutureImpl.kt:25)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$thenMatch$1.invoke(CordaFutureImpl.kt)
	at net.corda.core.internal.concurrent.CordaFutureImpl$thenImpl$1.accept(CordaFutureImpl.kt:132)
	at net.corda.core.internal.concurrent.CordaFutureImpl$thenImpl$1.accept(CordaFutureImpl.kt:119)
	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
	at net.corda.core.internal.concurrent.CordaFutureImpl.set(CordaFutureImpl.kt:125)
	at net.corda.core.internal.concurrent.ValueOrException$DefaultImpls.capture(CordaFutureImpl.kt:106)
	at net.corda.core.internal.concurrent.OpenFuture$DefaultImpls.capture(CordaFutureImpl.kt)
	at net.corda.core.internal.concurrent.CordaFutureImpl.capture(CordaFutureImpl.kt:119)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$map$$inlined$also$lambda$1.invoke(CordaFutureImpl.kt:36)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$map$$inlined$also$lambda$1.invoke(CordaFutureImpl.kt)
	at net.corda.core.concurrent.ConcurrencyUtils.match(ConcurrencyUtils.kt:20)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$thenMatch$1.invoke(CordaFutureImpl.kt:25)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$thenMatch$1.invoke(CordaFutureImpl.kt)
	at net.corda.core.internal.concurrent.CordaFutureImpl$thenImpl$1.accept(CordaFutureImpl.kt:132)
	at net.corda.core.internal.concurrent.CordaFutureImpl$thenImpl$1.accept(CordaFutureImpl.kt:119)
	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
	at net.corda.core.internal.concurrent.CordaFutureImpl.set(CordaFutureImpl.kt:125)
	at net.corda.core.internal.concurrent.ValueOrException$DefaultImpls.capture(CordaFutureImpl.kt:106)
	at net.corda.core.internal.concurrent.OpenFuture$DefaultImpls.capture(CordaFutureImpl.kt)
	at net.corda.core.internal.concurrent.CordaFutureImpl.capture(CordaFutureImpl.kt:119)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$map$$inlined$also$lambda$1.invoke(CordaFutureImpl.kt:36)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$map$$inlined$also$lambda$1.invoke(CordaFutureImpl.kt)
	at net.corda.core.concurrent.ConcurrencyUtils.match(ConcurrencyUtils.kt:20)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$thenMatch$1.invoke(CordaFutureImpl.kt:25)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$thenMatch$1.invoke(CordaFutureImpl.kt)
	at net.corda.core.internal.concurrent.CordaFutureImpl$thenImpl$1.accept(CordaFutureImpl.kt:132)
	at net.corda.core.internal.concurrent.CordaFutureImpl$thenImpl$1.accept(CordaFutureImpl.kt:119)
	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
	at net.corda.core.internal.concurrent.CordaFutureImpl.set(CordaFutureImpl.kt:125)
	at net.corda.core.internal.concurrent.ValueOrException$DefaultImpls.capture(CordaFutureImpl.kt:106)
	at net.corda.core.internal.concurrent.OpenFuture$DefaultImpls.capture(CordaFutureImpl.kt)
	at net.corda.core.internal.concurrent.CordaFutureImpl.capture(CordaFutureImpl.kt:119)
	at net.corda.core.internal.concurrent.CordaFutureImplKt$fork$$inlined$also$lambda$1.run(CordaFutureImpl.kt:22)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Process finished with exit code 1

JDK Required

This project doesn't work with the JDK 11 even though the log messages state that the project requires JDK 11, the latest JDK it works with is 1.8

java.lang.NoClassDefFoundError in token-template

Steps:

git clone http://github.com/corda/cordapp-template-kotlin
cd cordapp-template-kotlin
git rev-parse HEAD # outputs 555df8a47f1b0621c8db9a8bb1a4aedace61c79e
git checkout token-template
./gradlew clean deployNodes
cd build/nodes/PartyA
java -jar corda.jar

Output:

   ______               __
  / ____/     _________/ /___ _
 / /     __  / ___/ __  / __ `/         Rest in peace, boiled water.
/ /___  /_/ / /  / /_/ / /_/ /          You will be mist.
\____/     /_/   \__,_/\__,_/

--- Corda Open Source 4.3 (d679784) -------------------------------------------------------------


Logs can be found in                    : /home/fuzz/dev/cordapp-template-kotlin/build/nodes/PartyA/logs
[quasar] WARNING: Method not found in class - assuming suspendable: com/r3/corda/lib/tokens/selection/api/Selector#generateMove$default(Lcom/r3/corda/lib/tokens/selection/api/Selector;Ljava/util/List;Lnet/corda/core/identity/AbstractParty;Lcom/r3/corda/lib/tokens/selection/TokenQueryBy;Ljava/util/UUID;ILjava/lang/Object;)Lkotlin/Pair; (at TestFlows.kt:com/r3/corda/lib/tokens/workflows/internal/testflows/DvPFlowHandler#call)
[quasar] WARNING: Method not found in class - assuming suspendable: com/r3/corda/lib/tokens/testing/states/House#getValuation()Lnet/corda/core/contracts/Amount; (at TestFlows.kt:com/r3/corda/lib/tokens/workflows/internal/testflows/DvPFlow#call)
[quasar] WARNING: Method not found in class - assuming suspendable: com/r3/corda/lib/tokens/selection/api/Selector#selectTokens$default(Lcom/r3/corda/lib/tokens/selection/api/Selector;Lnet/corda/core/contracts/Amount;Lcom/r3/corda/lib/tokens/selection/TokenQueryBy;Ljava/util/UUID;ILjava/lang/Object;)Ljava/util/List; (at TestFlows.kt:com/r3/corda/lib/tokens/workflows/internal/testflows/SelectAndLockFlow#call)
[quasar] WARNING: Method not found in class - assuming suspendable: com/r3/corda/lib/tokens/selection/database/selector/DatabaseTokenSelection#generateMove(Ljava/util/List;Lnet/corda/core/identity/AbstractParty;Lcom/r3/corda/lib/tokens/selection/TokenQueryBy;Ljava/util/UUID;)Lkotlin/Pair; (at ConfidentialMoveFungibleTokensFlow.kt:com/r3/corda/lib/tokens/workflows/flows/move/ConfidentialMoveFungibleTokensFlow#call)
! ATTENTION: This node is running in development mode!  This is not safe for production deployment.
Exception in thread "main" java.lang.NoClassDefFoundError: com/r3/corda/lib/tokens/selection/api/Selector
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
        at java.lang.Class.getDeclaredConstructors(Class.java:2020)
        at net.corda.node.internal.NodeFlowManager.registerInitiatedFlow(FlowManager.kt:77)
        at net.corda.node.internal.AbstractNode$registerCordappFlows$$inlined$forEach$lambda$1.accept(AbstractNode.kt:727)
        at net.corda.node.internal.AbstractNode$registerCordappFlows$$inlined$forEach$lambda$1.accept(AbstractNode.kt:122)
        at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
        at net.corda.node.internal.AbstractNode.registerCordappFlows(AbstractNode.kt:724)
        at net.corda.node.internal.AbstractNode.start(AbstractNode.kt:344)
        at net.corda.node.internal.Node.start(Node.kt:447)
        at net.corda.node.internal.NodeStartup.startNode(NodeStartup.kt:210)
        at net.corda.node.internal.NodeStartupCli$runProgram$2.run(NodeStartup.kt:131)
        at net.corda.node.internal.NodeStartup$initialiseAndRun$5.invoke(NodeStartup.kt:187)
        at net.corda.node.internal.NodeStartup$initialiseAndRun$5.invoke(NodeStartup.kt:138)
        at net.corda.node.internal.NodeStartupLogging$DefaultImpls.attempt(NodeStartup.kt:529)
        at net.corda.node.internal.NodeStartup.attempt(NodeStartup.kt:138)
        at net.corda.node.internal.NodeStartup.initialiseAndRun(NodeStartup.kt:186)
        at net.corda.node.internal.NodeStartupCli.runProgram(NodeStartup.kt:129)
        at net.corda.cliutils.CordaCliWrapper.call(CordaCliWrapper.kt:190)
        at net.corda.node.internal.NodeStartupCli.call(NodeStartup.kt:84)
        at net.corda.node.internal.NodeStartupCli.call(NodeStartup.kt:65)
        at picocli.CommandLine.execute(CommandLine.java:1173)
        at picocli.CommandLine.access$800(CommandLine.java:141)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:1367)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:1335)
        at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1243)
        at picocli.CommandLine.parseWithHandlers(CommandLine.java:1526)
        at net.corda.cliutils.CordaCliWrapperKt.start(CordaCliWrapper.kt:73)
        at net.corda.node.Corda.main(Corda.kt:13)
Caused by: java.lang.ClassNotFoundException: com.r3.corda.lib.tokens.selection.api.Selector
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
        ... 29 more
[ERROR] 16:48:37+0000 [main] internal.GeneralExceptionHandler. - Exception in thread "main" [errorCode=1gnp94c, moreInformationAt=https://errors.corda.net/OS/4.3/1gnp94c]

Gradle 5.4.1

Is there some reason why the Gradle version is 5.4.1?

Can I update it in my project to 6.5?

Incompatible with Gradle 7.0+

There is a hard dependency on the deprecated JavaPlugin.RUNTIME_CONFIGURATION_NAME and compile equivalent in the plugins which have been removed in 7.0.

I appreciate it's outside of the supported versions though, I solved by returning to 6.9.1.

Extending this to IOU

I'm new to corda and tried following along this step-by-step tutorial. After I run my nodes, I want to create some IOU.
When I run:
start IOUFlow iouValue: 99, otherParty: "O=PartyB,L=New York,C=US"

it is giving me the following error:
No matching flow found, run 'flow list' to see your options.
And below is my flow list:

net.corda.core.flows.ContractUpgradeFlow$Authorise
net.corda.core.flows.ContractUpgradeFlow$Deauthorise
net.corda.core.flows.ContractUpgradeFlow$Initiate
net.corda.finance.flows.CashConfigDataFlow
net.corda.finance.flows.CashExitFlow
net.corda.finance.flows.CashIssueAndPaymentFlow
net.corda.finance.flows.CashIssueFlow
net.corda.finance.flows.CashPaymentFlow

Also, I tried running:
run vaultQuery contractStateType: com.template.IOUState
Error is:

Could not parse as a command: Cannot construct instance of `java.lang.Class`, problem: com.template.IOUState
 at [Source: UNKNOWN; line: -1, column: -1]

Where am I going wrong?
Thank you

[Class definition not found] while running token example

Running nodes w/ token example cordapp fails while booting.

Error
[quasar] WARNING: Method not found in class - assuming suspendable: com/r3/corda/lib/tokens/selection/api/Selector#generateMove$default(Lcom/r3/corda/lib/tokens/selection/api/Selector;Ljava/util/List;Lnet/corda/core/identity/AbstractParty;Lcom/r3/corda/lib/tokens/selection/TokenQueryBy;Ljava/util/UUID;ILjava/lang/Object;)Lkotlin/Pair; (at TestFlows.kt:com/r3/corda/lib/tokens/workflows/internal/testflows/DvPFlowHandler#call) [quasar] WARNING: Method not found in class - assuming suspendable: com/r3/corda/lib/tokens/testing/states/House#getValuation()Lnet/corda/core/contracts/Amount; (at TestFlows.kt:com/r3/corda/lib/tokens/workflows/internal/testflows/DvPFlow#call) [quasar] WARNING: Method not found in class - assuming suspendable: com/r3/corda/lib/tokens/selection/api/Selector#selectTokens$default(Lcom/r3/corda/lib/tokens/selection/api/Selector;Lnet/corda/core/contracts/Amount;Lcom/r3/corda/lib/tokens/selection/TokenQueryBy;Ljava/util/UUID;ILjava/lang/Object;)Ljava/util/List; (at TestFlows.kt:com/r3/corda/lib/tokens/workflows/internal/testflows/SelectAndLockFlow#call) [quasar] WARNING: Method not found in class - assuming suspendable: com/r3/corda/lib/tokens/selection/database/selector/DatabaseTokenSelection#generateMove(Ljava/util/List;Lnet/corda/core/identity/AbstractParty;Lcom/r3/corda/lib/tokens/selection/TokenQueryBy;Ljava/util/UUID;)Lkotlin/Pair; (at ConfidentialMoveFungibleTokensFlow.kt:com/r3/corda/lib/tokens/workflows/flows/move/ConfidentialMoveFungibleTokensFlow#call) ! ATTENTION: This node is running in development mode! This is not safe for production deployment. Exception in thread "main" java.lang.NoClassDefFoundError: com/r3/corda/lib/tokens/selection/api/Selector at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) at java.lang.Class.getDeclaredConstructors(Class.java:2020) at net.corda.node.internal.NodeFlowManager.registerInitiatedFlow(FlowManager.kt:77) at net.corda.node.internal.AbstractNode$registerCordappFlows$$inlined$forEach$lambda$1.accept(AbstractNode.kt:727) at net.corda.node.internal.AbstractNode$registerCordappFlows$$inlined$forEach$lambda$1.accept(AbstractNode.kt:122) at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) at net.corda.node.internal.AbstractNode.registerCordappFlows(AbstractNode.kt:724) at net.corda.node.internal.AbstractNode.start(AbstractNode.kt:344) at net.corda.node.internal.Node.start(Node.kt:447) at net.corda.node.internal.NodeStartup.startNode(NodeStartup.kt:210) at net.corda.node.internal.NodeStartupCli$runProgram$2.run(NodeStartup.kt:131) at net.corda.node.internal.NodeStartup$initialiseAndRun$5.invoke(NodeStartup.kt:187) at net.corda.node.internal.NodeStartup$initialiseAndRun$5.invoke(NodeStartup.kt:138) at net.corda.node.internal.NodeStartupLogging$DefaultImpls.attempt(NodeStartup.kt:529) at net.corda.node.internal.NodeStartup.attempt(NodeStartup.kt:138) at net.corda.node.internal.NodeStartup.initialiseAndRun(NodeStartup.kt:186) at net.corda.node.internal.NodeStartupCli.runProgram(NodeStartup.kt:129) at net.corda.cliutils.CordaCliWrapper.call(CordaCliWrapper.kt:190) at net.corda.node.internal.NodeStartupCli.call(NodeStartup.kt:84) at net.corda.node.internal.NodeStartupCli.call(NodeStartup.kt:65) at picocli.CommandLine.execute(CommandLine.java:1173) at picocli.CommandLine.access$800(CommandLine.java:141) at picocli.CommandLine$RunLast.handle(CommandLine.java:1367) at picocli.CommandLine$RunLast.handle(CommandLine.java:1335) at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1243) at picocli.CommandLine.parseWithHandlers(CommandLine.java:1526) at net.corda.cliutils.CordaCliWrapperKt.start(CordaCliWrapper.kt:73) at net.corda.node.Corda.main(Corda.kt:13) Caused by: java.lang.ClassNotFoundException: com.r3.corda.lib.tokens.selection.api.Selector at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:419) at java.lang.ClassLoader.loadClass(ClassLoader.java:352) ... 29 more [ERROR] 22:45:43-0300 [main] internal.GeneralExceptionHandler. - Exception in thread "main" [errorCode=1gnp94c, moreInformationAt=https://errors.corda.net/OS/4.3/1gnp94c]

AnnotationConfigServletWebServerApplicationContext.refresh - Exception

58:32 1 AnnotationConfigServletWebServerApplicationContext.refresh - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'controller' defined in file [/Users/apple/Documents/webjpp/cordapp-template-kotlin/clients/build/classes/kotlin/main/com/template/webserver/Controller.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nodeRPCConnection': Invocation of init method failed; nested exception is net.corda.client.rpc.RPCException: Cannot connect to server(s). Tried with all available servers.
I 21:58:32 1 StandardService.log - Stopping service [Tomcat]
I 21:58:32 1 ConditionEvaluationReportLoggingListener.logAutoConfigurationReport -

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
E 21:58:32 1 SpringApplication.reportFailure - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'controller' defined in file [/Users/apple/Documents/webjpp/cordapp-template-kotlin/clients/build/classes/kotlin/main/com/template/webserver/Controller.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nodeRPCConnection': Invocation of init method failed; nested exception is net.corda.client.rpc.RPCException: Cannot connect to server(s). Tried with all available servers.
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:729) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1274) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1131) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:541) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:760) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at com.template.webserver.ServerKt.main(Server.kt:21) [main/:?]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nodeRPCConnection': Invocation of init method failed; nested exception is net.corda.client.rpc.RPCException: Cannot connect to server(s). Tried with all available servers.
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:138) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1698) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:579) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:815) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:721) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
... 17 more
Caused by: net.corda.client.rpc.RPCException: Cannot connect to server(s). Tried with all available servers.
at net.corda.client.rpc.internal.RPCClientProxyHandler.start(RPCClientProxyHandler.kt:218) ~[corda-rpc-4.0.jar:?]
at net.corda.client.rpc.internal.RPCClient$start$1.invoke(RPCClient.kt:93) ~[corda-rpc-4.0.jar:?]
at net.corda.client.rpc.internal.RPCClient$start$1.invoke(RPCClient.kt:32) ~[corda-rpc-4.0.jar:?]
at net.corda.core.internal.InternalUtils.logElapsedTime(InternalUtils.kt:193) ~[corda-core-4.0.jar:?]
at net.corda.core.internal.InternalUtils.logElapsedTime(InternalUtils.kt:183) ~[corda-core-4.0.jar:?]
at net.corda.client.rpc.internal.RPCClient.start(RPCClient.kt:72) ~[corda-rpc-4.0.jar:?]
at net.corda.client.rpc.CordaRPCClient.start(CordaRPCClient.kt:392) ~[corda-rpc-4.0.jar:?]
at net.corda.client.rpc.CordaRPCClient.start(CordaRPCClient.kt:375) ~[corda-rpc-4.0.jar:?]
at net.corda.client.rpc.CordaRPCClient.start(CordaRPCClient.kt:344) ~[corda-rpc-4.0.jar:?]
at com.template.webserver.NodeRPCConnection.initialiseNodeRPCConnection(NodeRPCConnection.kt:44) ~[main/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_161]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_161]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_161]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:365) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:308) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:135) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1698) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:579) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:815) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:721) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
... 17 more
Caused by: org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: AMQ119007: Cannot connect to server(s). Tried with all available servers.
at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:797) ~[artemis-core-client-2.6.2.jar:2.6.2]
at net.corda.client.rpc.internal.RPCClientProxyHandler.start(RPCClientProxyHandler.kt:216) ~[corda-rpc-4.0.jar:?]
at net.corda.client.rpc.internal.RPCClient$start$1.invoke(RPCClient.kt:93) ~[corda-rpc-4.0.jar:?]
at net.corda.client.rpc.internal.RPCClient$start$1.invoke(RPCClient.kt:32) ~[corda-rpc-4.0.jar:?]
at net.corda.core.internal.InternalUtils.logElapsedTime(InternalUtils.kt:193) ~[corda-core-4.0.jar:?]
at net.corda.core.internal.InternalUtils.logElapsedTime(InternalUtils.kt:183) ~[corda-core-4.0.jar:?]
at net.corda.client.rpc.internal.RPCClient.start(RPCClient.kt:72) ~[corda-rpc-4.0.jar:?]
at net.corda.client.rpc.CordaRPCClient.start(CordaRPCClient.kt:392) ~[corda-rpc-4.0.jar:?]
at net.corda.client.rpc.CordaRPCClient.start(CordaRPCClient.kt:375) ~[corda-rpc-4.0.jar:?]
at net.corda.client.rpc.CordaRPCClient.start(CordaRPCClient.kt:344) ~[corda-rpc-4.0.jar:?]
at com.template.webserver.NodeRPCConnection.initialiseNodeRPCConnection(NodeRPCConnection.kt:44) ~[main/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_161]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_161]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_161]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:365) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:308) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:135) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1698) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:579) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:815) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:721) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
... 17 more

Task :clients:runTemplateServer FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':clients:runTemplateServer'.

Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 9s
14 actionable tasks: 3 executed, 11 up-to-date
Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
9:58:33 PM: Task execution finished 'runTemplateServer'.

Error "Run vaultQuery contractStateType: com.template.contract.SellOrderContract$SellOrderState"

Since I upgraded to v4.0 I get an error :

When I run run vaultQuery contractStateType: com.template.contract.SellOrderContract$SellOrderState

If there are no SellOrderStates in the vault everything is fine I get the List with no states.
If there is one I get : RPC failed: java.lang.IllegalStateException: Jackson didn't provide serialisers for [ISIN]

And ISIN is just a String defined in the state.

Once again this was working in v3.2

To reproduce :

  • Start a node with corda release v4.
  • open the node's shell,
  • without commiting any state : run vaultQuery contractStateType:
    -> should return an empty set
  • run a flow that will commit a state to the vault (ideally with a String argument)
  • run vaultQuery contractStateType:
    -> That should return the serialization issue
gradle files : 
   buildscript {
      ext {
        corda_release_group = 'net.corda'
        corda_release_version = '4.0'
        corda_gradle_plugins_version = '4.0.42'
        kotlin_version = '1.2.71'
        junit_version = '4.12'
        quasar_version = '0.7.10'
        spring_boot_version = '2.0.2.RELEASE'
        spring_boot_gradle_plugin_version = '2.0.2.RELEASE'
        slf4j_version = '1.7.25'
        log4j_version = '2.11.2'
        corda_platform_version = '4'
    }

    repositories {
        mavenCentral()
        jcenter()
        maven {
            url 'https://ci-artifactory.corda.r3cev.com/artifactory/corda-releases'
        }
        mavenLocal()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "net.corda.plugins:cordapp:$corda_gradle_plugins_version"
        classpath "net.corda.plugins:cordformation:$corda_gradle_plugins_version"
        classpath "net.corda.plugins:quasar-utils:$corda_gradle_plugins_version"
    }
 }

 allprojects {
    apply plugin: 'kotlin'

    repositories {
        jcenter()
        mavenCentral()
        maven { url 'https://ci-artifactory.corda.r3cev.com/artifactory/corda-releases' }
        maven { url 'https://jitpack.io' }
        mavenLocal()
     }

    configurations {
        compile {
            // We want to use SLF4J's version of these bindings: jcl-over-slf4j
            // Remove any transitive dependency on Apache's version.
            exclude group: 'commons-logging', module: 'commons-logging'
        }
    }

//    tasks.withType(JavaCompile) {
//        options.compilerArgs << "-parameters" // Required for shell commands.
//    }

    jar {
        // CorDapps do not configure a Node's logging.
        exclude '**/log4j2*.xml'
    }
 }

 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

 apply plugin: 'kotlin'
 apply plugin: 'net.corda.plugins.cordapp'

 jar.baseName = "cordapp-liquidshare-contracts"

 cordapp {
    targetPlatformVersion corda_platform_version.toInteger()
    minimumPlatformVersion corda_platform_version.toInteger()
    contract {
        name "Liquidshare CorDapp"
        vendor "Liquidshare"
        licence "Apache License, Version 2.0"
        versionId 1
    }
 }

 dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

    // Corda dependencies.
    cordaCompile "$corda_release_group:corda-core:$corda_release_version"

    testCompile "$corda_release_group:corda-node-driver:$corda_release_version"
 }


 tasks.withType(KotlinCompile) {
    kotlinOptions {
        languageVersion = "1.2"
        apiVersion = "1.2"
        jvmTarget = "1.8"
        javaParameters = true   // Useful for reflection.
    }
 }
`

Corda 4 tutorial has syntax error

in CarFlow.kt

The following code doesn't work with current dependency for CollectSignatureFlow, FinalityFlow and ReceiveFinalityFlow, what should they actually be?

in CarFlow.kt, in CarIssueInitiator class, the tutorial has:
val sessions = (carState.participants - ourIdentity).map { initiateFlow(it as Party) } val stx = subFlow(CollectSignaturesFlow(tx, sessions)) return subFlow(FinalityFlow(stx, sessions))
The last 2 lines has syntax error, CollectSignaturesFlow does not have an implementation taking a list of FlowSession, and FinalityFlow need to pass a ProgressTracker it seems, or convert sessions to Array

in CarIssueResponder class,
the tutorial has
return subFlow(ReceiveFinalityFlow(counterpartySession, txWeJustSignedId))
ReceiveFinalityFlow implementation does not has a version taking a FlowLogic as param.

Circular dependency on gradle build

I'm following the instructions in readme, clone the repo, on branch release-V3, run ./gradlew buildNodes, and got this error:

FAILURE: Build failed with an exception.

* What went wrong:
Circular dependency between the following tasks:
:classes
\--- :compileJava
     +--- :compileKotlin
     |    \--- :jar
     |         +--- :classes (*)
     |         \--- :compileKotlin (*)
     \--- :jar (*)

(*) - details omitted (listed previously)

Had the ~/.gradle folder cleaned, running on JDK 1.8.0_181,MacOS 10.13.6

Thanks

Why Are There Certificates Checked In?

The certificates in the src/main/resources/certificates dir are not copied to the build directory.

Corda will also generate them by default if they don't exist on first start.

So why are they checked in to the project?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.