mirror of
https://github.com/corda/corda.git
synced 2024-12-19 04:57:58 +00:00
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.
fc265ee472
* CORDA-3018 Allow loading an untrusted contract jar if another attachment exists that was signed with the same keys and uploaded by a trusted uploader `TransactionUtils.isAttachmentTrusted` requirements have been relaxed to allow an untrusted attachment to be loaded as long as another attachment exists that is signed by the same keys and was uploaded by a trusted uploader. The requirement of containing the same contract classes has been removed. Therefore the contents of the existing trusted attachment no longer matters. * CORDA-3018 Allow a subset/intersection of signers in `isAttachmentTrusted` Allow a subset/intersection of signers to satisfy the signer requirements of `isAttachmentTrusted`. This allows an "untrusted" attachment that is signed by one or more keys to be "trusted" as long as another trusted attachment already exists that is signed by at least one of the "untrusted" attachments signers. A cache of trusted and untrusted public keys is now held (replacing the previous cache of `List<PublicKey>`. Tests have been added to `NodeAttachmentServiceTest` to confirm that an attachment query using an `EQUAL` statement will actually return attachments that are signed by any of the keys passed into the query. Confirming this allowed an `EQUAL` query to satisfy the search that had to be done as part of this change. `MockAttachmentStorage`'s query criteria was updated to better match the real `NodeAttachmentService` implementation. * CORDA-3018 Update cache name and kdoc on `isAttachmentTrusted` * CORDA-3018 Verify that chains of trust do not occur * CORDA-3018 Switch keys around to improve chain of trust tests |
||
---|---|---|
.ci | ||
.github | ||
.idea | ||
buildSrc | ||
client | ||
common | ||
confidential-identities | ||
config | ||
core | ||
core-deterministic | ||
core-tests | ||
create-jdk8u | ||
docker | ||
docs | ||
experimental | ||
finance | ||
gradle/wrapper | ||
isolated | ||
jdk8u-deterministic | ||
lib | ||
node | ||
node-api | ||
release-tools | ||
samples | ||
serialization | ||
serialization-deterministic | ||
testing | ||
tools | ||
webserver | ||
.gitignore | ||
build.gradle | ||
BUILD.md | ||
buildCacheSettings.gradle | ||
constants.properties | ||
CONTRIBUTING.md | ||
CONTRIBUTORS.md | ||
deterministic.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
settings.gradle | ||
sizing.sh | ||
TRADEMARK |
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
- Read the Getting Started documentation
- Run the Example CorDapp
- Read about Corda's Key Concepts
- Follow the Hello, World! tutorial
Useful links
- Project Website
- Mailing List
- Documentation
- Stack Overflow Tag
- Slack Channel
- Meetups
- Training Courses
Contributing
Corda is an open-source project and contributions are welcome!
To find out how to contribute, please see our contributing docs.
License
Acknowledgements
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.