1.9 KiB
1.9 KiB
dcrvsp
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 (TBD)
- Request fee amount (
-
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.
- Validate votebits provided in PayFee request are valid per current agendas.
Issue Tracker
The integrated github issue tracker is used for this project.
License
dcrvsp is licensed under the copyfree ISC License.