2017-05-24 20:10:51 +02:00
|
|
|
# spee.ch
|
2017-08-19 00:12:43 +02:00
|
|
|
spee.ch is a single-serving site that reads and publishes images and videos to and from the [LBRY](https://lbry.io/) blockchain.
|
2017-03-29 19:28:35 +02:00
|
|
|
|
2017-06-05 19:50:13 +02:00
|
|
|
## how to run this repository locally
|
2017-06-18 19:07:14 +02:00
|
|
|
* start mysql
|
|
|
|
* install mysql
|
|
|
|
* create a database called `lbry`
|
|
|
|
* save your connection uri somewhere handy (you will need it when you start the server)
|
|
|
|
* the uri should be in the form `mysql://user:pass@host:port/dbname`
|
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-sync
|
2017-08-19 00:15:19 +02:00
|
|
|
* install and run this [`speech-sync`](https://github.com/billbitt/spee.ch-sync) tool
|
2017-08-19 00:12:43 +02:00
|
|
|
* start spee.ch
|
|
|
|
* clone this repo
|
|
|
|
* run `npm install`
|
|
|
|
* to start the server, from your command line run `node speech.js` while passing three environmental variables:
|
|
|
|
* (1) your lbry wallet address (`LBRY_CLAIM_ADDRESS`),
|
|
|
|
* (2) your mysql connection uri (`MYSQL_CONNECTION_STRING`),
|
|
|
|
* (3) the environment to run (`NODE_ENV`).
|
|
|
|
* i.e. `LBRY_CLAIM_ADDRESS=<your wallet address here> MYSQL_CONNECTION_STRING=<your connection uri here> NODE_ENV=development node speech.js`
|
|
|
|
* e.g. `LBRY_CLAIM_ADDRESS=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX MYSQL_CONNECTION_STRING=mysql://root:XXXXXX@localhost:3306/lbry NODE_ENV=development node speech.js`
|
|
|
|
* To run hot, use `nodemon` instead of `node`
|
2017-06-05 19:50:13 +02:00
|
|
|
* visit [localhost:3000](http://localhost:3000)
|
2017-03-29 19:28:35 +02:00
|
|
|
|
2017-06-27 00:16:46 +02:00
|
|
|
## API
|
|
|
|
|
|
|
|
#### GET
|
2017-06-27 02:16:46 +02:00
|
|
|
* /api/resolve/:name
|
2017-06-27 00:16:46 +02:00
|
|
|
* a successfull request returns the resolve results for the claim at that name in JSON format
|
2017-06-27 02:16:46 +02:00
|
|
|
* /api/claim_list/:name
|
2017-06-27 00:16:46 +02:00
|
|
|
* a successfull request returns a list of claims at that claim name in JSON format
|
2017-07-04 18:15:58 +02:00
|
|
|
* /api/isClaimAvailable/:name
|
|
|
|
* a successfull request returns a boolean: `true` if the name is still available, `false` if the name has already been published to by spee.ch.
|
2017-06-27 00:16:46 +02:00
|
|
|
|
|
|
|
#### POST
|
2017-06-27 02:16:46 +02:00
|
|
|
* /api/publish
|
2017-06-27 00:16:46 +02:00
|
|
|
* request parameters:
|
2017-06-27 02:16:46 +02:00
|
|
|
* body (form-data):
|
2017-06-27 04:26:37 +02:00
|
|
|
* name: string (optional)
|
|
|
|
* defaults to the file's name, sans extension
|
|
|
|
* names can only contain the following characters: `A-Z`, `a-z`, `_`, or `-`
|
|
|
|
* license: string (optional)
|
|
|
|
* defaults to "No License Provided"
|
|
|
|
* only "Public Domain" or "Creative Commons" licenses are allowed
|
2017-06-27 04:40:31 +02:00
|
|
|
* nsfw: string, number, or boolean (optional)
|
2017-06-27 04:26:37 +02:00
|
|
|
* defaults `true`
|
2017-06-27 04:40:31 +02:00
|
|
|
* nsfw can be a string ("on"/"off"), number (0 or 1), or boolean (`true`/`false`)
|
2017-06-27 00:16:46 +02:00
|
|
|
* files:
|
2017-06-27 04:26:37 +02:00
|
|
|
* the `files` object submitted must use "speech" or "null" as the key for the file's value object
|
2017-06-27 00:16:46 +02:00
|
|
|
* a successfull request will return the transaction details resulting from your published claim in JSON format
|
|
|
|
|
2017-06-12 02:32:31 +02:00
|
|
|
## bugs
|
|
|
|
If you find a bug or experience a problem, please report your issue here on github and find us in the lbry slack!
|