Building the Smart Contract view

Over the following sections you will discover the elements of the Smart Contract view.

You will follow a simple negotiation use case, where a buyer is negotiating to buy some goods from a seller for an agreed price. The requirements can be summarised as follows:

  • There should be a buyer and a seller who are represented as Parties on a Corda Network.
  • The negotiation should result in an agreement recorded on the Corda Ledger which has the conscious and informed consent of both parties.
  • The agreement should record the buyer, seller, description of the goods and the price agreed.
  • Either party should be able to propose an agreement, with the other party either consenting to or rejecting the proposal.
  • The proposer should be able to change their mind and revoke the proposal prior to the other party consenting.
  • When a agreement is agreed, then a billing tracker must increment which tracks Network usage for the purpose of billing.
  • Privacy must be maintained such that Parties to an agreement can’t see previous agreements performed on the network to which they were not a party
  • The Business Network Operator who manages the Agreement Service should not see details of the agreements made on their network.

You can follow the steps in the build up to a full Smart Contract view diagram which, will look like this:

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.