{"id":20060621,"url":"https://github.com/oasisprotocol/metadata-registry-tools","last_synced_at":"2025-05-05T15:33:15.412Z","repository":{"id":38206204,"uuid":"284921687","full_name":"oasisprotocol/metadata-registry-tools","owner":"oasisprotocol","description":"Tools for working with the metadata registry","archived":false,"fork":false,"pushed_at":"2024-05-08T07:05:22.000Z","size":214,"stargazers_count":3,"open_issues_count":12,"forks_count":7,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-09T01:11:05.200Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oasisprotocol.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-08-04T08:27:21.000Z","updated_at":"2025-01-11T05:48:23.000Z","dependencies_parsed_at":"2024-06-21T16:28:10.944Z","dependency_job_id":null,"html_url":"https://github.com/oasisprotocol/metadata-registry-tools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fmetadata-registry-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fmetadata-registry-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fmetadata-registry-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Fmetadata-registry-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oasisprotocol","download_url":"https://codeload.github.com/oasisprotocol/metadata-registry-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252524293,"owners_count":21762070,"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-13T13:15:59.510Z","updated_at":"2025-05-05T15:33:15.079Z","avatar_url":"https://github.com/oasisprotocol.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oasis Metadata Registry Tools\n\n[![CI test status][github-ci-tests-badge]][github-ci-tests-link]\n[![CI lint status][github-ci-lint-badge]][github-ci-lint-link]\n\n\u003c!-- markdownlint-disable line-length --\u003e\n[github-ci-tests-badge]: https://github.com/oasisprotocol/oasis-core-rosetta-gateway/workflows/ci-tests/badge.svg\n[github-ci-tests-link]: https://github.com/oasisprotocol/oasis-core-rosetta-gateway/actions?query=workflow:ci-tests+branch:master\n[github-ci-lint-badge]: https://github.com/oasisprotocol/oasis-core-rosetta-gateway/workflows/ci-lint/badge.svg\n[github-ci-lint-link]: https://github.com/oasisprotocol/oasis-core-rosetta-gateway/actions?query=workflow:ci-lint+branch:master\n\u003c!-- markdownlint-enable line-length --\u003e\n\nThis repository contains tools for working with the [Oasis Metadata Registry].\n\n[Oasis Metadata Registry]: https://github.com/oasisprotocol/metadata-registry\n\n## Building\n\nTo build the `oasis-registry` tool, run:\n\n```sh\nmake build\n```\n\n## Usage\n\n_NOTE: Currently, you will need to build the `oasis-registry` tool yourself._\n\n**NOTE: Support for signing entity metadata statements with the Ledger-based\nsigner is available in [Oasis app 1.9.0+ releases] which will soon be available\nvia Ledger Live's Manager.**\n\nTo sign an entity metadata statement, e.g.\n\n```json\n{\n  \"v\": 1,\n  \"serial\": 1,\n  \"name\": \"My entity name\",\n  \"url\": \"https://my.entity/url\",\n  \"email\": \"my@entity.org\",\n  \"keybase\": \"my_keybase_handle\",\n  \"twitter\": \"my_twitter_handle\"\n}\n```\n\nsave it as a JSON file, e.g. `entity-metadata.json`, and run:\n\n```sh\n./oasis-registry/oasis-registry entity update \\\n  \u003cSIGNER-FLAGS\u003e \\\n  entity-metadata.json\n```\n\nwhere `\u003cSIGNER-FLAGS\u003e` are replaced by the appropriate signer CLI flags for your\nsigner (e.g. Ledger-based signer, File-based signer).\n\nFor more details, run:\n\n```sh\n./oasis-registry/oasis-registry entity update --help\n```\n\n_NOTE: The same signer flags as used by the Oasis Node CLI are supported.\nSee [Oasis CLI Tools' documentation on Signer Flags][oasis-cli-flags] for more\ndetails._\n\nThe `oasis-registry entity update` command will output a preview of the entity\nmetadata statement you are about to sign:\n\n```text\nYou are about to sign the following entity metadata descriptor:\n  Version: 1\n  Serial:  1\n  Name:    My entity name\n  URL:     https://my.entity/url\n  Email:   my@entity.org\n  Keybase: my_keybase_handle\n  Twitter: my_twitter_handle\n```\n\nand ask you for confirmation.\n\nIt will store the signed entity metadata statement to the\n`registry/entity/\u003cHEX-ENCODED-ENTITY-PUBLIC-KEY\u003e.json` file, where\n`\u003cHEX-ENCODED-ENTITY-PUBLIC-KEY\u003e` corresponds to your hex-encoded entity's\npublic key, e.g.\n`918cfe60b903e9d2c3003eaa78997f4fd95d66597f20cea8693e447b6637604c.json`.\n\n\u003c!-- markdownlint-disable line-length --\u003e\n[oasis-cli-flags]:\n  https://docs.oasis.dev/general/manage-tokens/oasis-cli-tools/setup#signer-flags\n[Oasis app 1.9.0+ releases]: https://github.com/Zondax/ledger-oasis/releases\n\u003c!-- markdownlint-enable line-length --\u003e\n\n### Contributing Entity Metadata Statement to Production Oasis Metadata Registry\n\nSee the [Contributing New Statements guide][contrib-guide] at the\n[Oasis Metadata Registry]'s web site.\n\n[contrib-guide]:\n  https://github.com/oasisprotocol/metadata-registry#contributing-new-statements\n\n## Development\n\n### Examples\n\nFor some examples of using this Go library, check the [`examples/`] directory.\n\nTo build all examples, run:\n\n```sh\nmake build-examples\n```\n\nTo run the `lookup` example that lists the entity metadata statements in the\nproduction Oasis Metadata Registry, run:\n\n```sh\n./examples/lookup/lookup\n```\n\nIt should give an output similar to:\n\n```text\n[ms7M1v8HfItCnNNJ0tfE/PsYQsmeD+XpfGF1v0zR2Xo=]\n  Name:    Everstake\n  URL:     https://everstake.one\n  Email:   inbox@everstake.one\n  Keybase: everstake\n  Twitter: everstake_pool\n\n[gb8SHLeDc69Elk7OTfqhtVgE2sqxrBCDQI84xKR+Bjg=]\n  Name:    Bi23 Labs\n  URL:     https://bi23.com\n  Email:   support@bi23.com\n  Keybase: sunxmldapp\n  Twitter: bi23com\n\n... output trimmed ...\n```\n\n[`examples/`]: examples/\n\n### Test Vectors\n\nTo generate the entity metadata test vectors, run:\n\n```sh\nmake gen_vectors\n```\n\n### Tests\n\nTo run all tests, run:\n\n```sh\nmake test\n```\n\nThis will run all Make's test targets which include Go unit tests and CLI tests.\n\n_NOTE: CLI tests with Ledger signer will be skipped unless the\n`LEDGER_SIGNER_PATH` is set and exported._\n\n#### Tests with Ledger-based signer\n\nTo run CLI tests with Ledger-based signer, you need to follow these steps:\n\n1. Download the latest [Oasis Core Ledger] release from\n   \u003chttps://github.com/oasisprotocol/oasis-core-ledger/releases\u003e.\n\n2. Extract the `oasis_core_ledger_\u003cVERSION\u003e_\u003cOS\u003e_amd64.tar.gz` tarball.\n\n3. Set `LEDGER_SIGNER_PATH` environment variable to the path of the extracted\n   `ledger-signer` binary and export it, e.g.:\n\n   ```sh\n   export LEDGER_SIGNER_PATH=\"/path/to/oasis_core_ledger_1.2.0_linux_amd64/ledger-signer\"\n   ```\n\n4. Connect your Ledger device and make sure the Oasis app is open.\n\n5. Run tests with:\n\n   ```sh\n   make test-cli-ledger\n   ```\n\n[Oasis Core Ledger]: https://docs.oasis.dev/oasis-core-ledger/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foasisprotocol%2Fmetadata-registry-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foasisprotocol%2Fmetadata-registry-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foasisprotocol%2Fmetadata-registry-tools/lists"}