kotlin-platform is the library that supports Platform functionality for the Java VM on desktop and Android devices.
- dash-sdk-android - This is for the Dash SDK that supports platform for all Android architectures
- dash-sdk-bindings - This generates the primary Dash SDK header and the shared library for Java bindings for the local machine
- dash-sdk-java - This is for the Dash SDK that supports platform for the local environment
- dpp - This is the Kotlin Dash SDK for Platfrom
- This is a more simple interface than
dash-sdk-javathat supports the needs of the DashPay app which usesdpnsanddashpaydata contracts. - It depends on
dash-sdk-javaanddash-sdk-androidif targeting android
- This is a more simple interface than
- examples - Contains many example programs that perform some platform operations
- platform-mobile - A rust crate used by
dash-sdk-androidanddash-sdk-javathat supports many Platform DAPI operations - tools - a module that contains the WalletTool program
See dash-sdk-bindings readme for build instructions of the basic bindings system. Perform these steps first.
See dash-sdk-java readme for build instructions of the Java bindings. Perform these steps second.
- This will generate the Java classes for the Java bindings and the shared library that supports the current environment
- There are currently problems when running on Linux 64-bit systems. Mac M1 systems work well. No other systems have been tested.
Build the android libraries for the local machine (only works on Mac)
./gradlew publishToMavenLocalBuild the android libraries to publish to Maven Central:
- Verify release & deploy configuration
./gradlew jreleaserConfig- Ensure a clean deployment
./gradlew clean- Generate all needed code for SWIG and Protobuf
./gradlew generateSWIG && ./gradlew generateProto- Stage all artifacts to a local directory
./gradlew publish- Deploy and release
./gradlew jreleaserDeploydppVersion = "2.0.0"
dependencies {
implementation "org.dashj.platform:dash-sdk-java:$dppVersion"
implementation "org.dashj.platform:dash-sdk-kotlin:$dppVersion" // dpp
implementation "org.dashj.platform:dash-sdk-android:$dppVersion" // for android only
}Currently only building for Android on a Mac is supported.
| build system | Android (arm32) | Android (arm64) | Android (x86) | Android (x86_64) | Windows (x86_64) | Mac (arm64) | Mac (x86_64) | Linux (arm64) | Linux (x86_64) |
|---|---|---|---|---|---|---|---|---|---|
| Mac (arm64) | No 32-bit support Crashes | No 32-bit support Crashes | Yes | N/A | Yes | N/A | N/A | N/A | |
| Mac (x86_64) | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| Linux (arm64) | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| Linux (x86_64) | No 32-bit support Crashes | No Crashes | No 32-bit support Crashes | No Crashes | N/A | N/A | N/A | N/A | N/A |
| Windows (x86_64) | Not supported | Not supported | Not supported | Not supported | Not Tested | N/A | N/A | N/A | N/A |