Corda is an open source blockchain project, designed for business from the start. Only Corda allows you to build interoperable blockchain networks that transact in strict privacy. Corda's smart contract technology allows businesses to transact directly, with value.
Go to file
Andrius Dagys da74263f42 CORDA-696 - Ensure deterministic transaction id calculation for contra… (#2676)
* CORDA-696: Ensure deterministic transaction id calculation for contract upgrade and notary change transactions.

The problem with the previous implementation is that the transaction would be deserialized with the schema specified
in the serialized form, but the calculation of the id would involve re-serializing properties using a local serialization context
which might produce a different result.

* Support forwards compatibility for new hidden or visible properties

* Some refactoring and updating api docs

* Fix tests & add custom serializer in case the transaction is captured in a checkpoint

* Update id calculation for notary change transactions as well - no filtering is involved

* Use computeNonce

* More refactoring

* Use helper for computing component hashes

* Optimise id calculation
2018-03-08 17:59:25 +00:00
.ci CORDA-696 - Ensure deterministic transaction id calculation for contra… (#2676) 2018-03-08 17:59:25 +00:00
.github Adjustments to the PR checklist 2017-09-20 16:58:31 +02:00
.idea CORDA-995: r3corda wire compatibility (#2497) 2018-02-12 10:09:47 +00:00
buildSrc Reformat files in buildSrc 2017-10-09 15:26:39 +01:00
client CORDA-1140 - RPC Client's P2P Context should use AMQP (#2741) 2018-03-06 09:25:55 +00:00
confidential-identities CORDA-1175 - counterparty docs homogenisation (#2747) 2018-03-06 16:10:48 +00:00
config Corda-1155 - Jolokia logging via slf4j (#2753) 2018-03-07 13:12:15 +00:00
core CORDA-696 - Ensure deterministic transaction id calculation for contra… (#2676) 2018-03-08 17:59:25 +00:00
docs CORDA-1117 - node-explorer.rst port fixes (#2764) 2018-03-08 12:18:39 +00:00
experimental No IdentityServiceInternal as public param. Start nodes without params. Simpler MockServices ctors. (#2521) 2018-02-13 11:32:04 +00:00
finance CORDA-1035 - Testing api KDoc Updates (#2670) 2018-02-28 15:59:56 +00:00
gradle/wrapper Upgrade gradle to 4.4.1 2018-01-24 16:15:43 +00:00
gradle-plugins Corda-1155 - Jolokia logging via slf4j (#2753) 2018-03-07 13:12:15 +00:00
lib Restoring lib/quasar.jar from repo (#1389) 2017-09-05 12:58:23 +01:00
node CORDA-696 - Ensure deterministic transaction id calculation for contra… (#2676) 2018-03-08 17:59:25 +00:00
node-api CORDA-696 - Ensure deterministic transaction id calculation for contra… (#2676) 2018-03-08 17:59:25 +00:00
samples CORDA-1175 - counterparty docs homogenisation (#2747) 2018-03-06 16:10:48 +00:00
testing Removed a reference to an appender not present in tests (#2761) 2018-03-07 17:05:09 +00:00
tools CORDA-1123 - Node explorer / Demobench UI issues (#2684) 2018-03-02 18:14:08 +00:00
verifier CORDA-1035 - Testing api KDoc Updates (#2670) 2018-02-28 15:59:56 +00:00
webserver Corda-1155 - Jolokia logging via slf4j (#2753) 2018-03-07 13:12:15 +00:00
.gitignore CORDA-881: Signed network parameters has the network map cert attached to it instead of just the public key. (#2346) 2018-01-12 07:59:08 +00:00
build.gradle RELEASE: Update version number for RC02 (#2735) 2018-03-05 20:51:48 +00:00
constants.properties CORDA-1131 - Fix webserver startup when headless 2018-03-02 12:35:46 +00:00
CONTRIBUTING.md Addressed some review comments about the license and readmes. 2016-11-22 11:56:46 +00:00
CONTRIBUTORS.md Some additional contributors recognised 2017-11-30 16:30:58 +01:00
gradle.properties CORDA-692 Don't include internal packages in API documentation (#2415) 2018-01-25 15:26:13 +00:00
gradlew Upgraded to gradle 4.1. 2017-08-23 15:36:08 +01:00
gradlew.bat Upgrade gradle to 4.4.1 2018-01-24 16:15:43 +00:00
LICENSE Update LICENSE 2017-03-06 15:33:29 +01:00
README.md Reflects tutorial changes and CorDapp build docs changes from release-V1. 2017-11-16 15:31:52 +00:00
settings.gradle CORDA-830 Introducing the network bootstrapper 2017-12-17 23:49:57 +00:00
TRADEMARK Updated URL link to R3 trademark policy 2017-07-13 11:43:41 +01:00

Corda

Corda

Corda is a decentralised database system in which nodes trust each other as little as possible.

Features

  • Smart contracts that can be written in Java and other JVM languages
  • Flow framework to manage communication and negotiation between participants
  • Peer-to-peer network of nodes
  • "Notary" infrastructure to validate uniqueness and sequencing of transactions without global broadcast
  • Enables the development and deployment of distributed apps called CorDapps
  • Written in Kotlin, targeting the JVM

Getting started

  1. Read the Getting Started documentation
  2. Run the Example CorDapp
  3. Read about Corda's Key Concepts
  4. Follow the Hello, World! tutorial

Contributing

Please read here.

License

Apache 2.0

Acknowledgements

YourKit

YourKit supports open source projects with its full-featured Java Profiler.

YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.