Building the Client From Downloaded Source
If you would like to build your own stand-alone minimal webapp client from original source, instructions for doing so follow below.
Instructions for building the entire SilentVault Spark Jabber client and plugin can be found here.
If you would prefer to download and run a client built by us as a signed Java webstart application, please see this page. Note that the main SilentVault Spark client includes much more functionality than this minimalist webapp client. You can obtain the prebuilt Spark client here.
To build the client you will need the following:
- OpenGPG or equivalent, to verify the signature on the source archive.
- The Java JDK (development kit) version 7u181 or higher. Note this is different than the JRE (runtime environment). If you need help, see: Obtaining Java.
- The Apache Ant build tool, rev 1.7.1 or higher. You can obtain this in Linux distros, or look here.
You can download the source code and build tools from our site, in ZIP format: SVClient-0.7.3.zip. Make sure that you also download the corresponding detached signature file, SVClient-0.7.3.zip.asc, so that you can verify the signature on the archive (see below)
The archive signature was created with the following key:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)
-----END PGP PUBLIC KEY BLOCK-----
You can either paste the above key into a file and use gpg --import, or you can fetch the key off the public key server where it is stored, with the following command:
gpg --keyserver pgp.mit.edu --recv-keys 3192D170
Once you have the public signing key, and have downloaded your chosen archive and its corresponding signature file, you can verify the authenticity of the download using this command:
gpg --verify SVClient-0.7.3.zip.asc
You should see output resembling this:
gpg: assuming signed data in `SVClient-0.7.3.zip'
gpg: Signature made Tue 11 Sep 2018 08:31:46 PM UTC using RSA key ID 3192D170
gpg: Good signature from "Silent-Vault Devs (also signing key) <firstname.lastname@example.org>"
Third Party Source[+]
The SV Client relies on several other open source projects for various functionality related to XML parsing, DOM handling, and client XMPP. These JAR files are found in the ./lib directory, and have not been changed from their originally distributed versions. Nevertheless, if you wish to obtain these files from an independent source, or compile them yourself from source, the following links may be helpful:
- The file xpp3.jar contains the code for the XML pull parser, 3rd edition. You can also obtain it here.
- The file dom4j.jar contains the DOM framework for Java, v. 2.0.0. You can also obtain the latest version here.
- The files smack.jar and smackx.jar contain code for client-side XMPP, from the Smack 3.3.1 distribution. You can obtain Smack here. (Note this is not the current version of Smack.)
- The files base.jar and spark.jar provide graphical utilities used with Smack, including icons, and are from the distribution of Spark 2.7.7 (a full Jabber client). You can obtain Spark 2.7.7 here. (Note this is not the current version of Spark.)
Compiling the Source
Unpack the archive into a user directory, and make sure you have ant and javac in your path. The instructions which ant will follow to build your jar file are found in build.xml. To compile the client for standalone use, run this command in a shell window:
That should be all there is to it! Note that if your specific compiler issues any warnings (it shouldn't), you can disable any or all of the "compilerarg" lint directives in build.xml to silence them.
When you have completed the compilation, you will have a file called ./target/silentvault-client.jar.
Running the Client
The client can be invoked simply by using java -jar ./target/silentvault-client.jar. However, by default the client only knows about the test network gateway (ofs.voucher-safe.org:5233). In order to tell it where to look for live gateways, some properties need to be passed to it. The file gateway.properties contains these, along with some explanatory comments. To invoke the client giving it this properties file, you can use this command in a shell window (from your build directory):
java -jar target/silentvault-client.jar -p gateway.properties
For convenience, there is a shell script (sh/bash) which does this, found in runSVclient.sh.
Click here for information on "sandbox" testing.
Note that in future gateways into the live network may change, either because gateways (or PageKites to gateways) are added or subtracted, or because whole additional publisher networks are added to the Voucher-Safe system. When and if this occurs, you will need to edit the gateway.properties file to reflect the changes. (Such changes will be announced on this website.)
In regard to client updates, you will need to monitor this page for updates, and rebuild your client when they appear. The current revision is: 0.7.3, dated 31 August, 2018. Note that the pre-built web-app version will always be updated at the same time, and will automatically manage updates for you, if you install that version.
Comments on these instructions are welcomed.
Please report bugs or ask questions in the forum. (You'll need to register to post.)