{"id":34795557,"url":"https://github.com/koinos/koinos-grpc","last_synced_at":"2026-04-22T15:38:55.755Z","repository":{"id":104654947,"uuid":"585694483","full_name":"koinos/koinos-grpc","owner":"koinos","description":"The gRPC microservice translates and routes gRPC requests to other Koinos microservices.","archived":false,"fork":false,"pushed_at":"2025-03-13T22:03:17.000Z","size":129,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-13T23:22:57.639Z","etag":null,"topics":["grpc","koinos","microservice"],"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/koinos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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}},"created_at":"2023-01-05T20:40:51.000Z","updated_at":"2025-03-13T22:03:18.000Z","dependencies_parsed_at":"2024-03-13T13:48:43.126Z","dependency_job_id":"d3899d65-f4a1-4cd3-bdea-1e88f21fa1a6","html_url":"https://github.com/koinos/koinos-grpc","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/koinos/koinos-grpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koinos%2Fkoinos-grpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koinos%2Fkoinos-grpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koinos%2Fkoinos-grpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koinos%2Fkoinos-grpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koinos","download_url":"https://codeload.github.com/koinos/koinos-grpc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koinos%2Fkoinos-grpc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32143668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T15:33:03.595Z","status":"ssl_error","status_checked_at":"2026-04-22T15:30:42.712Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["grpc","koinos","microservice"],"created_at":"2025-12-25T10:42:58.960Z","updated_at":"2026-04-22T15:38:55.750Z","avatar_url":"https://github.com/koinos.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Koinos gRPC\n\nThis program implements the gRPC microservice, the tracking of unconfirmed transactions, for the Koinos Blockchain Framework.\n\n### Project Structure\n\nThis project's structure follows the [Pitchfork](https://api.csswg.org/bikeshed/?force=1\u0026url=https://raw.githubusercontent.com/vector-of-bool/pitchfork/develop/data/spec.bs) specification.\n\n```\n├── build/    # An ephemeral directory for building the project. Not checked in, but excluded via .gitignore.\n├── examples/ # Contains all source code and private headers for Koinos gRPC examples.\n├── src/      # Contains all source code and private headers for Koinos gRPC.\n└── tests/    # Contains tests for Koinos gRPC.\n```\n\n### Building\n\nKoinos gRPC's build process is configured using CMake. Additionally, all dependencies are managed through Hunter, a CMake drive package manager for C/C++. This means that all dependencies are downloaded and built during configuration rather than relying on system installed libraries.\n\n```\nmkdir build\ncd build\ncmake -D CMAKE_BUILD_TYPE=Release ..\ncmake --build . --config Release --parallel\n```\n\nYou can optionally run static analysis with Clang-Tidy during the build process. Static analysis is checked in CI and is required to pass before merging pull requests.\n\n```\ncmake -D CMAKE_BUILD_TYPE=Debug -D STATIC_ANALYSIS=ON ..\n```\n\n### Testing\n\nTests are built by default as target `grpc_tests`. You can building them specifically with:\n\n```\ncmake --build . --config Release --parallel --target grpc_tests\n```\n\nTests can be invoked from the tests directiory within the build directory.\n\n```\ncd tests\n./grpc_tests\n```\n\nTests can also be ran in parallel using CTest.\n\n```\ncd tests\nctest -j\n```\n\nYou can also generate a coverage report.\n\n```\ncmake -D CMAKE_BUILD_TYPE=Debug -D COVERAGE=ON ..\ncmake --build . --config Debug --parallel 3 --target coverage\n```\n\nYou can run tests in different sanitizer profiles. Those profiles are None (Default), Address, Stack, and Thread. Currently, these are only known to work with clang, but may work with gcc with additional environment configuration.\n\n```\ncmake -D CMAKE_BUILD_TYPE=Debug -D SANITIZER=Address ..\ncmake --build . --config Debug --parallel --target grpc_tests\ncd tests\nctest -j\n```\n\n### Formatting\n\nFormatting of the source code is enforced by ClangFormat. If ClangFormat is installed, build targets will be automatically generated. You can review the library's code style by uploading the included `.clang-format` to https://clang-format-configurator.site/.\n\nYou can build `format.check` to check formattting and `format.fix` to attempt to automatically fix formatting. It is recommended to check and manually fix formatting as automatic formatting can unintentionally change code.\n\n### Contributing\n\nAs an open source project, contributions are welcome and appreciated. Before contributing, please read our [Contribution Guidelines](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoinos%2Fkoinos-grpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoinos%2Fkoinos-grpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoinos%2Fkoinos-grpc/lists"}