kasiastreich 36d5d0d7b2 Refactor of CompositeKeys to implement PublicKey interface. (#433)
* Make CompositeKey implement PublicKey

The initial implementation of composite keys as their own distinct class separate from PublicKey
means that the keys cannot be used on standard classes such as Certificate. This work is a beginning
to modifying CompositeKey to being a PublicKey implementation, although significant further work
is required to integrate this properly with the standard Java APIs, especially around verifying
signatures using the new key type.

* First stage of making CompositeKey implement PublicKey interface. Revert to using PublicKey everywhere we expect a key.

* Move algorithm and format into companion object (#432)

Move algorithm and format into companion object so that they can be referenced from other
classes (i.e. the upcoming signature class).

* Add simple invariants to construction of CompositeKey.
Builder emits CompositeKeys in simplified normalised form. Forbid keys with single child node, force ordering on children and forbid duplicates on the same level. It's not full semantical normalisation.

* Make constructor of CompositeKey private, move NodeWeight inside the class.
Add utility function for Kryo deserialization to read list with length constraints.
2017-04-12 11:13:20 +01:00
..
2016-12-08 17:38:21 +00:00

Sample applications

Please refer to README.md in the individual project folders. There are the following demos:

  • attachment-demo A simple demonstration of sending a transaction with an attachment from one node to another, and then accessing the attachment on the remote node.
  • irs-demo A demo showing two nodes agreeing to an interest rate swap and doing fixings using an oracle.
  • trader-demo A simple driver for exercising the two party trading flow. In this scenario, a buyer wants to purchase some commercial paper by swapping his cash for commercial paper. The seller learns that the buyer exists, and sends them a message to kick off the trade. The seller, having obtained his CP, then quits and the buyer goes back to waiting. The buyer will sell as much CP as he can! We recommend starting with this demo.
  • Network-visualiser A tool that uses a simulation to visualise the interaction and messages between nodes on the Corda network. Currently only works for the IRS demo.
  • simm-valudation-demo A demo showing two nodes reaching agreement on the valuation of a derivatives portfolio.
  • raft-notary-demo A simple demonstration of a node getting multiple transactions notarised by a distributed (Raft-based) notary.
  • bank-of-corda-demo A demo showing a node acting as an issuer of fungible assets (initially Cash)