diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 76d4263..e3ddfdf 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,21 +4,9 @@
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -91,9 +79,9 @@
-
+ {
+ "associatedIndex": 6
+}
@@ -104,24 +92,33 @@
- {
+ "keyToString": {
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "dart.analysis.tool.window.visible": "false",
+ "git-widget-placeholder": "master",
+ "node.js.detected.package.eslint": "true",
+ "node.js.detected.package.tslint": "true",
+ "node.js.selected.package.eslint": "(autodetect)",
+ "node.js.selected.package.tslint": "(autodetect)",
+ "nodejs_package_manager_path": "npm",
+ "vue.rearranger.settings.migration": "true"
},
- "keyToStringList": {
- "stardust.markdown.MarkdownSplitEditorSuppressor:keyList": [
- "C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/LICENSE.md",
- "C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/RPC-Communication.md",
- "C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/Speficiations.md",
- "C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/UUID-v4.md",
- "C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/starter-topic.md"
+ "keyToStringList": {
+ "stardust.markdown.MarkdownSplitEditorSuppressor:keyList": [
+ "C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/LICENSE.md",
+ "C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/RPC-Communication.md",
+ "C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/Speficiations.md",
+ "C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/UUID-v4.md",
+ "C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/starter-topic.md"
]
}
-}]]>
+}
+
+
+
+
+
@@ -138,8 +135,82 @@
1725301232290
-
+
+
+
+
+ 1725301320766
+
+
+
+ 1725301320766
+
+
+
+ 1725301413291
+
+
+
+ 1725301413291
+
+
+
+ 1725303392965
+
+
+
+ 1725303392965
+
+
+
+ 1725303438083
+
+
+
+ 1725303438083
+
+
+
+ 1725303543837
+
+
+
+ 1725303543837
+
+
+
+ 1725303621421
+
+
+
+ 1725303621421
+
+
+
+ 1725304137750
+
+
+
+ 1725304137750
+
+
+
+ 1725304381274
+
+
+
+ 1725304381274
+
+
+
+ 1725305307476
+
+
+
+ 1725305307476
+
+
@@ -147,6 +218,16 @@
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index f4afd7d..a5c1760 100644
--- a/README.md
+++ b/README.md
@@ -53,6 +53,7 @@ This project is licensed under GNU Free Documentation License v1.3, see the [LIC
* [Table of contents](#table-of-contents)
* [Specifications](#specifications)
* [UUID v4](#uuid-v4)
+ * [DNS Handshake](#dns-handshake)
* [RPC Communication](#rpc-communication)
* [Notification & Request-Response Communication](#notification--request-response-communication)
* [Request Object](#request-object)
@@ -89,6 +90,22 @@ consumed for the variant.
Source: [Wikipedia](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random))
+## DNS Handshake
+
+When a client wants to connect to a Socialbox server, it first needs to perform a DNS handshake to discover the server
+URL. Typically, the Socialbox server is hosted on a subdomain like socialbox.example.com. To determine this, the client
+must first resolve the main domain, example.com, and get a TXT record that contains the URL of the Socialbox instance.
+The required TXT record should be placed in the main domain’s DNS records with this format:
+
+```text
+example.com. IN TXT "socialbox=socialbox.example.com"
+```
+
+Here, socialbox is the key, and the value is the URL of the Socialbox instance. The client resolves the main domain to
+retrieve the TXT record, which then provides the URL of the Socialbox server.The client uses this URL to establish a
+connection to the Socialbox server. This process allows the client to dynamically discover the server URL.
+
+
## RPC Communication
Socialbox employs JSON-RPC over HTTP for server-client & server-server communication. JSON-RPC is a stateless,