33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
|
# Hole Protocol
|
||
|
|
||
|
## Process of messaging
|
||
|
Each user have kind of a bin among freenet network,in which anyone can put message. And for each user this bin is his `USK insert` key. Each message signed by sender. And user can answer to sender, buy putting message at sender insert key if he know it.
|
||
|
|
||
|
## Message request
|
||
|
To receive a new message we have to send `ClientGet` to our `USK request` key with URI like `/user_id-message_version`. As well, the identifier is consists of `user_id-message_number`
|
||
|
For example:
|
||
|
```Bash
|
||
|
ClientGet
|
||
|
URI=USK@myMessageBinKey/messages/user5678-3
|
||
|
Identifier=request-user5678-3
|
||
|
Verbosity=0
|
||
|
ReturnType=direct
|
||
|
EndMessage
|
||
|
```
|
||
|
|
||
|
## Message sending
|
||
|
To send a message to a friend we putting it at his `USK insert` key, with URI like`/my_id-$(number_of_messages_to_this_user + 1)`. And identifier like `user_id-$(number_of_messages_to_this_user + 1)`
|
||
|
For example:
|
||
|
|
||
|
```Bash
|
||
|
ClientGet
|
||
|
URI=USK@myFriendBinKey/messages/user3246-5
|
||
|
Identifier=user3501-5
|
||
|
Verbosity=0
|
||
|
ReturnType=direct
|
||
|
EndMessage
|
||
|
```
|
||
|
|
||
|
## user IDs
|
||
|
- [ ] Probably, for each pair of each people we will have different identifier but... I'm not going to do it in further releases. *TODO*
|