{"id":15058828,"url":"https://github.com/trustbloc/orb","last_synced_at":"2025-10-07T23:28:55.850Z","repository":{"id":37081552,"uuid":"321781747","full_name":"trustbloc/orb","owner":"trustbloc","description":"A DID method implementation that extends the Sidetree protocol into a Fediverse of interconnected nodes and witnessed using certificate transparency. Spec: https://trustbloc.github.io/did-method-orb/","archived":false,"fork":false,"pushed_at":"2024-01-26T17:14:18.000Z","size":6582,"stargazers_count":35,"open_issues_count":26,"forks_count":22,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-10-04T05:47:32.255Z","etag":null,"topics":["activitypub","certificate-transparency","content-addressable-storage","decentralized-identifiers","did-method","fediverse","ipfs","sidetree"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trustbloc.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}},"created_at":"2020-12-15T20:30:06.000Z","updated_at":"2024-05-30T10:35:36.000Z","dependencies_parsed_at":"2022-07-08T19:01:55.581Z","dependency_job_id":"7f5e5d08-1e60-437c-8364-4ef19a1dd050","html_url":"https://github.com/trustbloc/orb","commit_stats":{"total_commits":841,"total_committers":13,"mean_commits":64.6923076923077,"dds":0.6171224732461356,"last_synced_commit":"b105f1edbf5cef63995c90b9e854b433fc279ff8"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/trustbloc/orb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Forb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Forb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Forb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Forb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trustbloc","download_url":"https://codeload.github.com/trustbloc/orb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Forb/sbom","scorecard":{"id":900021,"data":{"date":"2025-08-11","repo":{"name":"github.com/trustbloc/orb","commit":"b105f1edbf5cef63995c90b9e854b433fc279ff8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: no topLevel permission defined: .github/workflows/publish.yaml:1","Warn: no topLevel permission defined: .github/workflows/sonar.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 7/15 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:104: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:129: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:147: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:173: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:176: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:179: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:186: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:201: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:217: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yaml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/publish.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/publish.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/publish.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yaml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/publish.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yaml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/publish.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/publish.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yaml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/publish.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yaml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/publish.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sonar.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/sonar.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/sonar.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/trustbloc/orb/sonar.yml/main?enable=pin","Warn: containerImage not pinned by hash: images/orb-driver/Dockerfile:11","Warn: containerImage not pinned by hash: images/orb-test/Dockerfile:11","Warn: containerImage not pinned by hash: images/orb/Dockerfile:11","Info:   0 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  14 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.0.0 not signed: https://api.github.com/repos/trustbloc/orb/releases/112171348","Warn: release artifact v1.0.0-rc7 not signed: https://api.github.com/repos/trustbloc/orb/releases/107882079","Warn: release artifact v1.0.0-rc6 not signed: https://api.github.com/repos/trustbloc/orb/releases/102498649","Warn: release artifact v1.0.0-rc5 not signed: https://api.github.com/repos/trustbloc/orb/releases/100677876","Warn: release artifact v1.0.0-rc4 not signed: https://api.github.com/repos/trustbloc/orb/releases/82876942","Warn: release artifact v1.0.0 does not have provenance: https://api.github.com/repos/trustbloc/orb/releases/112171348","Warn: release artifact v1.0.0-rc7 does not have provenance: https://api.github.com/repos/trustbloc/orb/releases/107882079","Warn: release artifact v1.0.0-rc6 does not have provenance: https://api.github.com/repos/trustbloc/orb/releases/102498649","Warn: release artifact v1.0.0-rc5 does not have provenance: https://api.github.com/repos/trustbloc/orb/releases/100677876","Warn: release artifact v1.0.0-rc4 does not have provenance: https://api.github.com/repos/trustbloc/orb/releases/82876942"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"61 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2022-1098 / GHSA-2chg-86hq-7w38","Warn: Project is vulnerable to: GO-2024-2818 / GHSA-3jgf-r68h-xfqm","Warn: Project is vulnerable to: GO-2024-3189 / GHSA-27vh-h6mc-q6g8","Warn: Project is vulnerable to: GO-2023-2096 / GHSA-9xfq-8j3r-xp5g","Warn: Project is vulnerable to: GO-2023-2101 / GHSA-pffg-92cg-xf5c","Warn: Project is vulnerable to: GO-2023-2334 / GHSA-2c7c-3mj9-8fqh","Warn: Project is vulnerable to: GO-2024-2631 / GHSA-c5q2-7r4c-mv6g","Warn: Project is vulnerable to: GO-2025-3485 / GHSA-c6gw-w398-hv78","Warn: Project is vulnerable to: GO-2025-3372 / GHSA-6wxm-mpqj-6jpf","Warn: Project is vulnerable to: GO-2022-0322 / GHSA-cg3q-j54f-5p7p","Warn: Project is vulnerable to: GO-2021-0106 / GHSA-jpf8-h7h7-3ppm","Warn: Project is vulnerable to: GO-2023-2402 / GHSA-45x7-px36-x8w8","Warn: Project is vulnerable to: GO-2024-3321 / GHSA-v778-237x-gjrc","Warn: Project is vulnerable to: GO-2025-3487 / GHSA-hcg3-q754-cr77","Warn: Project is vulnerable to: GO-2023-1495 / GHSA-fxg5-wq6x-vr4w","Warn: Project is vulnerable to: GO-2022-1144 / GHSA-xrjj-mj9h-534m","Warn: Project is vulnerable to: GO-2023-1571 / GHSA-vvpx-j8f3-3w6h","Warn: Project is vulnerable to: GO-2023-1988 / GHSA-2wrh-6pvc-2jm9","Warn: Project is vulnerable to: GO-2023-2102 / GHSA-4374-p667-p6c8","Warn: Project is vulnerable to: GO-2023-2153 / GHSA-m425-mq94-257g / GHSA-qppj-fm5r-hxr3","Warn: Project is vulnerable to: GO-2024-2687 / GHSA-4v7x-pqxf-cx7m","Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw","Warn: Project is vulnerable to: GO-2024-2611 / GHSA-8r3f-844c-mc37","Warn: Project is vulnerable to: GO-2023-2113 / GHSA-rcjv-mgp8-qvmr","Warn: Project is vulnerable to: GO-2022-0635","Warn: Project is vulnerable to: GO-2022-0646","Warn: Project is vulnerable to: GO-2025-3770","Warn: Project is vulnerable to: GO-2024-2500 / GHSA-3fwx-pjgw-3558","Warn: Project is vulnerable to: GO-2024-2913 / GHSA-v994-f8vw-g7j4","Warn: Project is vulnerable to: GO-2024-2914 / GHSA-xmmx-7jpf-fx42","Warn: Project is vulnerable to: GO-2022-0390 / GHSA-2mm7-x5h6-5pvq","Warn: Project is vulnerable to: GO-2022-0985 / GHSA-rc4r-wh2q-q6c4","Warn: Project is vulnerable to: GO-2022-1107 / GHSA-vp35-85q5-9f25","Warn: Project is vulnerable to: GO-2023-1699 / GHSA-232p-vwff-86mp","Warn: Project is vulnerable to: GO-2023-1700 / GHSA-33pg-m6jh-5237","Warn: Project is vulnerable to: GO-2023-1701 / GHSA-6wrf-mxfj-pf5p","Warn: Project is vulnerable to: GHSA-jq35-85cj-fj4p","Warn: Project is vulnerable to: GHSA-mq39-4gv4-mvpx","Warn: Project is vulnerable to: GO-2024-3005 / GHSA-v23v-6jw2-98fq","Warn: Project is vulnerable to: GO-2024-2512 / GHSA-xw73-rw38-6vjc","Warn: Project is vulnerable to: GO-2025-3829 / GHSA-4vq8-7jfc-9cvp","Warn: Project is vulnerable to: GO-2022-0274 / GHSA-v95c-p5hm-xq8f","Warn: Project is vulnerable to: GO-2022-0452 / GHSA-f3fp-gc8g-vw66","Warn: Project is vulnerable to: GO-2023-1683 / GHSA-g2j6-57v7-gm8c","Warn: Project is vulnerable to: GO-2023-1682 / GHSA-m8cg-xc2p-r3fc","Warn: Project is vulnerable to: GO-2023-1627 / GHSA-vpvm-3wq2-2wvm","Warn: Project is vulnerable to: GO-2024-2491 / GHSA-xr7r-f8xq-vfvv","Warn: Project is vulnerable to: GO-2024-3110 / GHSA-jfvp-7x6p-h2pv","Warn: Project is vulnerable to: GO-2022-0938 / GHSA-c2h3-6mxw-7mvq","Warn: Project is vulnerable to: GO-2022-0360 / GHSA-5j5w-g665-5m35","Warn: Project is vulnerable to: GO-2022-0278 / GHSA-mvff-h3cj-wj9c","Warn: Project is vulnerable to: GO-2022-0344 / GHSA-crp2-qrr5-8pq7","Warn: Project is vulnerable to: GO-2024-2846 / GHSA-c9cp-9c75-9v8c","Warn: Project is vulnerable to: GO-2022-0482 / GHSA-5ffw-gxpp-mxpf","Warn: Project is vulnerable to: GO-2022-1147 / GHSA-2qjp-425j-52j9","Warn: Project is vulnerable to: GO-2023-1573 / GHSA-259w-8hf6-59c2","Warn: Project is vulnerable to: GO-2023-1574 / GHSA-hmfx-3pcx-653p","Warn: Project is vulnerable to: GO-2023-2412 / GHSA-7ww5-4wqc-m92c","Warn: Project is vulnerable to: GO-2025-3528 / GHSA-265r-hfxg-fhmg"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-24T15:13:26.872Z","repository_id":37081552,"created_at":"2025-08-24T15:13:26.872Z","updated_at":"2025-08-24T15:13:26.872Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278862402,"owners_count":26058937,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["activitypub","certificate-transparency","content-addressable-storage","decentralized-identifiers","did-method","fediverse","ipfs","sidetree"],"created_at":"2024-09-24T22:31:16.822Z","updated_at":"2025-10-07T23:28:55.816Z","avatar_url":"https://github.com/trustbloc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Release](https://img.shields.io/github/release/trustbloc/orb.svg?style=flat-square)](https://github.com/trustbloc/orb/releases/latest)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://raw.githubusercontent.com/trustbloc/orb/main/LICENSE)\n[![Godocs](https://img.shields.io/badge/godoc-reference-blue.svg)](https://godoc.org/github.com/trustbloc/orb)\n\n[![Build Status](https://github.com/trustbloc/orb/actions/workflows/build.yml/badge.svg)](https://github.com/trustbloc/orb/actions/workflows/build.yml)\n[![codecov](https://codecov.io/gh/trustbloc/orb/branch/main/graph/badge.svg)](https://codecov.io/gh/trustbloc/orb)\n[![Go Report Card](https://goreportcard.com/badge/github.com/trustbloc/orb)](https://goreportcard.com/report/github.com/trustbloc/orb)\n# orb DID Method\n\nOrb implements the following specifications: [did:orb](https://trustbloc.github.io/did-method-orb/),\n[Activity Anchors](https://trustbloc.github.io/activityanchors/). The did:orb method is based on the\n[Sidetree](https://identity.foundation/sidetree/spec/) specification and Activity Anchors is based on the\n[ActivityPub](https://www.w3.org/TR/activitypub/) and [ActivityStreams](https://www.w3.org/TR/activitystreams-core/)\nspecifications.\n\nPlease see [Read the Docs](https://trustbloc.readthedocs.io/en/latest/orb/index.html)\nfor more details on Orb.\n\n## Build\n\nThe project is built using _make_. The BDD test suite can be run with `make bdd-test`. This command builds the Orb images and runs the\nintegration tests.\n\n## Run\n\nTo run Orb outside of _make_, you can use _docker-compose_:\n\n1. `cd test/bdd/fixtures/`\n2. `docker-compose up`\nThis starts the Orb nodes and all dependent containers (wait for containers to start for about 15-20 seconds)\n\n## Tests\n\nA full set of integration tests is included, which demonstrate all the features of Orb, including adding followers/witnesses and\ncreating/resolving sample DIDs. (These are located in ./test/bdd/features.)\n\n### Prerequisites\n\n* [MongoDB Tools](https://www.mongodb.com/docs/database-tools/installation/installation), used by the _orb_domain_backup_and_restore_ test\n* The PostgreSQL Command Line Tools, which can be installed using the [PostgreSQL installer](https://www.enterprisedb.com/downloads/postgres-postgresql-downloads). Note that you can install just them standalone without the PostgreSQL server, which isn't required since PostgreSQL is run via Docker for the BDD tests. The PostgreSQL Command Line Tools are used by the _vct_backup_and_restore_ test.\n* The PostgreSQL Command Line Tools added to your PATH.\n* The following entries in your `hosts` file: `127.0.0.1 orb.domain1.com` and '127.0.0.1 orb.vct'\n\n### Running BDD tests\n\nAfter Orb is started (using the instructions in the [Run](#run) section, above) you may run the tests as follows:\n1. `cd test/bdd`\n2. `DISABLE_COMPOSITION=true go test`\n\n\nYou can run individual tests using the -run option, for example:\n\n`DISABLE_COMPOSITION=true go test -run concurrent_requests_scenario`\n\nAfter the tests have run, you may resolve a DID by hitting the endpoint: https://localhost:48326/sidetree/v1/identifiers/{did}, where {did}\ncan be chosen from the variety of DIDs in the BDD test console output. It will look like this: did:orb:EiBQyuTmdDYoVWD1GgmM1lLG5wY_9zZNzC0DE-VY3Ska2Q.\n\nYou can hit various REST endpoints to discover information about Orb. For example:\n\n- Domain's public key: `https://localhost:48326/.well-known/did.json`\n- Discovery configuration: `https://localhost:48326/.well-known/did-orb`\n\n(A complete list of endpoints is documented [here](https://trustbloc.readthedocs.io/en/latest/orb/restendpoints/index.html).)\n\nTo bring everything down run `docker-compose down`\n\n## Configuration\n\nTo get help about startup options use the following command (don't forget to build Orb (`make orb`) before starting it):\n\n```$ ./.build/bin/orb start -h```\n\nThe output should be similar to this:\n\n```\nStart orb-server\n\nUsage:\n  orb-server start [flags]\n\nFlags:\n  -P, --activitypub-page-size string                         The maximum page size for an ActivityPub collection or ordered collection. Alternatively, this can be set with the following environment variable: ACTIVITYPUB_PAGE_SIZE\n  -o, --allowed-origins stringArray                          Allowed origins for this did method. Alternatively, this can be set with the following environment variable: ALLOWED_ORIGINS\n  -d, --anchor-credential-domain string                      Anchor credential domain (required). Alternatively, this can be set with the following environment variable: ANCHOR_CREDENTIAL_DOMAIN\n      --anchor-data-uri-media-type string                    The media type for data URIs in an anchor Linkset. Possible values are 'application/json' and 'application/gzip;base64'. If 'application/json' is specified then the content of the data URIs in the anchor LInkset are encoded as an escaped JSON string. If 'application/gzip;base64' is specified then the content is compressed with gzip and base64 encoded (default is 'application/gzip;base64').Alternatively, this can be set with the following environment variable: ANCHOR_DATA_URI_MEDIA_TYPE\n      --anchor-status-in-process-grace-period string         The period in which witnesses will not be re-selected for 'in-process' anchors.Defaults to 1m if not set. Alternatively, this can be set with the following environment variable: ANCHOR_STATUS_IN_PROCESS_GRACE_PERIOD\n      --anchor-status-monitoring-interval string             The interval in which 'in-process' anchors are monitored to ensure that they will be witnessed(completed) as per policy.Defaults to 5s if not set. Alternatively, this can be set with the following environment variable: ANCHOR_STATUS_MONITORING_INTERVAL\n      --apclient-cache-Expiration string                     The expiration time of an ActivityPub service and public key cache. Alternatively, this can be set with the following environment variable: ACTIVITYPUB_CLIENT_CACHE_EXPIRATION\n      .\n      .\n      .\n```\n\nA complete list of required and optional parameters is documented\n[here](https://trustbloc.readthedocs.io/en/latest/orb/parameters.html#startup-parameters).\n\nThe minimal configuration to run a service is:\n\n```./.build/bin/orb start --host-url=\"0.0.0.0:7890\" --cas-type=local --external-endpoint=http://localhost:7890 --did-namespace=test --database-type=mem --kms-secrets-database-type=mem --anchor-credential-domain=http://localhost:7890```\n\n## Databases\n\nThe following databases are supported:\n* MongoDB\n* CouchDB\n* Memory (the in-memory database should only be used for demos)\n\n## Contributing\n\nThank you for your interest in contributing. Please see our [community contribution guidelines](https://github.com/trustbloc/community/blob/master/CONTRIBUTING.md) for more information.\n\n## License\n\nApache License, Version 2.0 (Apache-2.0). See the [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrustbloc%2Forb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrustbloc%2Forb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrustbloc%2Forb/lists"}