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.
268d129838
* CORDA-3194 Replay start flow events when responding flow fails initial checkpoint commit Logic has already been added to recover from initial checkpoint commit failures on the initiating flow side but this did not suffice for the same failure occurring on the responding flow's side. The same idea has been added to resolve the responding flow's issue. `ExternalMessageEvent` now has a `flowId` that is maintained on the event. Messages can then be replayed to start/restart the flow, while the event provides the flow id to each flow start. Each `ExternalMessageEvent` implementation generates a random `flowId` when constructed. Events are stored in Artemis. This allows the solution to recover across node restarts as the events will be pulled from artemis again when restarting. In the future `flowId`s will probably moved off of the events and generated purely on the responding flow's node. * CORDA-3194 Add test to verify that errors removing a responding flow are recoverable |
||
---|---|---|
.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 | ||
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 | ||
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.