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
Shams Asari 406f7ff292
ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622)
This requires Kotlin 1.2 versions of core and serialization (core-1.2 and serialization-1.2 respectively), which are just "shell" modules and which compile the existing source code with Kotlin 1.2. The 1.2 plugin does not work with the current version of Gradle and so the 1.2 compiler has to be called directly.

Now with two versions of Kotlin in the code base, each module needs to have its version manually specified to ensure a clean separation. Otherwise, the default Kotlin version can override 1.2 when needed.

Some of the code was tidied-up or improved to enable it to be cross-compiled. For post-1.2 APIs being used, they have been copied into core-1.2 with the same method signatures. OpenTelemetryComponent was moved to node-api, along with the dependency, to avoid also having a 1.2 version for the opentelemetry module.
2024-01-02 17:02:20 +00:00
.ci Detekt. 2023-12-19 10:02:12 +00:00
.github ES-1622: Switch corda/corda Github Actions to use Github App for authentication (#7577) 2023-11-16 16:21:07 +00:00
.idea ENT-6947 Intern common types to reduce heap footprint (#7239) 2022-10-18 09:28:41 +01:00
buildSrc ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
client ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
common Added explicit publishing configuration for projects bundled as jars, this change was required when upgrading to kotlin 1.9.0 2023-11-08 10:48:10 +00:00
confidential-identities ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
config Upgrade to gradle 7.6, kotlin 1.8 and jdk 17 2023-11-06 10:24:17 +00:00
core ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
core-1.2 ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
core-tests Merge pull request #7609 from corda/arshadm/ent-11264-serizlized-lambda 2023-12-18 15:54:15 +00:00
detekt-plugins Upgrade to gradle 7.6, kotlin 1.8 and jdk 17 2023-11-06 10:24:17 +00:00
docker Resolve conflicts. 2023-12-19 08:46:26 +00:00
docs Added explicit publishing configuration for projects bundled as jars, this change was required when upgrading to kotlin 1.9.0 2023-11-08 10:48:10 +00:00
experimental ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
finance ENT-11055: Basic external verification (#7545) 2023-12-07 11:29:27 +00:00
gradle/wrapper Upgrade to gradle 7.6, kotlin 1.8 and jdk 17 2023-11-06 10:24:17 +00:00
isolated Upgrade to gradle 7.6, kotlin 1.8 and jdk 17 2023-11-06 10:24:17 +00:00
node ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
node-api ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
node-api-tests ENT-11155: Remove internal Kotlin utilities which have since been added after 1.2 (#7585) 2023-12-18 12:05:08 +00:00
opentelemetry ENT-11271 Publish dependencies in the maven pom.xml 2023-12-12 13:24:15 +00:00
release-tools CORDA-3017 - Fix release tooling when product name != jira project (#5229) 2019-06-21 09:28:07 +01:00
samples ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
serialization ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
serialization-1.2 ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
serialization-tests ENT-11192: Migrate usage of @Test.expected annotation parameter (#7593) 2023-12-06 16:45:51 +00:00
testing ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
tools ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
verifier ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
.dockerignore WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
.gitignore INFRA-505: Move integration tests to unit tests (#6530) 2020-08-06 15:16:27 +01:00
.snyk Merge branch 'release/os/4.9' into shams-4.10-merge-e6a80822 2023-07-13 10:53:30 +01:00
build.gradle ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
BUILD.md add a shared memory port allocator to allow multiple processes to sha… (#5223) 2019-07-02 18:38:33 +00:00
buildCacheSettings.gradle Re-add build cache configuration. 2023-12-19 09:20:31 +00:00
constants.properties ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
CONTRIBUTING.md LEDG-67 updating contrib links (#7036) 2022-02-14 10:09:36 +00:00
CONTRIBUTORS.md EG-4168 Updating contributors.md list for OS 4.7 release branch (#6782) 2020-10-22 22:52:11 +01:00
detekt-baseline-config.yml TM-45 Make detektBaseline pass (#5561) 2019-10-15 15:49:31 +01:00
detekt-baseline.xml ENT-11263: Remove TooGenericExceptionCaught detekt rule 2023-12-07 13:36:21 +00:00
detekt-config.yml ENT-11263: Remove TooGenericExceptionCaught detekt rule 2023-12-07 13:36:21 +00:00
gradle.properties Resolve conflicts. 2023-12-19 08:46:26 +00:00
gradlew Upgrade to gradle 7.6, kotlin 1.8 and jdk 17 2023-11-06 10:24:17 +00:00
gradlew.bat Upgrade to gradle 7.6, kotlin 1.8 and jdk 17 2023-11-06 10:24:17 +00:00
Jenkinsfile Merge branch 'release/os/4.12' into merge-release/os/4.11-release/os/4.12-2023-12-15-79 2023-12-19 08:46:52 +00:00
LICENSE Use full Apache 2.0 license so GitHub recognizes it 2019-08-23 12:24:37 +02:00
README.md NOTICK: Fix typos (#7255) 2022-10-28 12:33:39 +02:00
SECURITY.md CORDA-2958 Security policy for corda 2019-06-03 10:38:13 +02:00
settings.gradle ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622) 2024-01-02 17:02:20 +00:00
sizing.sh add a shared memory port allocator to allow multiple processes to sha… (#5223) 2019-07-02 18:38:33 +00:00
TRADEMARK Updated URL link to R3 trademark policy 2017-07-13 11:43:41 +01:00

Corda

License

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.

Architecture Evolution

The code present in this repository reflects the first version of the implementation of the Corda model for DLT technology. This first architecture version covers Corda versions 1 through 4 and continues to deliver on the promise of DLT for both the open source community and industry as a whole.

However, like all things, Corda must evolve to serve the more stringent needs of today. This is why the second (and current) version of the Corda Architecture can be found here and will form the basis of the Corda 5 release.

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

Corda is an open-source project and contributions are welcome!

To find out how to contribute, please see our contributing docs.

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.