Stream Wallet (RFC-125)
A period when the community can review the RFC (comment Docs)
Document Maintainers: Andi Gabriel Tan 2024. List of other contributors in Annex. 1.
Copyright: MIT license
Copyright © 2018-2024 Axiologic Research and Contributors.
This document is licensed under MIT license.
Abstract
This RFC provides information on wallet operations using streams.
1. Stream Wallet Creation
Create a wallet for the specified "userId" on the specified "domain". The operation creates the enclaves and stores the enclaveKeySSIs in the environment.json configuration. The "userId" is stored in a metadata.json file.
PUT /stream/{domain}/create-wallet/{userId}
1.1 Path Parameters
Name | Type | Value | Description |
---|---|---|---|
domain | string | *required | Wallet domain. |
userID | string | *required | UserId of the user that demands the wallet creation |
1.2 Responses
Status Code | Description |
---|---|
200 | Operation handled with success. Returns the keySSI of the newly created wallet. Schema: plain/text 29fgyfTQXJmJNni42zuJu3NXHgtUuXk3318NMMTrYKfj1gwAttt16rKq3vPCUjFV3KZeF9HJnaZ nW4FnN7t7zBQFKjdXBwX |
400 | Worker resolver error. |
500 | Invalid KeySSI. |
2. Streaming Wallet Content
Streaming the content of the "requestedPath" from the wallet identified with provided "keySSI".
GET /stream/{keySSI}/{requestedPath}
2.1 Path Parameters
Name | Type | Value | Description |
---|---|---|---|
keySSI | string | *required | KeySSI of the wallet in base58 encoding. |
requestPath | string | *required | Requested wallet path desired to be streamed. If it is empty, the whole wallet will be streamed. Example:/100MBFile.mp4. |
2.2 Request headers
Name | Type | Value | Description |
---|---|---|---|
range | string | *required | Range Standard Header. It should respect the standard. Example: bytes= 200-1000 |
requestPath | string | *required | Requested wallet path desired to be streamed. If it is empty, the whole wallet will be streamed. Example:/100MBFile.mp4. |
2.3 Responses
Status Code | Description |
---|---|
206 | Partial content was sent according to the range header. |
400 | Requires range header. |
500 | Internal stream component error. |
2.3.1 Responses Headers for HTTP Status Code 206
Header Name | Type | Description |
---|---|---|
Content-Range | string | Example: bytes 200-1000/50000 |
Accept-Ranges | string | Example: bytes |
Content-Length | string | Example: 800 |
Content-Type | string | Example: video/mp4 |
Contributors
-
Axiologic Research: New content and improvements. Original texts under PharmaLedger Association and Novartis funding. MIT licensed content accordingly with the contracts. Publish and maintain the www.opendsu.org site.
- PrivateSky Research Project: MIT licensed content accordingly with the contracts. https://profs.info.uaic.ro/~ads/PrivateSky/
Annex 1. Contributors
Current Editors | |
---|---|
Sînică Alboaie | sinica.alboaie@axiologic.net |
Rafael Mastaleru | raf@rms.ro |
Nicoleta Mihalache | nicoleta@axiologic.net |
Teodor Lupu | teodor@axiologic.net |
Contributors Axiologic Research | |
Adrian Ganga | adrian@axiologic.net |
Andi-Gabriel Țan | andi@axiologic.net |
Cosmin Ursache | cosmin@axiologic.net |
Daniel Sava | daniel@axiologic.net |
Nicoleta Mihalache | nicoleta@axiologic.net |
Teodor Lupu | teodor@axiologic.net |
Valentin Gérard | valentin@axiologic.net |
PrivateSky Contributors | |
Daniel Visoiu | visoiu.daniel.g@gmail.com (SGiant) |