spee.ch/README.md

61 lines
2.6 KiB
Markdown
Raw Normal View History

2018-02-24 03:07:28 +01:00
# Spee.ch
Spee.ch is a web app that reads and publishes images and videos to and from the [LBRY](https://lbry.io/) blockchain.
2017-03-29 19:28:35 +02:00
##Installation
* start mysql
* install mysql
* create a database called `lbry`
* save your connection `username` and `password` someplace handy
2017-08-19 00:12:43 +02:00
* start lbrynet daemon
2017-08-19 00:15:19 +02:00
* install the [`lbry`](https://github.com/lbryio/lbry) daemon
2017-08-19 00:12:43 +02:00
* start the `lbry` daemon
* start spee.ch
* clone this repo
* run `npm install`
* create your `
speechConfig.js` file
* copy `speechConfig.js.example` and name it `speechConfig.js`
2018-02-23 20:26:04 +01:00
* replace the `null` values in the config file with the appropriate values for your environment
2018-02-24 03:07:28 +01:00
* build the app by running `npm run build-prod`
* to start the server, run `npm run start`
2017-06-05 19:50:13 +02:00
* visit [localhost:3000](http://localhost:3000)
2018-03-08 18:41:22 +01:00
* start spee.ch-sync (optional, recommended)
* Note: this tool will decode blocks from the `lbry` blockchain and update the Claim and Certificate tables in mysql with all the claims from the blockchain. This is not necessary if you only want to host and resolve content published through your version of spee.ch, but it is required if you want to retrieve and host other content from the lbry network.
* install and run this [`speech-sync`](https://github.com/billbitt/spee.ch-sync) tool
2017-03-29 19:28:35 +02:00
2017-12-19 00:23:23 +01:00
## Tests
* Spee.ch uses `mocha` with `chai` for testing.
* To run all tests that do not require LBC, run `npm test -- --grep @usesLbc --invert`
* To run all tests, including those that require LBC (like publishing), simply run `npm test`
2017-06-27 00:16:46 +02:00
## API
#### GET
2018-02-07 06:55:04 +01:00
* /api/claim/resolve/:name/:claimId
2018-03-08 18:34:23 +01:00
* example: `curl https://spee.ch/api/claim/resolve/doitlive/xyz`
2018-02-07 06:55:04 +01:00
* /api/claim/list/:name
2018-03-08 18:34:23 +01:00
* example: `curl https://spee.ch/api/claim/list/doitlive`
* /api/claim/availability/:name
* returns the name if it is available
* example: `curl https://spee.ch/api/claim/availability/doitlive`
* /api/channel/availability/:name
* returns the name if it is available
* example: `curl https://spee.ch/api/channel/availability/@CoolChannel`
2017-06-27 00:16:46 +02:00
#### POST
2018-02-07 06:55:04 +01:00
* /api/claim/publish
2018-03-08 18:34:23 +01:00
* example: `curl -F 'name=MyPictureName' -F 'file=@/path/to/myPicture.jpeg' https://spee.ch/api/claim/publish`
2017-10-06 00:37:20 +02:00
* Parameters:
2017-11-03 21:37:23 +01:00
* `name`
2017-12-05 19:18:49 +01:00
* `file` (must be type .mp4, .jpeg, .jpg, .gif, or .png)
2017-11-03 21:37:23 +01:00
* `nsfw` (optional)
* `license` (optional)
* `title` (optional)
* `description` (optional)
* `thumbnail` url to thumbnail image, for .mp4 uploads only (optional)
* `channelName`(optional)
* `channelPassword` (optional,; required if `channelName` is provided)
2017-06-27 00:16:46 +02:00
2018-03-08 18:41:22 +01:00
## Bugs
2017-12-22 04:31:39 +01:00
If you find a bug or experience a problem, please report your issue here on github and find us in the lbry discord!