53 lines
1.7 KiB
Markdown
53 lines
1.7 KiB
Markdown
---
|
|
layout: page
|
|
title: "Dependencies"
|
|
permalink: "/dependencies"
|
|
order: 10
|
|
categories: dependencies
|
|
---
|
|
|
|
`jabit-core` contains the Bitmessage context and all entities that will be used by the other modules.
|
|
Whatever you do, you'll need this.
|
|
|
|
`jabit-networking` manages connections to the Bitmessage network. This is probably the most complicated
|
|
part of the Jabit project. TODO
|
|
|
|
`jabit-repositories` is where the entities from core are stored. The default implementation uses JDBC
|
|
to access a H2 database. It should mostly be easy to use other SQL databases (I'll happily accept pull
|
|
requests) but if you want to use some NoSQL database or a very restricted one (as with SQLite) you might
|
|
want to create your own implementation.
|
|
|
|
`jabit-cryptography-bouncy` impmlements everything related to encryption, cryptographic hashes and
|
|
secure random numbers. As the name suggests, it uses the [Bouncycastle](https://www.bouncycastle.org/)
|
|
library.
|
|
|
|
`jabit-cryptography-spongy` is basically a copy of the spongy one, but using
|
|
[Spongycastle](https://rtyley.github.io/spongycastle/) instead.
|
|
|
|
|
|
|
|
|
|
TODO
|
|
|
|
Add Jabit as Gradle dependency:
|
|
|
|
{% highlight groovy %}
|
|
compile 'ch.dissem.jabit:jabit-core:1.0.0'
|
|
{% endhighlight %}
|
|
|
|
Unless you want to implement your own, also add the following:
|
|
|
|
{% highlight groovy %}
|
|
compile 'ch.dissem.jabit:jabit-networking:1.0.0'
|
|
compile 'ch.dissem.jabit:jabit-repositories:1.0.0'
|
|
compile 'ch.dissem.jabit:jabit-cryptography-bouncy:1.0.0'
|
|
{% endhighlight %}
|
|
|
|
And if you want to import from or export to the Wallet Import Format (used by PyBitmessage) you might also want to add:
|
|
|
|
{% highlight groovy %}
|
|
compile 'ch.dissem.jabit:jabit-wif:1.0.0'
|
|
{% endhighlight %}
|
|
|
|
For Android clients use `jabit-cryptography-spongy` instead of `jabit-cryptography-bouncy`.
|