ConsenSys core libraries for Java & Kotlin
Branch: master
Clone or download
atoulme Merge pull request #185 from cleishm/dental-floss-for-the-mind
SSZ: Add list alternatives to vararg writers
Latest commit 714d07d Feb 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Fix branch matching in circle ci config Jan 19, 2019
.idea/codeStyles Make sure to not have wildcard imports with IDEA Jan 8, 2019
bytes Add missing javadoc Feb 15, 2019
concurrent Handle all methods of Map interface in ExpiringMap Jan 2, 2019
config Make sure tests pass regardless of system line endings Feb 15, 2019
crypto Add Allocated class and change keys, hash, secret classes to use this… Feb 13, 2019
devp2p Add Java async methods to make the code available without continuatio… Jan 13, 2019
eth-reference-tests SSZ: Add list alternatives to vararg writers Feb 22, 2019
eth-repository Use constants for chain head and genesis block Feb 7, 2019
eth Add support for transaction with latest hard forks Feb 16, 2019
gradle Add infinispan cache kv store Feb 4, 2019
io Fixing path manipulation on Windows Feb 22, 2019
kv Add infinispan cache kv store Feb 4, 2019
merkle-trie Add performance test inserting 1000000 records into a Trie, then read… Dec 18, 2018
net-coroutines Add CoroutineNetworkChannel#getAdvertisableAddress() Jan 2, 2019
net Move okhttp version to dependency-versions Nov 4, 2018
scuttlebutt-discovery Update scuttlebutt discovery description Feb 12, 2019
scuttlebutt-handshake Add Vert.x server and client for SecureScuttlebutt connections Feb 20, 2019
scuttlebutt Make curves an enum, and allow identities to provide their public key Feb 16, 2019
toml Make sure tests pass regardless of system line endings Feb 15, 2019
units Update bitwise operator javadoc Feb 15, 2019
.editorconfig Initial release Jun 18, 2018
.gitattributes Initial release Jun 18, 2018
.gitignore Moved methods from BLS381 to the specific classes that match their pa… Jan 22, 2019
.gitmodules Move eth2 reference tests git to use https transport Feb 18, 2019 Initial release Jun 18, 2018
LICENSE An ethereum ÐΞVp2p discovery implementation in Kotlin Jan 2, 2019 Update download links. Prepare to move to the 1.0.0 builds Jan 16, 2019
dependency-versions.gradle Add ETH 2.0 reference tests and a SSZ test suite Feb 12, 2019
gradlew Initial release Jun 18, 2018
settings.gradle Initial commit of Secure Scuttlebutt handshake library Feb 13, 2019

Cava: ConsenSys Core Libraries for Java (& Kotlin)

Build Status License Download

In the spirit of Google Guava, Cava is a set of libraries and other tools to aid development of blockchain and other decentralized software in Java and other JVM languages.

It includes a low-level bytes library, serialization and deserialization codecs (e.g. RLP), various cryptography functions and primatives, and lots of other helpful utilities.

Cava is developed for JDK 1.8 or higher, and depends on various other FOSS libraries, including Guava.

Getting cava

Note that these libraries are experimental and are subject to change.

The libraries are published to ConsenSys bintray repository, synced to JCenter and Maven Central.

You can import all modules using the cava jar.

With Maven:


With Gradle: compile 'net.consensys.cava:cava:0.6.0' contains the list of modules and instructions to import them separately.

Build Instructions

To build, clone this repo and run with ./gradlew like so:

git clone --recursive
cd cava

After a successful build, libraries will be available in build/libs.