vspd/README.md
2020-05-17 07:49:53 +01:00

1.9 KiB

dcrvsp

Build Status ISC License Go Report Card

Design decisions

  • gin-gonic webserver for both front-end and API.
    • API uses JSON encoded reqs/resps in HTTP body.
  • 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.

Issue Tracker

The integrated github issue tracker is used for this project.

License

dcrvsp is licensed under the copyfree ISC License.