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
Roger Willis 1c2c3d3fed
Identity service refactor for confidential-identities and accounts (#5434)
* Removed IdentityServiceInternal as it is no longer used.

* Removed externalIdForPublicKey API from KMS and added it to IdentityService.
Added a registerKeyToExternalId API on IdentityService.

* Fix remaining compile errors.

* Removed "registerKeyToParty" and in its place added a new registerKey method which takes a PublicKey, Party and optionally a UUID.
Added a cache to the "PersistentIdentityService" to store other node's public keys.
Added the cache and new hibernate entity to all teh places where one needs to add them.
New keys created by teh node now automatically get associated entries in the KEY -> PARTY map and optionally the KEy -> EXT ID map.
Added a test.

* Removed old comments and TODOs.

* Fixed broken test.
Added comments/explanations for what's going on in IdentityService.
Updated kdocs.

* First try at Implementing publicKeysForExternalId.

* Fixed broken test.

* Added migration.
Amended existing persistent identity service migration to handle new migration.
Addressed some review comments.

* Fixed broken test - whoops!

* Implemented mock identity service methods.

* Added back exception when remapping a key to a different party.

* Fixed compile errors.
Fixed broken tests.

* Use set instead of first entry in ourNames.
2019-09-16 13:14:12 +01:00
.ci Ensure that ServiceHub.WithEntityManager has a database transaction available (#5413) 2019-08-30 15:58:50 +01:00
.github Typo. (#3750) 2018-08-07 10:14:23 +01:00
.idea remove compiler xml (#5426) 2019-09-12 13:40:49 +00:00
buildSrc Add Jenkinsfile for integration into CI (#5468) 2019-09-16 10:29:58 +00:00
client TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
common [NOTICK]: Change Corda version 2019-08-28 14:14:39 +01:00
confidential-identities TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
config CORDA-3071 - Checkpoint agent tool (#5295) 2019-08-01 09:40:52 +01:00
core Identity service refactor for confidential-identities and accounts (#5434) 2019-09-16 13:14:12 +01:00
core-deterministic TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
core-tests Identity service refactor for confidential-identities and accounts (#5434) 2019-09-16 13:14:12 +01:00
create-jdk8u ENT-1467: Make the deterministic JDK image compatible with IntelliJ. (#3416) 2018-06-26 11:53:16 +01:00
docker reapply docker plugin for building corda docker images (#5437) 2019-09-05 12:02:51 +00:00
docs Merge branch 'release/os/4.1' into jlocke/20190912_merge_4.1_to_4.3 2019-09-12 11:44:09 +01:00
experimental TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
finance TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
gradle/wrapper WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
isolated CORDA-2893 Upgrade Corda to use Gradle 5.4.1 (Take 2) (#5137) 2019-05-20 14:26:42 +01:00
jdk8u-deterministic CORDA-2871: Fine-tune compile vs runtime scopes of published deterministic jars. (#5241) 2019-06-21 14:01:59 +01:00
lib Revert "Merge pull request #5145 from corda/jdk11-migration-gradle5-upgrade" (#5146) 2019-05-20 16:16:49 +01:00
node Identity service refactor for confidential-identities and accounts (#5434) 2019-09-16 13:14:12 +01:00
node-api TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
release-tools CORDA-3017 - Fix release tooling when product name != jira project (#5229) 2019-06-21 09:28:07 +01:00
samples TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
serialization CORDA-3218: Make set of serializer types considered suitable for object reference to be configurable. 2019-09-13 10:27:57 +01:00
serialization-deterministic Provide a map of Java primitive types as a configuration value. 2019-08-23 08:51:47 +01:00
serialization-tests CORDA-3206: Move serialization tests into separate module to break de… (#5452) 2019-09-12 16:14:44 +01:00
testing Identity service refactor for confidential-identities and accounts (#5434) 2019-09-16 13:14:12 +01:00
tools TM-20 rebasing the detekt changes to be able to merge into OS 4.3. The changes include: detekt integration, rule configurations, baseline of the current issues that exist in 4.3 and a MaxLineLength rule violation fix to ANSIProgress test since it was causing the baseline to fail to load due to the special characters in the test (#5464) 2019-09-12 14:08:50 +01:00
webserver TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
.dockerignore WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
.gitignore WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
build.gradle TM-20 rebasing the detekt changes to be able to merge into OS 4.3. The changes include: detekt integration, rule configurations, baseline of the current issues that exist in 4.3 and a MaxLineLength rule violation fix to ANSIProgress test since it was causing the baseline to fail to load due to the special characters in the test (#5464) 2019-09-12 14:08:50 +01: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 Explicitly disable remote gradle build cache when building locally. (#4095) 2018-10-19 16:40:06 +01:00
constants.properties WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
CONTRIBUTING.md Combines all contributing info in one place. Clean-up. (#4266) 2018-11-20 18:17:11 +00:00
CONTRIBUTORS.md Contract tutorial update and Contributors list update (#5338) 2019-07-30 14:51:34 +01:00
detekt-baseline.xml TM-20 rebasing the detekt changes to be able to merge into OS 4.3. The changes include: detekt integration, rule configurations, baseline of the current issues that exist in 4.3 and a MaxLineLength rule violation fix to ANSIProgress test since it was causing the baseline to fail to load due to the special characters in the test (#5464) 2019-09-12 14:08:50 +01:00
detekt-config.yml TM-20 rebasing the detekt changes to be able to merge into OS 4.3. The changes include: detekt integration, rule configurations, baseline of the current issues that exist in 4.3 and a MaxLineLength rule violation fix to ANSIProgress test since it was causing the baseline to fail to load due to the special characters in the test (#5464) 2019-09-12 14:08:50 +01:00
deterministic.gradle ENT-1463, ENT-1903: Refactor Gradle for deterministic modules (#3387) 2018-06-18 14:14:48 +01:00
gradle.properties Revert "Merge pull request #5145 from corda/jdk11-migration-gradle5-upgrade" (#5146) 2019-05-20 16:16:49 +01:00
gradlew CORDA-2893 Upgrade Corda to use Gradle 5.4.1 (Take 2) (#5137) 2019-05-20 14:26:42 +01:00
gradlew.bat CORDA-2893 Upgrade Corda to use Gradle 5.4.1 (Take 2) (#5137) 2019-05-20 14:26:42 +01:00
Jenkinsfile Add Jenkinsfile for integration into CI (#5468) 2019-09-16 10:29:58 +00:00
LICENSE Use full Apache 2.0 license so GitHub recognizes it 2019-08-23 12:24:37 +02:00
README.md fix wrong index in readme (#5315) 2019-08-19 10:16:54 +01:00
SECURITY.md CORDA-2958 Security policy for corda 2019-06-03 10:38:13 +02:00
settings.gradle CORDA-3206: Move serialization tests into separate module to break de… (#5452) 2019-09-12 16:14:44 +01: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.

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.