An image hosting service on top of the LBRY protocol.
Find a file
2017-06-26 17:24:41 -07:00
config route is properly pulling metadata 2017-06-26 10:43:35 -07:00
controllers tested publishing 2017-06-26 15:01:41 -07:00
helpers updated post api 2017-06-26 17:16:46 -07:00
models added height to db 2017-06-21 23:33:03 -07:00
public fixed the display of /claim/all 2017-06-23 12:53:19 -07:00
routes updated post api 2017-06-26 17:16:46 -07:00
views made image preview 100% 2017-06-23 14:07:17 -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 tested publishing 2017-06-26 15:01:41 -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 refactored publish controller and routes 2017-06-26 10:02:14 -07:00
README.md updated post api 2017-06-26 17:16:46 -07:00
server.js route is properly pulling metadata 2017-06-26 10:43:35 -07:00

spee.ch

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

how to run this repository locally

  • start lbry
    • install the lbry daemon (v0.13.1 or higher)
    • start the lbry daemon
  • 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
  • clone this repo
    • customize config/develpment.json by replacing the value of Database.PublishUploadPath with a string representing the local path where you want uploaded files to be stored.
  • run npm install
  • to start the server, from your command line run node server.js while passing three environmental variables: your lbry wallet address (LBRY_WALLET_ADDRESS), your mysql connection uri (MYSQL_CONNECTION_STRING), and the environment to run (NODE_ENV).
    • i.e. LBRY_WALLET_ADDRESS=<your wallet address here> MYSQL_CONNECTION_STRING=<your connection uri here> NODE_ENV=development node server.js
    • e.g. LBRY_WALLET_ADDRESS=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX MYSQL_CONNECTION_STRING=mysql://root:XXXXXX@localhost:3306/lbry NODE_ENV=development node server.js
    • To run hot, use nodemon instead of node
  • visit localhost:3000

site navigation

  • spee.ch
    • To publish a file, navigate to the homepage.
  • spee.ch/< the name of the claim >
    • To view the file with the largest bid at a claim.
    • E.g. spee.ch/doitlive.
  • spee.ch/< the name of the claim >/< the claim_id >
    • To view a specific file at a claim
    • E.g. spee.ch/doitlive/c496c8c55ed79816fec39e36a78645aa4458edb5
  • spee.ch/< the name of the claim >/all
    • To view a batch of files at a claim
    • E.g. spee.ch/doitlive/all

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

POST

  • /api/publish
    • request parameters:
      • body (form-data):
        • claim: string (optional, defults to the file's name sans extension)
        • license: string (optional, defaults to "No License Provided")
        • nsfw: string ("on"/"off") or boolean (true/false). (optional, defaults true)
      • files:
        • (the files object submitted must use "file1" 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!