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
Tommy Lillehagen d2ef16cbfd
Deterministic JVM (#3386)
* CID-251 - Deterministic JVM

* CID-251 - Add DJVM documentation

* CID-251 - Address review comments from @chrisr3

* CID-251 - Address further review comments from @chrisr3

* CID-251 - Use shadowJar to generate fat JAR

* CID-251 - Address review comments from @exFalso

* CID-251 - Improve naming in ReferenceMap

* CID-251 - Add test for Kotlin meta-class behaviour

* CID-251 - Address review comments from @shamsasari

* CID-251 - Add description of high-level flow

* CID-251 - Refactoring

* CID-251 - Rename package to net.corda.djvm

* CID-251 - Include deterministic-rt.jar as runtime dependency

* CID-251 - Add Gradle task for generating whitelist from deterministic rt.jar

* CID-251 - Error messages for StackOverflow/OutOfMemory, update whitelist

* CID-251 - Reduce set definition of pinned classes

* CID-251 - Tidy up logic around pinned classes

* CID-251 - Shade ASM dependency and split out CLI tool

* CID-251 - Address review comments from @mikehearn (part 1)

* CID-251 - Address review comments from @mikehearn (part 2)

* CID-251 - Address review comments from @mikehearn (part 3)

* CID-251 - Address review comments from @exFalso

* CID-251 - Address review comments from @mikehearn (part 4)

* CID-251 - Address review comments from @exFalso and @mikehearn

* CID-251 - Address review comments from @mikehearn (part 5)
2018-08-22 16:01:39 +01:00
.ci CORDA-1907: Allow Corda's shell to deserialise using generic type information. (#3810) 2018-08-20 13:22:07 +01:00
.github Typo. (#3750) 2018-08-07 10:14:23 +01:00
.idea Deterministic JVM (#3386) 2018-08-22 16:01:39 +01:00
buildSrc CORDA-1816: Migrate JarFilter plugin to corda-gradle-plugins. (#3651) 2018-07-19 16:35:36 +01:00
client CORDA-1907: Allow Corda's shell to deserialise using generic type information. (#3810) 2018-08-20 13:22:07 +01:00
confidential-identities Matchers (#3716) 2018-08-01 10:18:54 +01:00
config Some base picocli classes used in network services (#3706) 2018-07-27 18:25:22 +01:00
core [CORDA-1917] Fix smoke test (#3823) 2018-08-22 13:16:07 +01:00
core-deterministic Ensure that every CheatingSecurityProvider has a unique name. (#3835) 2018-08-22 11:09:52 +01:00
create-jdk8u ENT-1467: Make the deterministic JDK image compatible with IntelliJ. (#3416) 2018-06-26 11:53:16 +01:00
djvm Deterministic JVM (#3386) 2018-08-22 16:01:39 +01:00
docs Deterministic JVM (#3386) 2018-08-22 16:01:39 +01:00
experimental Deterministic JVM (#3386) 2018-08-22 16:01:39 +01:00
finance * Added "isRelevant" functionality to the vault. (#3789) 2018-08-17 13:39:05 +01:00
gradle/wrapper Upgrade Gradle wrapper JAR. (#3439) 2018-06-26 12:46:33 +01:00
jdk8u-deterministic CORDA-1816: Migrate JarFilter plugin to corda-gradle-plugins. (#3651) 2018-07-19 16:35:36 +01:00
lib [CORDA-1611] Upgrade Quasar to 0.7.10 (#3342) 2018-06-12 09:38:14 +01:00
node ENT-2202 Fold transaction mapping column into transactions table (#3836) 2018-08-22 14:14:55 +01:00
node-api Bumped minimum platform version for the bootstrapper from 1 to 4 to unlock reference states. (#3753) 2018-08-08 12:09:47 +01:00
samples CORDA-1889: Update some CordFormation samples to use nodeDefaults{}. (#3771) 2018-08-11 12:57:04 +01:00
serialization ENT-2439 Fix compression in serialization (#3825) 2018-08-22 10:37:18 +01:00
serialization-deterministic Prefer files to paths when configuring ProGuard. (#3679) 2018-07-24 13:52:45 +01:00
testing ENT-2378 ENT-2377 Minimise database access during transaction creation and recording for public key handling (#3812) 2018-08-20 15:01:51 +01:00
tools ENT-2439 Fix compression in serialization (#3825) 2018-08-22 10:37:18 +01:00
webserver CORDA-1906: Add Servlet 3.1 implementation into the WebServer. (#3794) 2018-08-17 14:08:48 +01:00
.gitignore Update references to point to new repo and remove other redundant references. (#3151) 2018-05-15 17:09:50 +01:00
build.gradle NOTICK - Fix version reference for New Relic dependency (#3765) 2018-08-09 18:17:20 +01:00
constants.properties CORDA-1889: Update some CordFormation samples to use nodeDefaults{}. (#3771) 2018-08-11 12:57:04 +01:00
CONTRIBUTING.md Expanded message to contributors (#2969) 2018-05-04 09:18:36 +01:00
CONTRIBUTORS.md Update CONTRIBUTORS.md 2018-08-10 12:26:15 +01:00
deterministic.gradle ENT-1463, ENT-1903: Refactor Gradle for deterministic modules (#3387) 2018-06-18 14:14:48 +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 year to 2018 (#3000) 2018-04-25 14:47:32 +01:00
README.md Updates readme. 2018-05-31 22:01:27 +01:00
settings.gradle Deterministic JVM (#3386) 2018-08-22 16:01:39 +01:00
TRADEMARK Updated URL link to R3 trademark policy 2017-07-13 11:43:41 +01:00

Corda

Corda

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.

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

We welcome contributions to Corda! Please see our CONTRIBUTING.md.

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.