{"id":23099975,"url":"https://github.com/keep-network/keep-common","last_synced_at":"2025-08-16T13:32:14.138Z","repository":{"id":37964486,"uuid":"206388769","full_name":"keep-network/keep-common","owner":"keep-network","description":"Common libraries and tools used across Keep repositories","archived":false,"fork":false,"pushed_at":"2024-04-24T09:43:34.000Z","size":1266,"stargazers_count":5,"open_issues_count":11,"forks_count":14,"subscribers_count":11,"default_branch":"main","last_synced_at":"2024-06-19T00:26:33.609Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/keep-network.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING.adoc","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}},"created_at":"2019-09-04T18:41:07.000Z","updated_at":"2024-04-24T09:43:38.000Z","dependencies_parsed_at":"2023-11-07T11:26:36.253Z","dependency_job_id":"e77b5796-c5eb-4a38-9830-282eeda86a61","html_url":"https://github.com/keep-network/keep-common","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-network%2Fkeep-common","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-network%2Fkeep-common/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-network%2Fkeep-common/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keep-network%2Fkeep-common/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keep-network","download_url":"https://codeload.github.com/keep-network/keep-common/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230039804,"owners_count":18163465,"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","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":"2024-12-16T23:29:16.807Z","updated_at":"2024-12-16T23:29:17.373Z","avatar_url":"https://github.com/keep-network.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"= `keep-common`\n\nhttps://github.com/keep-network/keep-common/actions/workflows/client.yml[image:https://img.shields.io/github/actions/workflow/status/keep-network/keep-common/client.yml?branch=main\u0026event=push\u0026label=Go build[Go build status]]\nhttps://docs.threshold.network[image:https://img.shields.io/badge/docs-website-green.svg[Docs]]\nhttps://discord.gg/threshold[image:https://img.shields.io/badge/chat-Discord-5865f2.svg[Chat with us on Discord]]\n\nCommon libraries and tools used across Keep repositories.\n\n== Directory structure\n\nThe directory structure used in the `keep-common` repository is the same as\nused on other Keep repositories, and very similar to that used in other Go\nprojects:\n\n```\nkeep-common/\n  tools/ \u003c1\u003e\n    generators/ \u003c2\u003e\n  pkg/ \u003c3\u003e\n    chain/\n      chain.go, *.go \u003c4\u003e\n      ethereum/\n        gen/\n          gen.go \u003c5\u003e\n    relay/\n      relay.go, *.go\n```\n\u003c1\u003e Keep tools have categorized directories here, which are typically Go\n    commands that can be used from other repositories.\n\u003c2\u003e Code generators in particular live in this subtree.\n\u003c3\u003e All additional Go packages live in `pkg/`.\n\u003c4\u003e The high-level interfaces for a package `mypackage` live in `mypackage.go`.\n    Packages like `chain` are interface packages that expose a common interface\n    to network and blockchain layers, for example. Their subpackages provide\n    particular implementations of these common interfaces, if these are\n    considered shared implementations..\n\u003c5\u003e When a package requires generated code, it should have a subpackage named\n    `gen/`. This subpackage should contain a single file, `gen.go`, with a\n    `// go:generate` annotation to trigger appropriate code generation. All code\n    generation is done with a single invocation of `go generate` at build time.\n\n== Installation\n\n* Clone this repo\n* Install go v1.18: `$ brew install go@1.18`\n* Generate go files: `$ go generate ./.../gen`\n* Build the project: `$ go build ./...`\n* Run tests: `$ go test ./...`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeep-network%2Fkeep-common","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeep-network%2Fkeep-common","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeep-network%2Fkeep-common/lists"}