lykin/README.md

67 lines
2.6 KiB
Markdown
Raw Normal View History

2022-05-09 11:51:09 +00:00
# lykin
_Symbiosis of SSB, key-value store and web server._
## Introduction
lykin is a tutorial application funded by a Secure Scuttlebutt (SSB) community grant. It is intended to showcase one way in which an SSB application can be written using the [golgi](http://golgi.mycelial.technology) client library. The application is not intended for widespread or longterm use and will not be maintained as such; it is purely for demonstration purposes. Anyone is free to fork the repository and use it as the basis for their own application.
## Quickstart
Prerequisites: a running instance of go-sbot (see the [installation guide](https://github.com/ssbc/go-ssb#installation)).
Download, build and run lykin.
```
git clone https://git.coopcloud.tech/glyph/lykin.git
cd lykin
cargo build --release
RUST_LOG=lykin=info ./target/release/lykin
```
Open `localhost:8000` in your browser.
**Note**: by default, lykin attempts to connect to the go-sbot instance on port 8021. Set the `GO_SBOT_PORT` environment variable if you wish to use another port.
2022-05-09 11:51:09 +00:00
## Features
lykin presents an email inbox-like UI and functions as a Scuttlebutt reader application. It allows the user to subscribe to peers and read the root posts of those peers. Individual posts can be marked as read or unread.
A summary of the features:
- Subscribe to a peer (follow)
- Unsubscribe from a peer (unfollow)
- List subscribed peers
- List root posts for each peer
- Mark a post as read
- Mark a post as unread
- Fetch new posts
## Design
lykin has been built with the following components:
- [tera](https://crates.io/crates/tera) : templating engine
- [rocket](https://crates.io/crates/rocket/0.5.0-rc.1) : web server
- [golgi](https://crates.io/crates/golgi) : Scuttlebutt client library
- [sled](https://crates.io/crates/sled) : transactional embedded database (key-value store)
- [sbot](https://github.com/cryptoscope/ssb) : Scuttlebutt server (in our case, go-ssb)
## Documentation
This project is documented in the form of code comments and Rust doc comments. In order to generate and read the doc comments in a web browser, run the following command in the lykin repo:
`cargo doc --open --no-deps`
2022-05-09 11:51:09 +00:00
## Thanks
I am grateful to the Butts who voted to fund this work, all contributors to the SSBC and Erick Lavoie in particular - both for partially funding this work and for developing and overseeing the community grant process.
## Contact
I can be reached via email: [glyph@mycelial.technology](mailto:glyph@mycelial.technology) or Scuttlebutt: `@HEqy940T6uB+T+d9Jaa58aNfRzLx9eRWqkZljBmnkmk=.ed25519`.
## License
2022-08-11 10:44:14 +00:00
MIT.