aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 53921448caeaea5f920091968eedbf5738a3c1d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Scuttlebutt in Haskell

[Scuttlebutt](https://www.scuttlebutt.nz/) is a decentralised gossiping
platform which also works well offline.

This project is under active development (in alpha).  USE AT YOUR OWN RISK.

## Contributing

Please post bugs, patches, or requests to #ssb-haskell-dev on Scuttlebutt.

## Building and Installation

Haskell [stack](https://docs.haskellstack.org/en/stable/README/) is used to
build the code and manage dependencies.  See their
[README](https://docs.haskellstack.org/en/stable/README/) for how to install
it.

Stack can then be used to:

Build the project

```sh
stack build
```

Install the project into your local bin path

```sh
stack install
```

Run the project without installing it

```sh
stack run -- help
```

## Hosting a SSB Room

You can host an [SSB room](https://github.com/staltz/ssb-room) using this
project.  SSB peers can then use the room to discover and communicate with each
other.  For more information, refer to the official project.

```sh
ssb host-room --help
# Usage: ssb host-room NAME DESCRIPTION HOSTNAME
#   host a room
#
# Available options:
#   NAME                     what's the room called
#   DESCRIPTION              summary of room's purpose
#   HOSTNAME                 IP address or Domain Name to host on. The Domain Name
#                            must resolve.
#   -h,--help                Show this help text
```

For example:

```sh
ssb host-room "the-room" "Movie discussion on a cult-classic" room.lets-discuss.org
# Hosting room for 'net:room.lets-discuss.org:8008~shs:f2Ofh8qBvMNaQSI0RJTf7zr/NEfSOU/RuOXzCMNRu0M=:SSB+Room+PSK3TLYC2T86EHQCUHBUHASCASE18JBV24='
```

## Related Projects

 - [Cryptoscope's SSB](https://github.com/cryptoscope/ssb) - Scuttlebutt implementation in Golang
 - [Scuttlebutt Types](https://git.joeyh.name/git/haskell-scuttlebutt-types.git/) - data types for common Scuttlebutt messages
 - [Sunrise Choir's SSB](https://github.com/sunrise-choir) - Scuttlebutt implementation in Rust