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.
Obtain Source
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)
Verify Signature
[+]
The archive signature was created with the following key:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)
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
ChsD55pomVQ/YBN07w+pSFwgwQq2ZrML2dY=
=iCp2
-----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) <devs@silentvault.com>"
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:
ant standalone
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.
Handling Updates
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.)