An image hosting service on top of the LBRY protocol.
Find a file
2017-09-20 09:49:05 -07:00
auth updated models 2017-09-15 14:41:47 -07:00
config changed bot name 2017-09-14 16:17:49 -07:00
controllers DRY input validations 2017-09-19 12:54:23 -07:00
helpers added channel validation 2017-09-19 15:39:54 -07:00
migrations finished basic loop for channel creation 2017-09-19 18:50:25 -07:00
models finished basic loop for channel creation 2017-09-19 18:50:25 -07:00
passport finished basic loop for channel creation 2017-09-19 18:50:25 -07:00
public finished validation on login page 2017-09-20 09:49:05 -07:00
routes finished basic loop for channel creation 2017-09-19 18:50:25 -07:00
views finished validation on login page 2017-09-20 09:49:05 -07:00
.eslintignore Edited code to be ES6, added eslint and some basic linting configuration 2017-06-17 22:51:30 +02:00
.eslintrc Semicolon rule added 2017-06-19 18:37:35 +02:00
.gitignore DRY input validations 2017-09-19 12:54:23 -07:00
package-lock.json Edited code to be ES6, added eslint and some basic linting configuration 2017-06-17 22:51:30 +02:00
package.json DRY input validations 2017-09-19 12:54:23 -07:00
README.md reconfigured env variables and mysql connection 2017-09-12 17:59:55 -07:00
speech.js finished basic loop for channel creation 2017-09-19 18:50:25 -07:00

spee.ch

spee.ch is a single-serving site that reads and publishes images and videos to and from the LBRY blockchain.

how to run this repository locally

  • start mysql
    • install mysql
    • create a database called lbry
    • save your connection username and password someplace handy
  • start lbrynet daemon
    • install the lbry daemon
    • start the lbry daemon
  • start spee.ch-sync
  • 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 username (MYSQL_USERNAME),
      • (2) your mysql password (MYSQL_PASSWORD),
      • (3) the environment to run (NODE_ENV).
      • i.e. LBRY_CLAIM_ADDRESS=<your wallet address here> MYSQL_USERNAME=<username here> MYSQL_PASSWORD=<password here> NODE_ENV=development node speech.js
      • e.g. LBRY_CLAIM_ADDRESS=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX MYSQL_USERNAME="lbry" MYSQL_PASSWORD="xxxxxx" NODE_ENV=development node speech.js
      • To run hot, use nodemon instead of node
  • visit localhost:3000

API

GET

  • /api/resolve/:name
    • a successfull request returns the resolve results for the claim at that name in JSON format
  • /api/claim_list/:name
    • a successfull request returns a list of claims at that claim name in JSON format
  • /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.

POST

  • /api/publish
    • request parameters:
      • body (form-data):
        • 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
        • nsfw: string, number, or boolean (optional)
          • defaults true
          • nsfw can be a string ("on"/"off"), number (0 or 1), or boolean (true/false)
      • files:
        • the files object submitted must use "speech" or "null" as the key for the file's value object
    • a successfull request will return the transaction details resulting from your published claim in JSON format

bugs

If you find a bug or experience a problem, please report your issue here on github and find us in the lbry slack!