dataserv
What is this?
Federated server for getting, pushing, and auditing data on untrusted nodes. Primarily used for capacity tests for Test Group B , as well as federated server based file transfer.
Setup
How to install and run on a clean install of Ubuntu 14.04 (LTS):
sh apt-get update apt-get upgrade apt-get install screen git python3 python-pip python-dev -y git clone https://github.com/Storj/dataserv cd dataserv python setup.py install cd dataserv touch dataserv.db python app.py
API
Registration
Registration of farmers into the database. All farmers must register with the node before they can perform any other actions.
GET /api/register/<bitcoin address>/
Success Example:
GET /api/register/191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc/
RESPONSE:
Status Code: 200
Text: User registered.
Fail Examples:
GET /api/register/notvalidaddress/
RESPONSE:
Status Code: 400
Text: Registration Failed: Invalid BTC Address.
GET /api/register/191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc/
RESPONSE:
Status Code: 409
Text: Registration failed: Address already is registered.
Ping-Pong
The farmer must maintain a rudimentary keep-alive with the node. This way we know if the farmer has gone offline, and that we should not issue more challenges.
GET /api/ping/<bitcoin address>/
Success Example:
GET /api/ping/191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc/ RESPONSE: Status Code: 200 Text: Ping accepted.
Fail Examples:
GET /api/ping/notvalidaddress/
RESPONSE:
Status Code: 400
Text: Ping failed: Invalid Bitcoin address.
GET /api/ping/1EawBV7n7f2wDbgxJfNzo1eHyQ9Gj77oJd/
RESPONSE:
Status Code: 404
Text: Ping Failed: Farmer not found.
Online Status
This API call was build to be human readable rather than machine readable. We get a simple list of the all the farmers, their addresses, their advertised height. We only display farmers that have done a ping in the last online_time minutes, which by default is 15 minutes.
GET /api/online/
Success Example:
GET /api/online/
RESPONSE:
Status Code: 200
Text:
1NeV1z5BMmFpCXgotwVeZjuN5k124W76MA | Last Seen: 14 second(s) | Height: 10
137x69jwmcyy4mYCBtQUVoxa21p9Fxyss5 | Last Seen: 7 second(s) | Height: 6234
14wLMb2A9APqrdXJhTQArYLyivmEAf7Y1r | Last Seen: 10 second(s) | Height: 431
18RZNu2nxTdeNyuDCwAMq8aBpgC3FFERPp | Last Seen: 3 second(s) | Height: 7634
1CgLoZT1ZuSHPBp3H4rLTXJvEUDV3kK7QK | Last Seen: 13 second(s) | Height: 245
1QACy1Tx5JFzGDyPd8J3oU8SrjhkZkru4H | Last Seen: 14 second(s) | Height: 88
Advertise Height
Allows the user to let the node know how much space they have generated via the client side generation scheme.
GET /api/height/<bitcoin address>/<height>/
Success Example:
GET /api/height/191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc/50/ RESPONSE: Status Code: 200 Text: Height accepted.
Fail Examples:
GET /api/height/notvalidaddress/50/
RESPONSE:
Status Code: 400
Text: Ping Failed: Invalid Bitcoin address.
GET /api/height/1EawBV7n7f2wDbgxJfNzo1eHyQ9Gj77oJd/50/
RESPONSE:
Status Code: 404
Text: Ping Failed: Farmer not found.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file dataserv-1.0.2.tar.gz.
File metadata
- Download URL: dataserv-1.0.2.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7b6d38e4f49759bcd802985cda1b0bb3ccad714c5d274bd84cf8ae30f6a2fe0
|
|
| MD5 |
954344e6425128f967b38d83e5831ee0
|
|
| BLAKE2b-256 |
05321967f4529d6cf728fe429d3a5231a4e0a04aceeb6f4e2af71ecf89dbd33f
|