Status Services (Command Group 0)
Explains the Status Services of the RAIDA protocol.
Status Services (Command Group 0)
Status Services provide information about the RAIDA and its operations. These services allow for basic interaction with the RAIDA network to check connectivity, version information, and diagnostic data.
Command Code | Service | Description |
---|---|---|
00 | Echo | Sends a challenge handshake to test connection, encryption and mutual authenticate. |
01 | Version | Returns the version of the protocol |
02 | Status | Returns status and performance indicators for diagnostics (Not Implemented) |
03 | Count Coins | Returns the number of tokens on the RAIDA |
Byte Codes Used in Status Services
Byte Code | Meaning |
---|---|
CH | Challenge. Client's encrypted challenge that the servers must decrypt. Used for mutual authentication. |
3E | Ending bytes |
VE | Version of the code |
TO | Total coins |
AU | Authentication (Password) |
Echo
Echo tests connection and the encryption to ensure it is working. This echo is more for debugging than production work.
Typically it is enough to send 18 bytes in the body. But echo can accept more bytes between CH and 3E if necessary. For example if we want to test big packets we may want to send a bigger packet.
Request Body (18 bytes):
Reponse will have no body. The status code in the response header will be:
0xFA //Decimal code 250
Version
Command Group: 0
Command Number: 1
Request (no parameters)
Response: Success Status 250
Version (8 bytes)
Count Coins
Returns the total number of coins the RAIDA has. This value is not updated in real time but only once every 20 minutes. This time can be changed in the future.
Example Request Body:
Response Status | Code |
---|---|
Success | 250 |
Failure | 251 |
Response
Status
We can create a custom dashboard that will display the data as required. The raw data can be imported to a database such as MySQL or into a platform such as DataDog so that meaningful graphic reports can be generated for the purpose of marketing metrics, system tuning, planning and PR. These reports will be generated based on the "Standard Report Records" as shown below:
Sample Standard Reporting Record:
Date Time | IP Address | User Key | Service Command Number | Service Details | Execution Time Nanoseconds | Response Status |
---|---|---|---|---|---|---|
6/18/2024, 9:04:25 AM | 189.23.98.223 | e004af90-7a34-454d-af17-6aec64584fe7 | 8 | 10 TOKENS * | 5773 | 241 |
4 Bytes | 16 Bytes | 16 Bytes | 1 Byte | 23 Bytes | 2 Bytes | 2 Byte |
Note about Service Details
The first byte of the Service Details specifies if the Service Details are 8 bit or 5 bit. If the first byte is a zero, it uses 8 bit otherwise it uses 5 bit. See the 5 bit table below.
Data Collection Categories
Data is collected on the following subjects:
- Chronology. Such as the day and time when the most authentication requests occur.
- IP Address. Where in the world are authentications happening.
- Service Use. How many tokens were authenticated.
- Customer Key Use. What did a specific user do.
- Technical. Transaction completion times, number of transactions per second, etc.
Implementation
We have not implemented this yet because we do not know the specific needs for data. Each of the 25 RAIDA will be tasked with logging different commands. There are about 28 commands and each RAIDA can monitor one or two of them. This is one of the few services where the RAIDA returns more data than it receives. Thus it could be a target for a DDOS attack. To prevent any DDOS attacks, this service can only be accessed by Treasurers and Administrators.
Example Request Body:
Response Status | Code |
---|---|
Success | 250 |
Failure | 251 |
Five Bit Table
Dec | Letter |
---|---|
0 | 0/O |
1 | 1/I |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | A |
11 | B |
12 | C |
13 | D |
14 | E |
15 | F |
16 | G |
17 | H |
18 | J |
19 | K |
20 | L |
21 | M |
22 | N |
23 | P |
24 | Q |
25 | R |
26 | S |
27 | T |
28 | U |
29 | V |
30 | W |
31 | X |
32 | Y |
33 | Z |
Response Format
Implementation Status
This service is not fully implemented yet. The full functionality will be available in future updates of the RAIDA protocol.