Skip to content

PIVX-Project/PIVXj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c4c2822 · Jan 4, 2020
Jan 4, 2020
Mar 21, 2015
Aug 17, 2018
Jul 23, 2018
Jun 16, 2014
Sep 9, 2015
Aug 26, 2017
Jan 22, 2019
Jul 23, 2018
Oct 18, 2018
Mar 1, 2013
Oct 18, 2018
Oct 31, 2017
Aug 12, 2016
Mar 7, 2011
Jun 16, 2014
Dec 11, 2017
Jul 23, 2018
Jul 23, 2018
Jul 23, 2018
Jul 23, 2018

Repository files navigation

Welcome to pivxj

The pivxj library is a Java implementation of the PIVX protocol, which allows it to maintain a wallet and send/receive transactions without needing a local copy of PIVX 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 perform a full build use

mvn clean package

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.

Example applications

These are found in the examples module.

Forwarding service

This will download the block chain and eventually print a PIVX 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.pivxj.examples.ForwardingService -Dexec.args="<insert a pivx 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.