Skip to content
/ tank-c Public

tank simulator - reference C implementation of a Uniquid machine node

License

Notifications You must be signed in to change notification settings

uniquid/tank-c

Repository files navigation

tank-c - tank simulator

C implementation of a Uniquid node

tank-c is an application that demonstarte the Uniquid Identity and Access Management sdk using the uidcore-c library.

It builds on generic Linux

It requires:

  • libcurl
  • libpthread
  • uidcore-c
  • libpaho-mqtt

These packages should be enaugh to compile on a fresh installed Ubuntu 17.10
build-essential
cmake
libcurl4-openssl-dev

download

clone with --recurse-submodules:
git clone --recurse-submodules git@github.com:uniquid/tank-c.git
cd tank-c

build the project:

make

run

cd bin
./tank-c

how to use

provider

tank-c implements a Uniquid node with provider and user capabilities. This is a simplified version of the tank-c used for the stress test of the infrastructure. As user it can send rpc requests to another Uniquid node.

The provider, in addition to the systems reserved, implements the following RPC functions:

RPC 33 - echo
    parameters:

  • "string to be echoed" -

RPC 34 - returns status information
    parameters:

  • "" - none

RPC 35 - input faucet
    parameters:

  • "open" - open the input faucet
  • "close" - closes the input faucet

RPC 36 - output faucet
    parameters:

  • "open" - open the output faucet
  • "close" - closes the output faucet

RPC 37 - returns the tank status
    parameters:

  • "" - none

user

The user functionality is accessed from the console command line.
Type:
"ProviderName" "Method" "parameter"
to request the node "ProviderName" to execute method "Method" passing "parameter" to the method.
Es.
UID984fee057c6d 33 {"hello":"world"}

About

tank simulator - reference C implementation of a Uniquid machine node

Resources

License

Stars

Watchers

Forks

Packages

No packages published