{"id":27871317,"url":"https://github.com/uniquid/tank-c","last_synced_at":"2025-08-23T13:19:46.827Z","repository":{"id":94342105,"uuid":"107698497","full_name":"uniquid/tank-c","owner":"uniquid","description":"tank simulator - reference C implementation of a Uniquid machine node","archived":false,"fork":false,"pushed_at":"2019-10-22T12:34:52.000Z","size":85,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-04T23:38:23.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uniquid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-10-20T16:04:06.000Z","updated_at":"2019-10-22T12:34:54.000Z","dependencies_parsed_at":"2023-06-08T01:45:49.701Z","dependency_job_id":null,"html_url":"https://github.com/uniquid/tank-c","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/uniquid/tank-c","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniquid%2Ftank-c","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniquid%2Ftank-c/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniquid%2Ftank-c/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniquid%2Ftank-c/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uniquid","download_url":"https://codeload.github.com/uniquid/tank-c/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniquid%2Ftank-c/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271749047,"owners_count":24814114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-04T23:36:21.237Z","updated_at":"2025-08-23T13:19:46.818Z","avatar_url":"https://github.com/uniquid.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tank-c - tank simulator\n\n## C implementation of a Uniquid node\n\ntank-c is an application that demonstarte the Uniquid Identity and Access Management sdk using the uidcore-c library.\n\nIt builds on generic Linux\n\nIt requires:\n\n* libcurl\n* libpthread\n* uidcore-c\n* libpaho-mqtt\n\nThese packages should be enaugh to compile on a fresh installed Ubuntu 17.10\u003cbr\u003e\nbuild-essential\u003cbr\u003e\ncmake\u003cbr\u003e\nlibcurl4-openssl-dev\u003cbr\u003e\n\n## download\nclone with --recurse-submodules:\u003cbr\u003e\ngit clone --recurse-submodules git@github.com:uniquid/tank-c.git\u003cbr\u003e\ncd tank-c\n## build the project:\nmake\n## run\ncd bin\u003cbr\u003e\n./tank-c\n\n## how to use\n**provider**\n\n**tank-c** implements a Uniquid node with provider and user capabilities.\nThis is a simplified version of the tank-c used for the stress test of the infrastructure.\nAs user it can send rpc requests to another Uniquid node.\n\nThe provider, in addition to the systems reserved, implements the following RPC functions:\u003cbr\u003e\n\n**RPC 33** - echo\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;parameters:\n- \"string to be echoed\" -\n\n**RPC 34** - returns status information\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;parameters:\n- \"\" - none\n\n**RPC 35** - input faucet\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;parameters:\n- \"open\" - open the input faucet\n- \"close\" - closes the input faucet\n\n**RPC 36** - output faucet\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;parameters:\n- \"open\" - open the output faucet\n- \"close\" - closes the output faucet\n\n**RPC 37** - returns the tank status\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;parameters:\n- \"\" - none\n\n**user**\n\nThe user functionality is accessed from the console command line.\u003cbr\u003e\nType:\u003cbr\u003e\n\"ProviderName\" \"Method\" \"parameter\"\u003cbr\u003e\nto request the node \"ProviderName\" to execute method \"Method\" passing \"parameter\" to the method.\u003cbr\u003e\nEs.\u003cbr\u003e\nUID984fee057c6d 33 {\\\"hello\\\":\\\"world\\\"}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funiquid%2Ftank-c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funiquid%2Ftank-c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funiquid%2Ftank-c/lists"}