{"id":18928825,"url":"https://github.com/lightninglabs/lndclient","last_synced_at":"2025-04-04T08:07:05.658Z","repository":{"id":37835468,"uuid":"272787127","full_name":"lightninglabs/lndclient","owner":"lightninglabs","description":"Golang client library for lnd","archived":false,"fork":false,"pushed_at":"2024-10-29T12:03:28.000Z","size":1536,"stargazers_count":49,"open_issues_count":5,"forks_count":43,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-10-29T13:32:02.510Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/lightninglabs.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}},"created_at":"2020-06-16T18:48:05.000Z","updated_at":"2024-10-29T11:51:50.000Z","dependencies_parsed_at":"2022-06-22T20:39:48.998Z","dependency_job_id":"9d0f7484-106a-4473-8d39-86920e1a9813","html_url":"https://github.com/lightninglabs/lndclient","commit_stats":{"total_commits":260,"total_committers":22,"mean_commits":"11.818181818181818","dds":0.7538461538461538,"last_synced_commit":"34c07e6a6c02ff451b1735f904426c579c4e445e"},"previous_names":[],"tags_count":132,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightninglabs%2Flndclient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightninglabs%2Flndclient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightninglabs%2Flndclient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightninglabs%2Flndclient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lightninglabs","download_url":"https://codeload.github.com/lightninglabs/lndclient/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247142064,"owners_count":20890652,"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-11-08T11:28:11.032Z","updated_at":"2025-04-04T08:07:05.636Z","avatar_url":"https://github.com/lightninglabs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Golang client library for lnd\n\n`lndclient` is a golang native wrapper for `lnd`'s gRPC interface.\n\n## Compatibility matrix\n\nThis library depends heavily on `lnd` for obvious reasons. To support backward\ncompatibility with older versions of `lnd`, we use different branches for\ndifferent versions. There are two \"levels\" of depending on a version of\n`lnd`:\n - Code level dependency: This is the version of `lnd` that is pulled in when\n   compiling `lndclient`. It is defined in `go.mod`. This usually is the latest\n   released version of `lnd`, because its RPC definitions are kept backward\n   compatible. This means that a new field added in the latest version of `lnd`\n   might already be available in `lndclient`'s code, but whether or not that\n   field will actually be set at run time is dependent on the actual version of\n   `lnd` that's being connected to.\n - RPC level dependency: This is defined in `minimalCompatibleVersion` in\n   [`lnd_services.go`](lnd_services.go). When connecting to `lnd`, the version\n   returned by its version service is checked and if it doesn't meet the minimal\n   required version defined in `lnd_services.go`, an error will be returned.\n   Users of `lndclient` can also overwrite this minimum required version when\n   creating a new client.\n\nThe current compatibility matrix reads as follows:\n\n| `lndclient` git tag                                                                   | `lnd` version in `go.mod` | minimum required `lnd` version | \n|---------------------------------------------------------------------------------------|---------------------------|--------------------------------|\n| `master` / [`v0.18.5-13`](https://github.com/lightninglabs/lndclient/blob/v0.18.5-13) | `v0.18.5-beta`            | `v0.18.5-beta`                 |\n\n\nBy default, `lndclient` requires (and enforces) the following RPC subservers to\nbe active in `lnd`:\n - `signrpc`\n - `walletrpc`\n - `chainrpc`\n - `invoicesrpc`\n\n## Branch strategy\n\nWe follow the following strategy to maintain different versions of this library\nthat have different `lnd` compatibilities:\n\n1. The `master` is always backward compatible with the last major version.\n2. We create branches for all minor versions and future major versions and merge PRs to those branches, if the features require that version to work.\n3. We rebase the branches if needed and use tags to track versions that we depend on in other projects.\n4. Once a new major version of `lnd` is final, all branches of minor versions lower than that are merged into master.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightninglabs%2Flndclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flightninglabs%2Flndclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightninglabs%2Flndclient/lists"}