2020-05-19 16:53:11 +01:00
2020-05-19 16:13:48 +01:00
2020-05-18 15:19:35 +01:00
2020-05-19 16:53:11 +01:00
2020-05-18 15:19:35 +01:00
2020-05-19 14:24:02 +01:00
2020-05-19 10:55:25 +01:00
2020-05-17 07:49:53 +01:00
2020-05-17 07:49:53 +01:00

dcrvsp

Build Status ISC License Go Report Card

Design decisions

  • gin-gonic webserver for both front-end and API.
    • Success responses use HTTP status 200 and a JSON encoded body.
    • Error responses use either HTTP status 500 or 400, and a JSON encoded error in the body (eg. `{"error":"Description"}')
  • bbolt k/v database.
    • Tickets are stored in a single bucket, using ticket hash as the key and a json encoded representation of the ticket as the value.
  • wsrpc for dcrwallet comms.

MVP features

  • VSP API as described in dcrstakepool #574
    • Request fee amount (GET /fee)
    • Request fee address (POST /feeaddress)
    • Pay fee (POST /payFee)
    • Ticket status (POST /ticketstatus)
    • Set voting preferences (POST /setvotebits)
  • A minimal, static, web front-end providing pool stats and basic connection instructions.
  • Fees have an expiry period. If the fee is not paid within this period, the client must request a new fee. This enables the VSP to alter its fee rate.

Future features

  • Write database backups to disk periodically.
  • Backup over http.
  • Status check API call as described in dcrstakepool #628.
  • Accountability for both client and server changes to voting preferences.
  • Consistency checking across connected wallets.

Notes

  • dcrd must have transaction index enabled so getrawtransaction can be used.

Issue Tracker

The integrated github issue tracker is used for this project.

License

dcrvsp is licensed under the copyfree ISC License.

Description
No description provided
Readme 2.8 MiB
Languages
Go 86.2%
HTML 9.2%
CSS 2.9%
Shell 1.7%