{"id":37741477,"url":"https://github.com/justincpresley/ndn-sync","last_synced_at":"2026-01-16T14:10:32.171Z","repository":{"id":60824102,"uuid":"545250018","full_name":"justincpresley/ndn-sync","owner":"justincpresley","description":"ndn-sync: A Go Library for NDN Distributed Dataset Synchronization \"Sync\" Protocols.","archived":false,"fork":false,"pushed_at":"2024-02-28T03:53:47.000Z","size":424,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"production","last_synced_at":"2024-06-21T14:03:21.224Z","etag":null,"topics":["dataset","distributed","golang","multi-node-communication","named-data-networking","ndn-sync","network-protocol","synchronization"],"latest_commit_sha":null,"homepage":"https://pkg.go.dev/github.com/justincpresley/ndn-sync","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/justincpresley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-10-04T03:15:57.000Z","updated_at":"2024-03-03T02:52:59.000Z","dependencies_parsed_at":"2024-02-07T00:25:38.825Z","dependency_job_id":"b7d2afdc-b9f7-46bf-8994-670c0d3d9e82","html_url":"https://github.com/justincpresley/ndn-sync","commit_stats":{"total_commits":132,"total_committers":1,"mean_commits":132.0,"dds":0.0,"last_synced_commit":"e57bd02c8b2a93750f0b0dacf881677dc6341f20"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/justincpresley/ndn-sync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justincpresley%2Fndn-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justincpresley%2Fndn-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justincpresley%2Fndn-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justincpresley%2Fndn-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/justincpresley","download_url":"https://codeload.github.com/justincpresley/ndn-sync/tar.gz/refs/heads/production","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justincpresley%2Fndn-sync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479164,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: 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":["dataset","distributed","golang","multi-node-communication","named-data-networking","ndn-sync","network-protocol","synchronization"],"created_at":"2026-01-16T14:10:31.413Z","updated_at":"2026-01-16T14:10:32.163Z","avatar_url":"https://github.com/justincpresley.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n\r\n![Visual](/docs/README_VISUAL.png)\r\n\r\n[![Test](https://img.shields.io/github/actions/workflow/status/justincpresley/ndn-sync/test.yaml?branch=production\u0026label=Test)][1]\r\n[![CodeQL](https://img.shields.io/github/actions/workflow/status/justincpresley/ndn-sync/codeql.yml?branch=production\u0026label=CodeQL)][2]\r\n[![CodeFactor](https://img.shields.io/codefactor/grade/github/justincpresley/ndn-sync/production?label=CodeFactor)][3]\r\n[![Language](https://img.shields.io/github/go-mod/go-version/justincpresley/ndn-sync/production?label=Go)][4]\r\n[![Version](https://img.shields.io/github/v/tag/justincpresley/ndn-sync?label=Latest%20version)][5]\r\n[![Commits](https://img.shields.io/github/commits-since/justincpresley/ndn-sync/latest/production?label=Unreleased%20commits)][6]\r\n[![License](https://img.shields.io/github/license/justincpresley/ndn-sync?label=License)][7]\r\n\r\n\u003c/div\u003e\r\n\r\n***ndn-sync*** is a [Go](https://go.dev/) library implementing [Named Data Networking](https://named-data.net/) (NDN) Distributed Dataset Synchronization '*Sync*' Protocols that can be used to write various real-time NDN Applications.\r\n\r\nThe goal of '*Sync*' is to inform others about updates in a dataset and/or to learn\r\nabout newly published data, effectively synchronizing data in a group.\r\n***ndn-sync*** welcomes both newcomers and experts of NDN.\r\n\r\n***ndn-sync*** is implemented using the NDN library [go-ndn](https://github.com/zjkmxy/go-ndn).\r\n\r\n\r\n## Branches\r\n\r\n***ndn-sync*** contains two main branches with their differences described below:\r\n\r\n* [**production**](https://github.com/justincpresley/ndn-sync/tree/production): The master branch which holds Syncs along with any modifications to make them more stable/usable for applications. This branch is actively being served as a Go package.\r\n* [**specification**](https://github.com/justincpresley/ndn-sync/tree/specification): The side branch which holds Syncs in their original form according to their technical specification.\r\n\r\n\r\n## Usage\r\n\r\nBefore you utilize ***ndn-sync*** or try any of its examples, please ensure that you have the necessary [prerequisites](/docs/INSTALL.md). It will take but a few minutes!\r\n\r\n***ndn-sync*** is a library containing multiple modules (different Syncs), each with individual functionality and use.\r\n\r\nIt is highly recommended that you check out the examples. Sometimes, seeing the Syncs in action can give you ideas and help you in understanding what the Syncs provide.\r\n\r\n\r\n## Syncs\r\n\r\nThere are many Syncs!\r\n\r\nOnes that are being used in applications, others that are currently experiments,\r\nand some that have yet to be discovered. ***ndn-sync*** gladly accepts any\r\nkind of Sync protocol with a slight bias towards new and/or stable Syncs.\r\n\r\nThis [Sync Survey](https://named-data.net/wp-content/uploads/2021/05/ndn-0053-2-sync-survey.pdf)\r\ndescribes many of the Syncs that are currently known and their unique differences. It is a recommended read.\r\n\r\n***ndn-sync*** has the following Syncs implemented:\r\n\r\n* `svs` - **StateVectorSync**: [Details](/docs/syncs/SVS.md) | [API Documentation](https://pkg.go.dev/github.com/justincpresley/ndn-sync/pkg/svs) | [Examples](/examples/svs/README.md)\r\n\r\n\r\n## Contribution\r\n\r\nThe most effortless way you can contribute to ***ndn-sync*** is to simply [have discussions surrounding ***ndn-sync***](https://github.com/justincpresley/ndn-sync/discussions).\r\n\r\nIn addition, ***ndn-sync*** has more practical ways to get involved: [Issues](https://github.com/justincpresley/ndn-sync/issues) and [Pull Requests](https://github.com/justincpresley/ndn-sync/pulls).\r\n\r\n\r\n## License\r\n\r\n***ndn-sync*** is an open source project licensed under ISC. See LICENSE.md for more information.\r\n\r\n[1]: https://github.com/justincpresley/ndn-sync/actions/workflows/test.yaml\r\n[2]: https://github.com/justincpresley/ndn-sync/actions/workflows/codeql.yml\r\n[3]: https://www.codefactor.io/repository/github/justincpresley/ndn-sync\r\n[4]: https://go.dev/\r\n[5]: https://github.com/justincpresley/ndn-sync/releases\r\n[6]: https://github.com/justincpresley/ndn-sync/compare/v0.0.0-alpha.16...HEAD\r\n[7]: https://en.wikipedia.org/wiki/ISC_license\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustincpresley%2Fndn-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustincpresley%2Fndn-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustincpresley%2Fndn-sync/lists"}