Chris Rankin 9411c223af Squashed commit of the following: (#15)
commit fabf4dd0cca19118c59c925f572a655d1d9c4092
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 9 17:36:06 2017 -0600

    reserve a little more stack space for worst-case lambda expressions

commit 24b95016dd6f62fa4a82312310fcb5c55cc22f93
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 9 17:33:39 2017 -0600

    support constructor references

commit a329416f4f37840d2a5d7976874585413cd4c6af
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 9 17:11:19 2017 -0600

    normalize class name in Classes.forName

    This fixes a Tomcat classloading issue when using the OpenJDK class library.

commit ecafdf40baf2f3cde4835620e9af4380b1081fe7
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 9 16:58:04 2017 -0600

    fix some lambda bugs

commit 552dfd779baf077cc6445b4042588e4b6e34f3d2
Merge: 63dda56 aa2f25d
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sat Jul 8 10:57:59 2017 -0600

    Merge remote-tracking branch 'corda/chrisr3-invoking-extension'

commit 63dda560f8648a793bdb609879076ab729b17e19
Merge: 3ec983d e589f10
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sat Jul 8 10:54:53 2017 -0600

    Merge pull request #538 from dicej/master

    avoid definePackage infinite recursion with OpenJDK class library

commit aa2f25da404b2fc168a672392df939b52ea250ab
Author: Chris Rankin <chris.rankin@r3.com>
Date:   Mon Jul 3 17:26:41 2017 +0100

    Add support for "invokevirtual" and "invokeinterface".
    The "invokeinterface" support seems to be broken for lambdas that require native types to be boxed/unboxed.

commit e589f105741ea36d07bba1e300c7ed69c33a22d1
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 2 19:43:36 2017 -0600

    avoid definePackage infinite recursion with OpenJDK class library

commit 3ec983dd82e01b36fb96411df345a54119a68181
Merge: 6f6bdd7 78881d4
Author: Joel Dice <joel.dice@gmail.com>
Date:   Tue Jun 13 09:50:49 2017 -0600

    Merge pull request #534 from lwahlmeier/fileGetParentFile

    fixed File.getParent when getting parent returns root

commit 78881d427cd474c14f5ce94484f5253de564074b
Author: Luke Wahlmeier <lwahlmeier@gmail.com>
Date:   Tue May 30 13:42:56 2017 -0600

    fixed File.getParent when getting parent returns root

commit 6f6bdd7d5c171e0c4c807d0a4f3aa676461307de
Merge: 8b694f9 b22343e
Author: Joel Dice <joel.dice@gmail.com>
Date:   Mon May 22 12:58:09 2017 -0600

    Merge pull request #529 from mikehearn/proguard-fixes

    Some fixes to the ProGuard files

commit 8b694f961496f2d47a377254f61153b0338335fd
Merge: dfae414 61c82e1
Author: Joel Dice <joel.dice@gmail.com>
Date:   Mon May 22 12:57:54 2017 -0600

    Merge pull request #531 from mikehearn/fileinputstream-compat

    FileInputStream has wrapped some more native methods

commit dfae414da8da57049076c16c43472cc32bdeb07c
Merge: 16dd804 d7a6f68
Author: Joel Dice <joel.dice@gmail.com>
Date:   Mon May 22 12:57:38 2017 -0600

    Merge pull request #532 from mikehearn/use-symlinks

    Symlink OpenJDK files rather than hardlink

commit d7a6f68235b2d42c03aba36f1bb48d173adb4fa6
Author: Mike Hearn <mike@plan99.net>
Date:   Sun May 14 21:42:06 2017 +0200

    Symlink OpenJDK files rather than hardlink

commit 61c82e1070d857bcdc7a4f086d13836d9608da00
Author: Mike Hearn <mike@plan99.net>
Date:   Sun May 14 21:40:52 2017 +0200

    FileInputStream has wrapped some more native methods in recent OpenJDK releases

commit b22343eb6731f1df2631635e2fcf9d51817273fe
Author: Mike Hearn <mike@plan99.net>
Date:   Sun May 14 21:38:09 2017 +0200

    Some fixes to the ProGuard files

commit 16dd804f392168497fa17ab682978f938e291bfb
Merge: e2d3270 19deadd
Author: Joel Dice <joel.dice@gmail.com>
Date:   Wed Mar 22 16:00:30 2017 -0600

    Merge pull request #526 from MaartenR/arrays-binsearch

    Added integer array binary search methods to Arrays class

commit e2d3270fe8e92203b6107b95f862ff5bd245c37a
Merge: dee99d6 545b9c8
Author: Joel Dice <joel.dice@gmail.com>
Date:   Wed Mar 22 16:00:20 2017 -0600

    Merge pull request #527 from MaartenR/integer-nolz

    Added numberOfLeadingZeros method to Integer class

commit 545b9c8732a6ea026285b1edf976a79eb541ef2e
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Tue Mar 14 11:23:36 2017 +0100

    Tested more negative numbers

commit b45bcf09535daef99ed31451ae55db8bec83164c
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Tue Mar 14 10:47:27 2017 +0100

    Added unit test for numberOfLeadingZeros method of the Integer class

commit 19deadd36bbfc02a8c13e6d91963e41f5125057f
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Mon Mar 13 12:19:17 2017 +0100

    Fixed mistake with end index being exclusive

commit 7271c0b7077ae3bef473e036aa0f0298a9eb0601
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Fri Mar 10 11:17:13 2017 +0100

    Added numberOfLeadingZeros method to Integer class

commit 023bb69acd071348f29cd43ff954d3dcf2856c7c
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Thu Mar 9 13:43:03 2017 +0100

    Added integer array binary search methods to Arrays class

commit dee99d6dd60b743a870d1a2c58183649c8a6449c
Merge: f7a651d 6c90953
Author: Joel Dice <joel.dice@gmail.com>
Date:   Wed Mar 1 08:39:32 2017 -0700

    Merge pull request #525 from MaartenR/master

    Added functionality to HttpURLConnection for obtaining content length

commit 6c90953745be5451ac9a028639f94e3fcc43d7f3
Author: Maarten Raaphorst <raaphorst@serviceplanet.nl>
Date:   Wed Mar 1 14:19:51 2017 +0100

    Made http headers case insensitive

commit 2c3a82d2b387251a8932ddb6575e718c2c1785a7
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Fri Feb 3 05:42:56 2017 -0800

    Added functionality to HttpURLConnection for obtaining content length
2017-07-10 17:01:56 +01:00
2017-03-06 15:33:29 +01:00

Corda

Corda

Corda is a decentralised database system in which nodes trust each other as little as possible.

Features

  • A P2P network of nodes
  • Smart contracts
  • Flow framework
  • "Notary" infrastructure to validate uniqueness of transactions
  • Written as a platform for distributed apps called CorDapps
  • Written in Kotlin, targeting the JVM

Getting started

Firstly, read the Getting started documentation.

Next, use the following guides to set up your dev environment:

  • If you are on Windows use this getting started guide which also explains through how to run the sample apps.

  • Alternatively if you are on Mac/Linux, watch this brief Webinar which walks through getting Corda, installing it, building it, running nodes and opening projects in IntelliJ.

After the above, watching the following webinars will give you a great introduction to Corda:

Webinar 1 Introduction to Corda

Richard Brown, R3 Chief Technology Officer, explains Corda's unique architecture, the only distributed ledger platform designed by and for the financial industry's unique requirements. You may want to read the Corda non-technical whitepaper as pre-reading for this session.

Webinar 2 Corda Developers Tutorial

Roger Willis, R3 Developer Relations Lead, provides an overview of Corda from a developers perspective and guidance on how to start building CorDapps. You may want to view Webinar 1 - Introduction to Corda as preparation for this session. NB. This was recorded for the M5 release.

Building on Corda

To build your own CorDapps:

  1. Clone the CorDapp Template repository
  2. Read the README (IMPORTANT!)
  3. Read the Writing a CorDapp documentation

To look at the Corda source and run some sample applications:

  1. Clone this repository
  2. To run some sample CorDapps, read the running the demos documentation
  3. Start hacking and contribute!

Development State

Corda is under active development and is maturing rapidly. We are targeting production-readiness in 2017. The API will continue to evolve throughout 2017; backwards compatibility not assured until version 1.0.

Pull requests, experiments, and contributions are encouraged and welcomed.

Background

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, simplifying finance and reducing the overheads of banking. But it is run as an open source project and the basic technology of a peer-to-peer decentralised database may be useful for many different projects.

Contributing

Please read here.

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.

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%