An image hosting service on top of the LBRY protocol.
Find a file
2018-03-06 09:02:42 -08:00
auth removed console logs 2018-03-05 17:07:15 -08:00
config fixed merge conflicts 2018-03-05 20:30:16 -08:00
constants fixed the import statements; 2018-01-23 14:45:54 -08:00
controllers renamed functions appropriately 2018-03-05 15:38:26 -08:00
helpers split ga timing events into lbrynet and end-to-end 2018-03-06 09:02:42 -08:00
migrations added migration to change DOUBLE to DECIMAL 2017-11-08 07:25:21 -08:00
models made bcrypt password check into a promise 2018-03-05 16:37:22 -08:00
passport made bcrypt password check into a promise 2018-03-05 16:37:22 -08:00
public updated video css for previews 2018-03-04 12:17:03 -08:00
react removed console logs 2018-03-05 22:55:56 -08:00
routes split ga timing events into lbrynet and end-to-end 2018-03-06 09:02:42 -08:00
task-scripts made bcrypt password check into a promise 2018-03-05 16:37:22 -08:00
test added a test for logging in with a claim id 2018-03-05 19:22:42 -08:00
views removed unnecessary handlebars code 2018-02-23 11:17:59 -08:00
.eslintignore added end to end tests with chai 2017-12-15 07:24:29 -08:00
.eslintrc added standard-jsx to eslint and fixed issues 2018-02-21 17:02:57 -08:00
.gitignore added public/bundle to .gitignore 2018-02-23 18:02:42 -08:00
.sequelizerc added migrations for Claim column types 2017-11-07 14:47:41 -08:00
index.js renamed entry and bundle 2018-02-23 11:26:04 -08:00
LICENSE create initial LICENSE file 2018-02-05 12:43:14 -08: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 moved title, metaTag, and link utils into SEO component 2018-02-23 17:57:23 -08:00
README.md updated readme 2018-02-23 18:07:28 -08:00
webpack.client.common.js split webpack config into dev and prod 2018-02-23 16:59:45 -08:00
webpack.dev.js split webpack config into dev and prod 2018-02-23 16:59:45 -08:00
webpack.prod.js split webpack config into dev and prod 2018-02-23 16:59:45 -08:00
webpack.server.common.js split webpack config into dev and prod 2018-02-23 16:59:45 -08:00

Spee.ch

Spee.ch is a web app 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
    • create your speechConfig.js file
      • copy speechConfig.js.example and name it speechConfig.js
      • replace the null values in the config file with the appropriate values for your environment
    • build the app by running npm run build-prod
    • to start the server, run npm run start
  • visit localhost:3000

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

API

GET

  • /api/claim/resolve/:name/:claimId
    • example: curl https://spee.ch/api/claim/resolve/doitlive/xyz
  • /api/claim/list/:name
    • example: curl https://spee.ch/api/claim/list/doitlive
  • /api/claim/availability/:name (
    • returns true/false for whether a name is available through spee.ch
      • example: curl https://spee.ch/api/claim/availability/doitlive
  • /api/channel/availability/:name (
    • returns true/false for whether a channel is available through spee.ch * example: curl https://spee.ch/api/channel/availability/@CoolChannel

POST

  • /api/claim/publish
    • example: curl -X POST -F 'name=MyPictureName' -F 'file=@/path/to/myPicture.jpeg' https://spee.ch/api/claim/publish
    • Parameters:
      • name
      • file (must be type .mp4, .jpeg, .jpg, .gif, or .png)
      • 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)

bugs

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