Skip to content

TARAFramework/go-tara

Repository files navigation

go-tara

Build Status Join the chat at https://gitter.im/TARAFramework/go-tara Join our ZenDesk at https://app.zenhub.com/workspaces/tara-dev-5c3e1c26ca7fa74504b9153c/boards

Welcome to the implementation of TARA Framework in go language!
This reference implementation is heavy WIP.
Please use it with due considerations.

TARA CLI (PoC)

Installation

  1. Get the go-tara repo

    go get github.com/TARAFramework/go-tara
  2. Enter the go-tara repo in your $GOPATH/src

    cd $GOPATH/src/github.com/TARAFramework/go-tara/
  3. Run make for the executable

    make go-tara

Usage

  1. Navigate to go-tara repo as discussed above

  2. Open 3 terminals & execute the following commands one for each:

     ./go-tara -nodeid 1
     ./go-tara -nodeid 2
     ./go-tara -nodeid 3

Inputs

  1. The buffer will open on the terminal console for your inputs.

  2. If inputs end with a '?' character, the client request is relayed to Cluster 1 encoded by its key ID 100.

  3. If inputs do not end with a '?' character, the client request is relayed to Cluster 2 encoded by its key ID 101.

Other stuffs @ TARA

  1. Tara Paper - Working Draft by @0zAND1z. Presents the complete concepts, design approaches for a scalable RAFT Architecture that can handle more complex incoming client requests.
  2. TaraScope - Visual representation of a behavior of triplets.
  3. TARA.tla - The TLA+ Specification for RAFT along with tests.

Credits (and Thanks!)

The go-tara proof of concept is based on @lni's dragonboat multigroup implementation.
Link for the same is here: https://github.com/lni/dragonboat 💚

About

Implemetation of TARA Framework in Go language

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published