Jabit/dependencies.markdown

52 lines
1.7 KiB
Markdown
Raw Normal View History

---
layout: page
title: "Dependencies"
permalink: "/dependencies"
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`.