Skip to content
Dash Java Library (X11, DGW, InstantSend)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bls Release 0.15.1 Mar 14, 2019
core Release 0.15.1 Mar 14, 2019
designdocs
examples Release 0.15.1 Mar 14, 2019
jni Updating for RC3; fixing bugs in MasterNodeVote Jun 16, 2014
misc Update to bitcoinj 0.13.2 Sep 9, 2015
orchid
tools Release 0.15.1 Mar 14, 2019
wallettemplate Release 0.15.1 Mar 14, 2019
.gitattributes Add a logo. Mar 1, 2013
.gitignore Remove checkpoints-testnet Jun 4, 2017
.gitmodules Add BLS wrapper (dashj-bls) Nov 16, 2018
.travis.yml Travis: use trusty instead of precise Oct 3, 2018
AUTHORS
COPYING
README Updating for RC3; fixing bugs in MasterNodeVote Jun 16, 2014
README.md
checkpoints-testnet Remove checkpoints-testnet Jun 4, 2017
pom.xml Release 0.15.1 Mar 14, 2019

README.md

dashj

A Java library for working with Dash

Build Status

Welcome to dashj

The dashj library is a Java implementation of the Dash protocol, which allows it to maintain a wallet and send/receive transactions without needing a local copy of Dash Core. It comes with full documentation and some example apps showing how to use it.

Technologies

  • Java 6 for the core modules, Java 8 for everything else
  • Maven 3+ - for building the project
  • Orchid - for secure communications over TOR
  • Google Protocol Buffers - for use with serialization and hardware communications

Getting started

To get started, it is best to have the latest JDK and Maven installed. The HEAD of the master branch contains the latest development code and various production releases are provided on feature branches.

Building from the command line

To initialize the repo after cloning it:

git submodule update  --init --recursive

To perform a full build use (this includes the dashjbls shared library):

mvn clean package

To perform a full build without building the bls shared library and skip the test:

mvn clean package -Pno-build-bls -DskipTests

To perform a full build and install it in the local maven repository:

mvn clean install

You can also run

mvn site:site

to generate a website with useful information like JavaDocs.

The outputs are under the target directory.

Building from an IDE

Alternatively, just import the project using your IDE. IntelliJ has Maven integration built-in and has a free Community Edition. Simply use File | Import Project and locate the pom.xml in the root of the cloned project source tree.

The dashjbls library must still be built with mvn.

Example applications

These are found in the examples module.

Forwarding service

This will download the block chain and eventually print a Dash address that it has generated.

If you send coins to that address, it will forward them on to the address you specified.

  cd examples
  mvn exec:java -Dexec.mainClass=org.dashj.examples.ForwardingService -Dexec.args="<insert a dash address here>"

Note that this example app does not use checkpointing, so the initial chain sync will be pretty slow. You can make an app that starts up and does the initial sync much faster by including a checkpoints file; see the documentation for more info on this technique.

You can’t perform that action at this time.