Skip to main content
Version: 0.8.0

Skyhash 2 — Protocol Overview

Skyhash is the protocol used for communication between Skytable clients (client drivers or libraries) and the Skytable server, written on top of TCP. If you're building an application that needs to talk to Skytable, you'll usually choose a client library that works with your programming language and then start building your application.

However, if a client driver is not available for your language then you might choose to implement a client driver yourself and while it might sound like a complicated task, we've worked hard to make it as easy for for you to do so. If you've worked with string processing, what you're going to encounter is very similar.

Looking for error codes?

Did the server return an error code and you're trying to figure out what happened? Jump to this page on error codes.

New data types are constantly added!

We keep adding more and more data types with every release. So, if you're working to build a client, then consider keeping the type matching non-exhaustive, and if you encounter an unknown signature (that identifies the data type) then throw some sort of an exception indicating that your client does not support this data type yet.

Here are some good to know things, before a deep dive into the various pieces of the protocol:

  • The protocol is based on top of TCP, so if your programming language standard library has a TCP client (as most of them do) you can build a client
  • You might find the official implementation of the Rust client to be a good reference
  • If you need help, ask! (on Discord, ping us on Twitter, just reach out!)
  • If the documentation doesn't seem helpful or you find it confusing, open an issue on the docs repository. We'll fix it.

With all that out of the way, go ahead and dive in!