Skip to content

Commit 78e1b53

Browse files
authored
Merge pull request #16 from corda/trainingLinks
[DevRel-1741] - links to training.net and docs for concepts. Open projects in online ide links added.
2 parents 0ddd375 + 7309dfd commit 78e1b53

File tree

35 files changed

+156
-117
lines changed

35 files changed

+156
-117
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
**/bin/
66
*/.gradle/
77
*/.idea/*
8-
*/.vscode/*
8+
**/.vscode/*
99
**/out/
1010
**/logs/
1111
corda-nodeinfo/corda-nodeinfo.iml

Accounts/README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
## samples-java/Accounts
22

3-
This folder features Corda Accounts sample projects.
3+
This folder features Corda Accounts sample projects. Learn more about [Accounts](https://training.corda.net/libraries/accounts-lib/).
44

55
### [Supply Chain](./supplychain):
6-
This CorDapp mimics a supply chain transaction, where the deal is incorporated among different teams in the companies on both side of the trade.
6+
7+
This CorDapp mimics a supply chain transaction, where the deal is incorporated among different teams in the companies on both side of the trade.
8+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Accounts/supplychain)
79

810
### [Tic Tac Thor](./tictacthor):
9-
This CorDapp recreates the game of Tic Tac Toe via Corda. It primarilly demonstrates how you can have linear state transactions between cross-node accounts.
1011

12+
This CorDapp recreates the game of Tic Tac Toe via Corda. It primarily demonstrates how you can have [LinearState](https://docs.corda.net/docs/corda-os/api-states.html#linearstate) transactions between cross-node accounts.
13+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Accounts/tictacthor)
1114

1215
### [Worldcup Ticket Booking](./worldcupticketbooking):
13-
This CorDapp demonstrates an ticket booking system with a collaboration of Corda Account Libray and TokenSDK.
16+
This CorDapp demonstrates an ticket booking system with a collaboration of Corda [Accounts](https://training.corda.net/libraries/accounts-lib/) and [Tokens](https://training.corda.net/libraries/tokens-sdk/).
17+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Accounts/worldcupticketbooking)
1418

Accounts/supplychain/README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Accounts_SupplyChain
1+
# Accounts_SupplyChain [<img src="../../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Accounts/supplychain)
22

33
For More information regarding the Accounts Library, please read at: https://github.com/corda/accounts/blob/master/docs.md
44

@@ -7,7 +7,8 @@ This sample describes a mock/simple supply chain business flow.
77
<p align="center">
88
<img src="./Business%20Flow.png" alt="Corda" width="500">
99
</p>
10-
From the above chart, you can see the flow is going back and forth between different parties' accounts. Please follow the instruction below to experience the Accounts library.
10+
11+
From the above chart, you can see the flow is going back and forth between different parties' accounts. Please follow the instruction below to experience the [Accounts](https://training.corda.net/libraries/accounts-lib/) library.
1112

1213
# Setting up
1314
Go into the project directory and build the project
@@ -44,9 +45,9 @@ flow start ShareAccountTo acctNameShared: SellerSales, shareTo: Buyer
4445
flow start ShareAccountTo acctNameShared: SellerFinance, shareTo: Buyer
4546
flow start ShareAccountTo acctNameShared: SellerInventory, shareTo: ShippingCo
4647
```
47-
This is creating 3 accounts under Seller's node and sharing with their specific conterpartie's node or account.
48+
This is creating 3 accounts under Seller's node and sharing with their specific conterparty's node or account.
4849

49-
[Optional]: You can run a vaultQuery to see the accoutnInfo that been stored at each node by using:
50+
[Optional]: You can run a vaultQuery to see the [AccountInfo](https://training.corda.net/libraries/accounts-lib/#design) that been stored at each node by using:
5051
```
5152
run vaultQuery contractStateType: com.r3.corda.lib.accounts.contracts.states.AccountInfo
5253
```
@@ -70,7 +71,7 @@ flow start InternalMessage fromWho: BuyerProcurement, whereTo: BuyerFinance, mes
7071
[Optional verification]: run ```flow start ViewInboxByAccount acctname: BuyerFinance``` at Buyer' node terminal
7172

7273
## Step 3: Buyer's finance team send a payment to Seller's finance team
73-
Navigatie to Buyer's node terminal and type in:
74+
Navigate to Buyer's node terminal and type in:
7475
```
7576
flow start SendPayment whoAmI: BuyerFinance, whereTo: SellerFinance, amount: 500
7677
```

Accounts/tictacthor/README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# Tic Tac Thor
2-
This CorDapp recreates the game of Tic Tac Toe via Corda. It primarilly demonstrates how you can have linear state transactions between cross-node accounts.
1+
# Tic Tac Thor [<img src="../../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Accounts/tictacthor)
2+
This CorDapp recreates the game of Tic Tac Toe via Corda. It primarilly demonstrates how you can have [LinearState](https://docs.corda.net/docs/corda-os/api-states.html#linearstate) transactions between cross-node accounts.
3+
34
<p align="center">
45
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tic_tac_toe.svg/1024px-Tic_tac_toe.svg.png" alt="Corda" width="200">
56
</p>
@@ -30,10 +31,10 @@ From here, you can start play the game by changing the very last number from the
3031
│3│4│5│ -> │ │X│ │
3132
│6│7│8│ │ │ │ │
3233
```
33-
The Game will automatically end when one player win the game.
34+
The Game will automatically end when one player wins the game.
3435
You can also run `run vaultQuery contractStateType: net.corda.samples.tictacthor.states.BoardState` at any given time to see the board games stored in vault.
3536

36-
now if you want to fast fard the game, Play the following moves in order:
37+
now if you want to fast forward the game, Play the following moves in order:
3738
According to syntax: we should have `http://localhost:8080/submitMove/PeterLi/DavidWinner/3` for the first move below.
3839
```
3940
* Peter: 3 │O│ │ │
@@ -48,7 +49,7 @@ We can play a bit more about the accounts. Now let's create two accounts, a new
4849
* Create an account on SoE node: `http://localhost:8090/createAccount/ThorG`
4950
Now, try to have Anthony play a game with Thor while start a new game between Peter and David. It worked!
5051

51-
One key feature about account is that, each account's data is segregated, meaning each account will not be able to see other account's data. In this sample cordapp, the game is queried by account name. Therefore, we see that each account only knows about the game that he participated. Account Peter doesn't know anything about the game between Thor and Anthony.
52+
One key feature about account is that, each account's data is segregated, meaning that it can be enforced that each account will not be able to see other account's data. In this sample cordapp, the game is queried by account name. Therefore, we see that each account only knows about the game that he participated. Account Peter doesn't know anything about the game between Thor and Anthony.
5253

5354
## Credit
5455
This project is inspired and evolved from a simple [tic-tac-toe](https://github.com/thorgilman/tictactoe) game on Corda by Thor Gilman.

Accounts/worldcupticketbooking/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# T20 Cricket World Cup Ticket Booking Cordapp
1+
# T20 Cricket World Cup Ticket Booking Cordapp [<img src="../../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Accounts/worldcupticketbooking)
22

33

44
## Introduction
55
This sample shows you how to integrate accounts and tokens. This sample talks about a scenario where typically when the Cricket season starts, BCCI (Board of Control for Cricket) starts selling tickets.
6-
As of now there are multiple dealers whom the BCCI issues tickets and further these dealers sell tickets to their client. We are trying to simulate similar functionality maintaining the entore issuance and selling
6+
As of now there are multiple dealers whom the BCCI issues tickets and further these dealers sell tickets to their client. We are trying to simulate similar functionality maintaining the entire issuance and selling
77
of the tickets on Corda Platform.
88

99
## Flow logic of the sample application
@@ -57,7 +57,7 @@ Run the above command on the Bank node, which will issue 20 USD to buyer1 accoun
5757
flow start QuerybyAccount whoAmI: buyer1
5858
```
5959
You can check balance of buyer1 account at Dealer1's node
60-
[Option] You can also run the below command to confirm if 20 USD fungible tokens are stored at Dealer1's node. The current holder field in the output will be an AnonymousParty which specifies an account.
60+
[Option] You can also run the below command to confirm if 20 USD fungible tokens are stored at Dealer1's node. The current holder field in the output will be an [AnonymousParty](https://docs.corda.net/docs/corda-os/4.4/api-identity.html#party) which specifies an account.
6161
```
6262
run vaultQuery contractStateType : com.r3.corda.lib.tokens.contracts.states.FungibleToken
6363
```
@@ -94,7 +94,7 @@ Note that, the current holder it will be a key representing the account.
9494
flow start DVPAccountsOnSameNode tokenId: <XXX-XXX-XXXX-XXXXX>, buyerAccountName: buyer1, sellerAccountName: agent1, costOfTicket: 5, currency: USD
9595
```
9696

97-
This is the DVP flow where the buyer(buyer1 account on Dealer1 node) account will pay cash to seller account(agent1 account on Dealer1 node), and the seller accountwill transfer the ticket token to the buyer. Again, replace the `<XXX-XXX-XXXX-XXXXX>` with the uuid generated in step 6.
97+
This is the DVP flow where the buyer(buyer1 account on Dealer1 node) account will pay cash to seller account(agent1 account on Dealer1 node), and the seller account will transfer the ticket token to the buyer. Again, replace the `<XXX-XXX-XXXX-XXXXX>` with the uuid generated in step 6.
9898

9999
### Step 7
100100
Now lets continue the flow logic to intiate an ticket sale between buyer1 and buyer3. Go to Dealer2 node and run the following code:
@@ -121,7 +121,7 @@ At Dealer2 node
121121
flow start QuerybyAccount whoAmI: buyer3
122122
123123
```
124-
Confirm who owns the FungibleToken (cash) and NonFungibleToken (ticket) again by running this on Dealer1's node.
124+
Confirm who owns the [FungibleToken](https://training.corda.net/libraries/tokens-sdk/#fungibletoken) (cash) and [NonFungibleToken](https://training.corda.net/libraries/tokens-sdk/#nonfungibletoken) (ticket) again by running this on Dealer1's node.
125125

126126

127127
## Further Reading

Advanced/README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@
33
This folder features Advanced sample projects, each of them demonstrates a complex cordapp that uses multiple features of Corda.
44

55
### [auction cordapp](./auction-cordapp):
6-
An blockchain application that leverages different features of Corda like SchedulableState, StatePointer
7-
and OwnableState. It also demonstrates how to perform a DvP (Delivery vs Payment) transaction on Corda.
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+
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.
8+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Advanced/auction-cordapp)
89

910
### [negotiation cordapp](./negotiation-cordapp):
1011
An application that depicts the businsess negotiation and communication process over a distributed ledger system.
11-
It consists of the proposing, negotiating, and settling a corda transaction.
12+
It consists of the proposing, negotiating, and settling a corda transaction.
13+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Advanced/negotiation-cordapp)
1214

1315
### [obligation cordapp](./obligation-cordapp):
14-
A simple i-owe-you application illustrates all of the steps of creating an obligation for a resource to change owners.
15-
16+
A simple i-owe-you application illustrates all of the steps of creating an obligation for a resource to change owners.
17+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Advanced/obligation-cordapp)
1618

1719

Advanced/auction-cordapp/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# auction cordapp
1+
# auction cordapp [<img src="../../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Advanced/auction-cordapp)
22

33
This CorDapp serves as a demo of building an auction application on Corda. It leverages
4-
different features of Corda like `SchedulableState`, `StatePointer` and `OwnableState`. It also demonstrate
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
55
how to perform a DvP (Delivery vs Payment) transaction on Corda.
66

77
It has a full-functional client included and an angular UI to interact with the nodes.

Advanced/negotiation-cordapp/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.# negotiation cordapp
1+
# negotiation cordapp [<img src="../../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Advanced/negotiation-cordapp)
22

33
This CorDapp shows how multi-party negotiation is handled on the Corda ledger, in the absence of an API for user
44
interaction.
@@ -22,7 +22,7 @@ We start with the proposal flow implemented in [ProposalFlow.java](./workflows/s
2222
The modification of the proposal is implemented in [ModificationFlow.java](./workflows/src/main/java/negotiation/flows/ModificationFlow.java#L42-L49).
2323

2424

25-
In the [AcceptanceFlow](./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](./workflows/src/main/java/negotiation/flows/AcceptanceFlow.java#L42-L75), we receive the modified ProposalState and it's converted into a TradeState.
2626

2727

2828

Advanced/obligation-cordapp/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# obligation-cordap
1+
# obligation-cordap [<img src="../../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Advanced/obligation-cordapp)
22

33
This Cordapp is the complete implementation of our signature IOU (I-owe-you) demonstration.
44

@@ -20,7 +20,7 @@ The first flows are the ones that issue the original cash and assets. You can fi
2020
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).
2121

2222

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)
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)
2424

2525

2626

Basic/README.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,34 @@
11
## samples-java/basic-cordapps
22

3-
This folder features basic sample projects, each of them demonstrates low level cordapp functionalities, such rpc connection, messing, and etc.
3+
This folder features basic sample projects, each of them demonstrates low level cordapp functionalities, such [RPC connection](https://docs.corda.net/docs/corda-os/api-rpc.html#api-rpc-operations), messaging, etc.
4+
5+
### [cordapp-example](./cordapp-example):
6+
A simple exploratory sample for the official [Corda online training](https://training.corda.net).
7+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Basic/cordapp-example)
48

59
### [database access](./flow-database-access):
6-
This CorDapp provides a simple example of how the node database can be accessed within flows. In this case, the flows maintain a table of cryptocurrency values in the node's database.
10+
This CorDapp provides a simple example of how the node database can be accessed within flows. In this case, the flows maintain a table of cryptocurrency values in the node's database.
11+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Basic/flow-database-access)
712

813
### [http access](./flow-http-access):
9-
This CorDapp provides a simple example of how HTTP requests can be made in flows. In this case, the flow makes an HTTP request to retrieve the original BitCoin readme from GitHub.
14+
This CorDapp provides a simple example of how HTTP requests can be made in flows. In this case, the flow makes an HTTP request to retrieve the original BitCoin readme from GitHub.
15+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Basic/flow-http-access)
1016

11-
### [ping](./flow-send-msg):
12-
This CorDapp allows a node to ping any other node on the network that also has this CorDapp installed.
17+
### [ping](./ping-pong):
18+
This CorDapp allows a node to ping any other node on the network that also has this CorDapp installed.
19+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Basic/ping-pong)
1320

1421
### [rpc node info](./rpc-nodeinfo):
15-
Allows one to get some rudimentary information about a running Corda node via RPC
22+
Allows one to get some rudimentary information about a running Corda node via RPC
23+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Basic/rpc-nodeinfo)
24+
25+
### [spring-webserver](./spring-webserver):
26+
This project defines a simple [Spring webserver](https://spring.io/projects/spring-boot#overview) that connects to a Corda node via [RPC](https://docs.corda.net/docs/corda-os/api-rpc.html#api-rpc-operations).
27+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Basic/spring-webserver)
1628

1729
### [yo cordapp](./yo-cordapp):
18-
Send Yo's! to all your friends running Corda nodes!
30+
Send Yo's! to all your friends running Corda nodes!
31+
[<img src="../webIDE.png" height=25 />](https://ide.corda.net/?folder=/home/coder/samples-java/Basic/yo-cordapp)
1932

2033

2134

0 commit comments

Comments
 (0)