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")
}
}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.
The axion-release-plugin is used for managing the version via git tags. Run the following to get the current SNAPSHOT version:
./gradlew -q currentVersionAssuming 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.9Running ./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.