mirror of
https://github.com/corda/corda.git
synced 2024-12-18 20:47:57 +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.
c33720c73d
* CORDA-3717: Apply custom serializers to checkpoints * Remove try/catch to fix TooGenericExceptionCaught detekt rule * Rename exception * Extract method * Put calls to the userSerializer on their own lines to improve readability * Remove unused constructors from exception * Remove unused proxyType field * Give field a descriptive name * Explain why we are looking for two type parameters when we only use one * Tidy up the fetching of types * Use 0 seconds when forcing a flow checkpoint inside test * Add test to check references are restored correctly * Add CheckpointCustomSerializer interface * Wire up the new CheckpointCustomSerializer interface * Use kryo default for abstract classes * Remove unused imports * Remove need for external library in tests * Make file match original to remove from diff * Remove maySkipCheckpoint from calls to sleep * Add newline to end of file * Test custom serializers mapped to interfaces * Test serializer configured with abstract class * Move test into its own package * Rename test * Move flows and serializers into their own source file * Move broken map into its own source file * Delete comment now source file is simpler * Rename class to have a shorter name * Add tests that run the checkpoint serializer directly * Check serialization of final classes * Register as default unless the target class is final * Test PublicKey serializer has not been overridden * Add a broken serializer for EdDSAPublicKey to make test more robust * Split serializer registration into default and non-default registrations. Run registrations at the right time to preserve Cordas own custom serializers. * Check for duplicate custom checkpoint serializers * Add doc comments * Add doc comments to CustomSerializerCheckpointAdaptor * Add test to check duplicate serializers are logged * Do not log the duplicate serializer warning when the duplicate is the same class * Update doc comment for CheckpointCustomSerializer * Sort serializers by classname so we are not registering in an unknown or random order * Add test to serialize a class that references itself * Store custom serializer type in the Kryo stream so we can spot when a different serializer is being used to deserialize * Testing has shown that registering custom serializers as default is more robust when adding new cordapps * Remove new line character * Remove unused imports * Add interface net.corda.core.serialization.CheckpointCustomSerializer to api-current.txt * Remove comment * Update comment on exception * Make CustomSerializerCheckpointAdaptor internal * Revert "Add interface net.corda.core.serialization.CheckpointCustomSerializer to api-current.txt" This reverts commit |
||
---|---|---|
.ci | ||
.github | ||
.idea | ||
client | ||
common | ||
confidential-identities | ||
config | ||
core | ||
core-deterministic | ||
core-tests | ||
detekt-plugins | ||
docker | ||
docs | ||
experimental | ||
finance | ||
gradle/wrapper | ||
isolated | ||
jdk8u-deterministic | ||
lib | ||
node | ||
node-api | ||
node-api-tests | ||
release-tools | ||
samples | ||
serialization | ||
serialization-deterministic | ||
serialization-djvm | ||
serialization-tests | ||
testing | ||
tools | ||
.dockerignore | ||
.gitignore | ||
build.gradle | ||
BUILD.md | ||
buildCacheSettings.gradle | ||
constants.properties | ||
CONTRIBUTING.md | ||
CONTRIBUTORS.md | ||
detekt-baseline-config.yml | ||
detekt-baseline.xml | ||
detekt-config.yml | ||
deterministic.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
java8.gradle | ||
Jenkinsfile | ||
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.