You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This folder features Advanced sample projects, each of them demonstrates a complex cordapp that uses multiple features of Corda.
4
4
5
-
### [auction cordapp](./auction-cordapp):
5
+
### [Auction Cordapp](./auction-cordapp):
6
6
An blockchain application that leverages different features of Corda like [SchedulableState](https://docs.corda.net/docs/corda-os/event-scheduling.html#how-to-implement-scheduled-events), [StatePointer](https://docs.corda.net/docs/corda-os/api-states.html#state-pointers)
7
7
and [OwnableState](https://docs.corda.net/docs/corda-os/api-states.html#ownablestate). It also demonstrates how to perform a DvP (Delivery vs Payment) transaction on Corda.
### [Secret Santa Cordapp](./secretsanta-cordapp):
21
+
This is an imlementation of Secret Santa using Corda as a tool to store multiple game states.It has a material-ui frontend that lets users create and self-service their own secret santa games. The frontend is implemented in ReactJS and the backend is implemented with a Spring Boot server and some corda flows. It is also equipped with an external emailing package(sendgrid), which you can utilze and turn the app into a live app and send the secret santa assignments to your friends'
22
+
emails.
19
23
24
+
### [Snake and Ladder Game Cordapp](./snakesandladders-cordapp):
25
+
This sample implements a simple Snakes And Ladder Game on Corda. This cordapp demonstrate the use of multiple features, including Corda Account Library and Oracle service.
This CorDapp serves as a demo of building an auction application on Corda. It leverages
4
4
different features of Corda like [SchedulableState](https://docs.corda.net/docs/corda-os/event-scheduling.html#how-to-implement-scheduled-events), [StatePointer](https://docs.corda.net/docs/corda-os/api-states.html#state-pointers) and [OwnableState](https://docs.corda.net/docs/corda-os/api-states.html#ownablestate). It also demonstrate
@@ -37,19 +37,19 @@ ownership. Left black for simplicity. Has two commands, `CreateAsset` and `Trans
37
37
38
38
### Flows:
39
39
40
-
-`CreateAssetFlow`: This flow is used create an asset. Implemented in [CreateAssetFlow.java](./workflows/src/main/java/net/corda/samples/flows/CreateAssetFlow.java#L44-L66)
40
+
-`CreateAssetFlow`: This flow is used create an asset. Implemented in `CreateAssetFlow.java`
41
41
42
-
-`CreateAuctionFlow`: This flow is used to create an auction ([CreateAuctionFlow.java can be found here](./workflows/src/main/java/net/corda/samples/flows/CreateAuctionFlow.java#L58-L96)). Once an asset has been created using
42
+
-`CreateAuctionFlow`: This flow is used to create an auction. Once an asset has been created using
43
43
the`CreateAssetFlow`, this flow can be used to put the asset on auction. The `AuctionState`
44
44
references to the `Asset` using a `StatePointer`.
45
45
46
46
Refer here to learn more about StatePointer: https://medium.com/corda/linking-corda-states-using-statepointer-16e24e5e602
47
47
48
48
-`BidFlow`: It is used to place a bid on an auction. Bids can be placed only till a predetermined
49
-
deadline defined in the `AuctionState`. Implemented in [BidFlow.java](./workflows/src/main/java/net/corda/samples/flows/BidFlow.java#L42-L86).
49
+
deadline defined in the `AuctionState`. Implemented in `BidFlow.java`.
50
50
51
51
-`EndAuctionFlow`: This is a scheduled flow, which run automatically on auction deadline to mark
52
-
the corresponding auction as inactive, so that it stop receiving bids.The auction flow can be found [here](./workflows/src/main/java/net/corda/samples/flows/EndAuctionFlow.java#L39-L83)
52
+
the corresponding auction as inactive, so that it stop receiving bids.
53
53
54
54
-`AuctionSettlementFlow`: It is used to settle an auction once the bidding deadline has passed. It internally triggers two flows:
55
55
@@ -63,10 +63,9 @@ the corresponding auction as inactive, so that it stop receiving bids.The auctio
63
63
64
64
65
65
## Usage
66
+
## Pre-Requisites
67
+
For development environment setup, please refer to: [Setup Guide](https://docs.corda.net/getting-set-up.html).
66
68
67
-
### Pre-requisites:
68
-
69
-
See https://docs.corda.net/getting-set-up.html.
70
69
71
70
### Running the nodes:
72
71
Open a terminal and go to the project root directory and type: (to deploy the nodes using bootstrapper)
This CorDapp shows how multi-party negotiation is handled on the Corda ledger, in the absence of an API for user
4
4
interaction.
@@ -16,21 +16,20 @@ accept or modify the proposal, this attempt will be rejected automatically at th
16
16
17
17
### Flows
18
18
19
-
We start with the proposal flow implemented in [ProposalFlow.java](./workflows/src/main/java/negotiation/flows/ProposalFlow.java)
19
+
We start with the proposal flow implemented in `ProposalFlow.java`.
20
20
21
21
22
-
The modification of the proposal is implemented in [ModificationFlow.java](./workflows/src/main/java/negotiation/flows/ModificationFlow.java#L42-L49).
22
+
The modification of the proposal is implemented in `ModificationFlow.java`.
23
23
24
24
25
-
In the [AcceptanceFlow.java](./workflows/src/main/java/negotiation/flows/AcceptanceFlow.java#L42-L75), we receive the modified ProposalState and it's converted into a TradeState.
25
+
In the `AcceptanceFlow.java`, we receive the modified ProposalState and it's converted into a TradeState.
26
26
27
27
28
28
29
29
## Usage
30
+
## Pre-Requisites
31
+
For development environment setup, please refer to: [Setup Guide](https://docs.corda.net/getting-set-up.html).
This Cordapp is the complete implementation of our signature IOU (I-owe-you) demonstration.
4
4
5
5
## Concepts
6
6
7
-
An IOU is someone who has cash that is paying it back to someone they owe it to.
8
-
9
-
You have to have the original concept of the debt itself, (the IOU), and the cash.
10
-
11
-
Then the ability to exchange assets like cash or assets, and then the ability to settle up.
12
-
13
-
Given this is intended to implement an IOU, our cordapp consists of three flows `issue`, `transfer` and `settle` flows.
7
+
An IOU is someone who has cash that is paying it back to someone they owe it to. You have to have the original concept of the debt itself, (the IOU), and the cash. Then the ability to exchange assets like cash or assets, and then the ability to settle up. Given this is intended to implement an IOU, our cordapp consists of three flows `issue`, `transfer` and `settle` flows.
14
8
15
9
16
10
### Flows
17
11
18
-
The first flows are the ones that issue the original cash and assets. You can find that the cash flow [here](./workflows/src/main/java/net/corda/samples/flows/SelfIssueCashFlow.java#L24-L32) and the IOU issurance in [IOUIssueFlow.java](./workflows/src/main/java/net/corda/samples/flows/IOUIssueFlow.java#L40-L80).
12
+
The first flows are the ones that issue the original cash and assets. You can find that the cash flow at `SelfIssueCashFlow.java` and the IOU issurance in `IOUIssueFlow.java`.
19
13
20
-
The next flow is the one that transfers ownership of that asset over to another party. That can be found in [IOUTransferFlow.java](./workflows/src/main/java/net/corda/samples/flows/IOUTransferFlow.java#L132-L159).
14
+
The next flow is the one that transfers ownership of that asset over to another party. That can be found in `IOUTransferFlow.java`.
21
15
22
16
23
-
Finally, once we have the ability to transfer assets, we just need to settle up. That functiionality can be found here in [IOUSettleFlow.java](./workflows/src/main/java/net/corda/samples/flows/IOUSettleFlow.java#L54-L116)
17
+
Finally, once we have the ability to transfer assets, we just need to settle up. That functiionality can be found here in `IOUSettleFlow.java`
Copy file name to clipboardExpand all lines: Advanced/snakesandladders-cordapp/contracts/src/main/java/net/corda/samples/snl/contracts/BoardConfigContract.java
0 commit comments