unlike parsec 1 and 2 which are part of Universa project, parsec 3 comms is a private Sergey Chernov project, that uses Universa experience to develop a new, faster, realtime but safe protocol which is not Universa-bound.
Go to file
2023-07-21 11:59:23 +01:00
gradle/wrapper initial commit, lets start 2022-08-25 23:16:22 +03:00
kotlin-js-store binary command protocol minimalistic test 2022-09-07 11:45:06 +03:00
notes +exception registry could be extended from inside adapter and transport 2022-12-10 14:07:10 +01:00
src 0.4.3-SNAPSHOT: disallow unintentionally overriding command implementations 2023-07-21 11:59:23 +01:00
.gitignore initial commit, lets start 2022-08-25 23:16:22 +03:00
build.gradle.kts 0.4.3-SNAPSHOT: disallow unintentionally overriding command implementations 2023-07-21 11:59:23 +01:00
gradle.properties added simple realtime server and client code (over ws0 2022-09-07 22:38:21 +03:00
gradlew initial commit, lets start 2022-08-25 23:16:22 +03:00
gradlew.bat initial commit, lets start 2022-08-25 23:16:22 +03:00
LICENSE.txt license. opening it for public 2023-01-19 11:22:46 +01:00
README.md improved KVStorage support 2023-01-20 02:55:12 +01:00
settings.gradle.kts initial commit, lets start 2022-08-25 23:16:22 +03:00

PARanodi SECuruty 3 protocol

License: MIT

Current stable version is 0.4.3-SNAPSHOT. The full-dpulex RPC over websock is ok, the security level is still disabled until the protocol part will be sabilized.

This is a connection-agnostic, kotlin multiplaftorm library providing full-duplex RPC type binary protocol, effective to work with binary data, such as encrypted data, keys, multimedia, etc. Default implementation uses websockets transport (binary frames) available on all supported platofrms (currently, JS and JVM).

Its key points are:

  • simple and practical transport RPC layer, which is a primary choice when, for exaple, wss:// level by TSL is enough, e.g. when there is no sensitive data being transmitted (games, etc).

  • ktor server integration out of the box

  • can easily be used with UDP (it has not too big binary frames that do not depend on the reception order)

  • asynchronous full-duplex multithreaded RPC: any number commands from both parties can be executed in parallel.

  • coroutine-based, fast implementation.

  • compile-time types/invokation checks

  • out of the box fast coroutine based websocket client (JVM+JS) and setver (JVM:ktor) implementations are provided.

  • Kotlin Multiplatform: works the same in JVM/JS (and android too)

The protocol is a result of reconsidering the pratcial usage of its predecessor, parsec2 protocol. This version is not a part of the Universa effort but an independent personal project of universa CTO.

Status

Transport layer for wbesockets is being tested in commercial environment, while its public interface still is in aplpha stage and is not yet frozen.

Secure layer is not yet published, as R&D and desting are still under way.

You can try and use transport layer but be prepared to minor interface changes.

Installation

repsitories {
    // ...
    maven("https://maven.universablockchain.com")

}

//...
    dependencies {
        api("net.sergeych:parsec3:0.4.3-SNAPSHOT")
    }

Usage

Please see as an example the test WsServerKtTest.kt

FAQ

Not yet

Why not github?

Two reasons:

  1. I don't want to depend on US crazy ideas like limit usage of its services to anybody who their governent won't like this week.
  2. My ethic is against usage of open source in paid services like GitHub's copilot.

Why not universa?

Again, two reasons:

  1. This is my own project, I don't want to get under any trademark, codes and whatever limits.

  2. Its security model is intended to be more universal than just universa to use more trust sources, so it is again not ethically adequate to develop it using universa resources.

LICENSE

MIT, see LICENSE.txt