RAIDA Filesystem Service (Command Group 10)

These services allow the RAIDA to create and modify folders and data objects. It is up to the client to stripe/mirror and sum objects.

Command Codes

Field Codes

Code Description
PT Is no more than 255 bytes. The full path of the folder. The path must be NULL-terminated. If the path starts with $ then the folder is the public folder and can be accessed by everyone.
PL Chunk payload
NO Number of objects
TY Object Type. 1 - Folder, 2 - Data
SZ Object size in bytes (just the slice for this RAIDAX)
FZ Object name length
ON Object name
KY KYC Key ID
FN Friendly Name. This is used to address people like "[email protected]"
PC Protocol Code. These are the names of folders on the RAIDA for the user's emails, instant messages and others.

Create Folder

The Create Folder service creates a folder on the RAIDA filesystem. The Root Path for the folder is located in the user's directory Folders/<UserID>. The user ID equals to the ID of the KYC key.

The maximum path length is 255 characters.

Example Request Body with four tokens:

CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH
PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT .. PT PT PT // Path to target 
3E 3E //Not Encrypted
Response Status Code
Success 250
Filesystem Error 200
Error Already Exists 201

Remove Folder

Recursively deletes a folder and all of its contents. Requires KYC permission.

CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH
PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT .. PT PT PT //path to target
3E 3E //Not Encrypted
Response Status Code
Success 250
Filesystem Error 200
Does not exist 202

Show Folder Contents

Displays content of a user folder. An object in the folder can be either another folder or a data file. Requires KYC permission.

CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH
PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT .. PT PT PT //Path to target
3E 3E //Not Encrypted

Response

NO NO
TY SZ SZ SZ SZ FZ ON ON ON ON ON ON ON ON ON ON
TY SZ SZ SZ SZ FZ ON ON ON ON ON ON ON ON ON ON
TY SZ SZ SZ SZ FZ ON ON ON ON ON ON ON ON ON ON
3E 3E //Not Encrypted
Response Status Code
Success 250
Filesystem Error 200
Does not exist 202

Show Any Folder Contents

Displays content of any folder of any user. The caller must specify the userid (KYC key number). Requires admin permission.

CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH
KY KY KY KY
PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT .. PT PT PT //Path to folder
3E 3E //Not Encrypted

Response

NO NO
TY SZ SZ SZ SZ FZ ON ON ON ON ON ON ON ON ON ON
TY SZ SZ SZ SZ FZ ON ON ON ON ON ON ON ON ON ON
TY SZ SZ SZ SZ FZ ON ON ON ON ON ON ON ON ON ON
3E 3E //Not Encrypted
Response Status Code
Success 250
Filesystem Error 200
Does not exist 202

Put Object

The service stores a binary chunk of any size below 4G in a RAIDA folder. The format of the chunk is up to the Client software.

The Client needs to provide the chunk size.

The maximum path length is 255 characters.

Example Request Body with four tokens:

CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH
SZ SZ SZ SZ
PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT .. PT PT PT //Path to folder
PL PL PL ... PL
3E 3E //Not Encrypted
Response Status Code
Success 250
Filesystem Error 200
Error Already Exists 201

Get Object

The service retrieves a binary chunk from the RAIDA.

The maximum path length is 255 characters.

Example Request Body with four tokens:

CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH
PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT .. PT PT PT
3E 3E //Not Encrypted

PT - is no more than 255 bytes. The full path of the folder. The path must be NULL-terminated.

Response

PL PL PL ... PL
3E 3E //Not Encrypted

PL - chunk payload

Response Status Code
Success 250
Filesystem Error 200
Does not Exist 202

Get Any Object

The service retrieves a binary chunk from the RAIDA. The chunk can belong to any user.

The maximum path length is 255 characters.

Example Request Body with four tokens:

CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH
KY KY KY KY
PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT .. PT PT PT
3E 3E //Not Encrypted

PT - is no more than 255 bytes. The full path of the folder. The path must be NULL-terminated.

KY - is KYC user key

Response

PL PL PL ... PL
3E 3E //Not Encrypted

PL - chunk payload

Response Status Code
Success 250
Filesystem Error 200
Does not Exist 202

Remove Object

The service removes a binary chunk from the RAIDA.

Example Request Body with four tokens:

CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH
PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT .. PT PT PT //file path
3E 3E //Not Encrypted
Response Status Code
Success 250
Filesystem Error 200
Does not Exist 202

Send Object

The service allows users to put files into the folders of other users. But, there are only a few folders the user can put files into. The folders that users can put files into are specified by the PC (Protocol Code). There will be folders like the .MIME that allow people to send emails to each other. A binary chunk of any size below 4G in another user's RAIDA folder.

The Client needs to provide the chunk size.

The maximum path length is 255 characters and must we use path codes that are four letters.

Protocol Codes (PC)

Code Description
MIME Email files with a .eml extension
MQTT Message Queuing Telemetry Transport
AMQP Advanced Message Queuing Protocol
DDS0 Data Distribution Service
XMPP Extensible Messaging and Presence Protocol
IRC0 Internet Relay Chat

Note, that each RAIDA must be able to do a DNS lookup to find the SN of the user. Each user will need to have an 'A' record in their domain. So [email protected] would be sean 0.0.78.230. The DN (Denomination Number) can be assumed to be a user account, admin account, etc.

Example Request to send an email\message or file attachment to another person.

CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH
SZ SZ SZ SZ
PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT PT .. PT PT PT //For future use. Can be left blank
PL PL PL ... PL //Payload. the file. Generally, emails should be txt or email file.
PC PC PC PC // Protocol Code. Four bytes fixed readable text. Such as "MAIL", "MQTT"
FN FN FN FN FN FN .... FN (255 characters fixed). This is the friendly name such as [email protected] 
🔴 DN SN SN SN SN // This is optional but should be used if it is here. 
3E 3E //Not Encrypted
Response Status Code
Success 250
Undeliverable, Specified User did not exist 203
Filesystem Error 200
Error Already Exists 201

Set ACL

This service allows setting access control lists for files and folders.

This service is planned for future implementation.

Get ACL

This service allows retrieving access control lists for files and folders.

This service is planned for future implementation.

Show Versions

This service allows viewing all available versions of a file.

This service is planned for future implementation.

Get Version

This service allows retrieving a specific version of a file.

This service is planned for future implementation.

Set Version

This service allows setting a file to a specific version.

This service is planned for future implementation.

Implementation Notes

  • • All file system operations require proper authentication via KYC keys
  • • Path lengths are limited to 255 characters maximum
  • • File objects can be up to 4GB in size
  • • Response codes 200-249 are reserved for error conditions
  • • Response code 250 indicates a successful operation
  • • Cross-user file sharing is limited to specific protocol folders