to effectively monitor the Plasma network, not only the uptime of the validators (hidden from the internet behind sentinel nodes), but also their sync status is relevant. A simple ping does not suffice, hence the following heartbeat collector service is proposed. It will allow to:
monitor reliability of validators before they are given a slot
provide additional metrics for Game of Stakes
better ability to debug off-time
POST /heartbeat {
"operatorContractAddress": "0x1234",
"slotId": 123, // optional
"ethBlockHeight": 123,
"tendermintBlockHeight": 123,
"timestamp": 123, // in seconds
"r": "0x1234",
"s": "0x1234",
"v": 27/28
} => HTTP status code
on receiving, signer address recovery will be attempted as follows:
if slot given, and signer address does not match signerAddr of slot, HTTP 401 will be returned. signerAddr and receiving timestamp will be added to data. data will be stored in an event store. The following endpoint should allow to retrieve the data for last 24 hours:
GET /status/<operatorContractAddress> => {
"<signerAddr>": [{
"receiveTime": 123, // in seconds
"timestamp": 123, // in seconds
"slotId": 123, // optional
"ethBlockHeight": 123,
"tendermintBlockHeight": 123,
},{..},{..},..
],
"<signerAddr2>": {}
}
Scope
require less than $5/month of running cost
provide fail-over
provide SSL api endpoint (with automatic certificate rotation)
provide load-balancing
provide database backup
provide CD from repo master branch
Deliverables
code
test
deployed API and database
Gain for the project
ability to run multiple validators
Roles
bounty gardener: @johannbarbie / 15%
bounty worker: name / share
bounty reviewer: name / share
Bounty
to effectively monitor the Plasma network, not only the uptime of the validators (hidden from the internet behind sentinel nodes), but also their sync status is relevant. A simple ping does not suffice, hence the following heartbeat collector service is proposed. It will allow to:
on receiving, signer address recovery will be attempted as follows:
if slot given, and signer address does not match signerAddr of slot, HTTP 401 will be returned. signerAddr and receiving timestamp will be added to data. data will be stored in an event store. The following endpoint should allow to retrieve the data for last 24 hours:
Scope
Deliverables
Gain for the project
Roles
bounty gardener: @johannbarbie / 15% bounty worker: name / share bounty reviewer: name / share