83 lines
2.2 KiB
Markdown
83 lines
2.2 KiB
Markdown
# LBRY Hub
|
|
|
|
A hub provides back-end services to LBRY clients. Services include
|
|
|
|
- URL resolution
|
|
- search
|
|
- wallet services (getting and sending transactions, address subscription)
|
|
- hub federation and discovery
|
|
|
|
This project will eventually subsume and replace the
|
|
[wallet server](https://github.com/lbryio/lbry-sdk/blob/v0.92.0/docker/Dockerfile.wallet_server)
|
|
and the [lighthouse](https://github.com/lbryio/lighthouse) search provider.
|
|
|
|
![](./diagram.png)
|
|
|
|
## Installation
|
|
|
|
No install instructions yet. See Contributing below.
|
|
|
|
## Usage
|
|
|
|
### Prerequisite: run python block processor and search plugin
|
|
|
|
Follow the instructions [here](https://lbry.tech/resources/wallet-server).
|
|
|
|
### Run this hub
|
|
|
|
```bash
|
|
./hub serve
|
|
```
|
|
|
|
### Search for stuff
|
|
|
|
```bash
|
|
./hub search text goes here
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Contributions to this project are welcome, encouraged, and compensated. Details [here](https://lbry.tech/contribute).
|
|
|
|
### Dev Dependencies
|
|
|
|
Install Go 1.14+
|
|
|
|
- Ubuntu: `sudo add-apt-repository ppa:longsleep/golang-backports && sudo apt install golang-go`
|
|
- OSX: `brew install go`
|
|
- Windows https://golang.org/doc/install
|
|
|
|
Download `protoc` from https://github.com/protocolbuffers/protobuf/releases and make sure it is
|
|
executable and in your path.
|
|
|
|
Install Go plugin for protoc:
|
|
|
|
```
|
|
go get google.golang.org/protobuf/cmd/protoc-gen-go google.golang.org/grpc/cmd/protoc-gen-go-grpc
|
|
```
|
|
|
|
If you can run `./protobuf/build.sh` without errors, you have `go` and `protoc` installed correctly.
|
|
|
|
Finally, run the block processor as described under Usage.
|
|
|
|
### Running from Source
|
|
|
|
Run `./dev.sh` to start the hub. The script will restart the hub as you make changes to `*.go` files.
|
|
|
|
To search, use `go run . search text goes here`.
|
|
|
|
#### Windows
|
|
|
|
reflex doesn't work on windows, so you'll need to run `go run . serve` and restart manually as you make changes.
|
|
|
|
## License
|
|
|
|
This project is MIT licensed. For the full license, see [LICENSE](LICENSE).
|
|
|
|
## Security
|
|
|
|
We take security seriously. Please contact security@lbry.com regarding any security issues. [Our PGP key is here](https://lbry.com/faq/pgp-key) if you need it.
|
|
|
|
## Contact
|
|
|
|
The primary contact for this project is [@lyoshenka](https://github.com/lyoshenka) ([grin@lbry.com](mailto:grin@lbry.com)).
|