Mike Hearn a9fc6f5495 Target Java 6 for our Caplet, to ensure the corda.jar capsule-ified build can get as far as capsule's version checks if the users JVM is too old. Without this patch capsule tries to load the caplet and then dies because it targets a newer version of Java than what the user has, so the error message the user sees is useless (a bytecode version mismatch). With this patch the user sees a message like this:
"CAPSULE EXCEPTION: Could not find Java installation for requested version [Min. Java version: 1.8.0 JavaVersion: null Min. update version: {}] (JDK required: false). You can override the used Java version with the -Dcapsule.java.home flag. (for stack trace, run with -Dcapsule.log=verbose)"

which isn't awesome either but at least tells the user what to do.
2016-11-16 15:46:50 +01:00
2016-11-16 13:26:05 +00:00
2016-11-16 13:26:05 +00:00
2016-11-15 17:21:26 +00:00
2016-11-16 14:43:54 +00:00
2016-11-15 16:51:07 +00:00
2016-01-22 12:54:24 +01:00
2016-11-10 20:13:43 +01:00
2016-11-16 13:26:05 +00:00
2015-11-03 17:54:17 +01:00
2015-11-03 17:54:17 +01:00
2016-11-07 17:57:01 +01:00
2016-11-15 17:21:26 +00:00

Corda

Corda is a decentralised database system in which nodes trust each other as little as possible. This reference implementation is not yet complete or offering backwards compatibility, but should be suitable for small experiments and exploration of the underlying ideas.

Pull requests are appreciated. You can chat to the team on our forums and on our Slack. It runs on the JVM and is mostly written in Kotlin.

Project website

Documentation

The project is supported by R3, a financial industry consortium, which is why it contains some code for financial use cases and why the documentation focuses on finance. The goal is to use it to construct a global ledger, thus simplifying finance and reducing the overheads of banking. But it is run as a typical open source project and the basic technology of a peer to peer decentralised database may be useful for many different projects. We'd love to hear about any interesting experiments you do with it!

Getting started

Corda consists of node software that takes part in a network, libraries you can use to develop apps for the platform, a client library that lets you interact with the node via RPC, and some samples showing how it all works.

To install:

  1. Make sure you have Oracle JDK 8 available (OpenJDK 8 support is coming).
  2. Run ./gradlew install to download all the dependencies (including the build tools), compile the code and install the core libraries into your local Maven repository (under ~/.m2)

To run some demo nodes that swap cash around between themselves:

  1. ./gradlew tools:explorer:runDemoNodes
  2. You can find a node now running on port 20002

To run an explorer app that lets you connect to a node and explore what it's doing, try ./gradlew tools:explorer:run. The explorer also lets you send and receive cash.

Now go read the documentation.

Getting involved

License

Apache 2.0

Description
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.
Readme Pixar 355 MiB
Languages
Kotlin 94.3%
Java 2.5%
C++ 2.1%
Python 0.3%
Shell 0.3%
Other 0.3%