{"id":18402563,"url":"https://github.com/wingkwong/grpc-playground","last_synced_at":"2026-03-19T04:13:18.670Z","repository":{"id":95977875,"uuid":"261655380","full_name":"wingkwong/gRPC-playground","owner":"wingkwong","description":"My gRPC Playground","archived":false,"fork":false,"pushed_at":"2023-12-15T17:27:06.000Z","size":5,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-10T12:32:17.758Z","etag":null,"topics":["gprc","learning-playground","protobuf3"],"latest_commit_sha":null,"homepage":null,"language":null,"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/wingkwong.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},"funding":{"github":"wingkwong","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2020-05-06T04:55:09.000Z","updated_at":"2023-04-15T15:21:22.000Z","dependencies_parsed_at":"2024-11-06T03:21:26.555Z","dependency_job_id":null,"html_url":"https://github.com/wingkwong/gRPC-playground","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wingkwong/gRPC-playground","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingkwong%2FgRPC-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingkwong%2FgRPC-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingkwong%2FgRPC-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingkwong%2FgRPC-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wingkwong","download_url":"https://codeload.github.com/wingkwong/gRPC-playground/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingkwong%2FgRPC-playground/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29490360,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T19:29:10.908Z","status":"ssl_error","status_checked_at":"2026-02-15T19:29:10.419Z","response_time":118,"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":["gprc","learning-playground","protobuf3"],"created_at":"2024-11-06T02:42:49.711Z","updated_at":"2026-02-15T22:06:14.168Z","avatar_url":"https://github.com/wingkwong.png","language":null,"funding_links":["https://github.com/sponsors/wingkwong"],"categories":[],"sub_categories":[],"readme":"# gRPC-playground\nMy gRPC Playground\n\n## Define a protocol message\n\n- Name of the message: UpperCamelCase\n- Name of the field: lower_snake_case\n- Some scalar-value data types:\n    - string, bool, bytes\n    - float, double\n    - int32, int64, unit32, unit64, sint32, sint64, etc.\n- Data types can be user-defined enums or other messages\n    - is an arbitrary interger\n        - from 1 to 2^29-1\n        - except from 19,000 to 19,999 (reserved)\n    - from 1 to 15 take 1 byte\n    - don't need to be in-order or sequential\n    - must be unique for same-level fields\n\n```\nsyntax = \"proto3\"\n\nmessage \u003cNameOfTheMessage\u003e {\n    \u003cdata-type\u003e name_of_field_1 = tag_1;\n    \u003cdata-type\u003e name_of_field_2 = tag_2;\n    \u003cdata-type\u003e name_of_field_3 = tag_3;\n}\n```\n\n## Install\n\nInstall protobuf\n```bash\nbrew install protobuf\n```\n\nInstall gRPC\n```bash\nexport GO111MODULE=on # Enable module-aware mode\ngo get google.golang.org/grpc@v1.28.1\n```\n\nInstall ``protoc`` plugin for Go\n```bash\ngo get github.com/golang/protobuf/protoc-gen-go\n```\n\nUpdate ``PATH`` so that the ``protoc`` compiler can find the plugin:\n```\nexport PATH=\"$PATH:$(go env GOPATH)/bin\"\n```\n\n## Generate gPRC Code\n```\nprotoc proto/*.proto --go_out=plugins=grpc:pkg\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwingkwong%2Fgrpc-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwingkwong%2Fgrpc-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwingkwong%2Fgrpc-playground/lists"}