Skip to content

corda/corda-solana-toolkit

Repository files navigation

Corda Solana Toolkit

License Maven

The Gradle modules in this repo are split into two main groups:

  • Java utility library for Solana
  • Corda to Solana Bridge Authority

To use them specify com.r3.corda.lib.solana for the Maven group and add the following Maven repo:

repositories {
    maven {
        url = uri("https://download.corda.net/maven/corda-dependencies")
    }
}

Java Solana Library

This is composed of three separate modules corda-solana-core, corda-solana-cordapp-utils, and corda-solana-testing.

Collection of Corda-compatible Solana utilities built upon Sava. This includes FileSigner for supporting the Solana filesystem wallet and SolanaClient which is an RPC client that honours rate limits and uses the websocket API for efficient waiting of transaction confirmation.

Contains a wrapper around the solana-test-validator which makes it easy to configure and spin up a validator from Java/Kotlin code. There is also SolanaTestClass which wraps this inside a JUnit extension making it trivial to write Solana-based tests.

Collection of Solana utilities for CorDapps.

This consists of the CorDapp bundle bridge-authority:contracts and bridge-authority:workflows which is a proposed solution for the bridging (and redemption) of Corda assets into Solana tokens. It centers around a "bridge authority" node which can be introduced into a Corda network that already uses the Corda Tokens SDK. More information about how it works and how to use it can be found here.

Publishing a release

The axion-release-plugin is used for managing the version via git tags. Run the following to get the current SNAPSHOT version:

./gradlew -q currentVersion

Assuming the version is 0.1.9-SNAPSHOT. Add a v prefix and remove the -SNAPSHOT suffix for the next version tag:

git tag v0.1.9
git push origin v0.1.9

Running ./gradlew -q currentVersion again will now print

Project version: 0.1.9

This is because the current commit is now on a version tag.

The next SNAPSHOT version (0.1.10-SNAPSHOT going with our example) will occur automatically when the main branch advances past this tag.

License

Apache 2.0

About

Solana utilities for Corda & Java

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors