{"id":20850578,"url":"https://github.com/multiformats/js-cid-tool","last_synced_at":"2025-05-12T04:31:34.046Z","repository":{"id":53064527,"uuid":"148505962","full_name":"multiformats/js-cid-tool","owner":"multiformats","description":"A module and command line tool for converting, formatting and discovering properties of CIDs","archived":false,"fork":false,"pushed_at":"2021-04-08T11:25:43.000Z","size":1353,"stargazers_count":8,"open_issues_count":2,"forks_count":8,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-11-08T06:05:35.529Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/multiformats.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-12T15:59:09.000Z","updated_at":"2023-08-29T19:45:47.000Z","dependencies_parsed_at":"2022-08-24T02:40:49.696Z","dependency_job_id":null,"html_url":"https://github.com/multiformats/js-cid-tool","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiformats%2Fjs-cid-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiformats%2Fjs-cid-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiformats%2Fjs-cid-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiformats%2Fjs-cid-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/multiformats","download_url":"https://codeload.github.com/multiformats/js-cid-tool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224742526,"owners_count":17362232,"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-18T03:10:18.591Z","updated_at":"2024-11-18T03:10:19.320Z","avatar_url":"https://github.com/multiformats.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CID Tool\n\n[![Build Status](https://travis-ci.org/multiformats/js-cid-tool.svg?branch=master)](https://travis-ci.org/multiformats/js-cid-tool) [![dependencies Status](https://status.david-dm.org/gh/multiformats/js-cid-tool.svg)](https://david-dm.org/multiformats/js-cid-tool) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n\n\u003e A module and command line tool for converting, formatting and discovering properties of CIDs\n\n## Install\n\n* Install Node.js 8+\n\n```sh\nnpm install -g cid-tool # for command line usage\n# or\nnpm install cid-tool    # for programmatic usage\n```\n\n## Usage\n\n### CLI\n\n```console\n$ cid --help\ncid \u003ccommand\u003e\n\nCommands:\n  cid base32 [cids...]  Convert CIDs to base 32 CID version 1.\n  cid bases             List available multibase encoding names.\n  cid codecs            List available CID codec names.\n  cid format [cids...]  Format and convert a CID in various useful ways.\n  cid hashes            List available multihash hashing algorithm names.\n\nOptions:\n  --version  Show version number                                     [boolean]\n  --help     Show help                                               [boolean]\n```\n\n**Note**: help is also available for each command e.g. `cid format --help`\n\n#### Example\n\n```console\n$ cid base32 QmdnJHe9XKk6atRSqAq1SdCu12MMSKxSPC93EWngEDoypj\nbafybeihfofifyyrirgqad3de7nkyldbleo3awwv4ghbba4ipjqthk2nhaa\n\n$ cid bases --prefix\n0 base1\n1 base2\n7 base8\n9 base10\nf base16\nb base32\nc base32pad\nv base32hex\nt base32hexpad\nh base32z\nZ base58flickr\nz base58btc\nm base64\nM base64pad\nu base64url\nU base64urlpad\n\n$ cid codecs\nraw\nbase1\nbase2\nbase8\nbase10\ncbor\nprotobuf\n# ...\n\n$ cid format mAXASIOVxUFxiKImgAexk+1WFjCsjtgtavDHCEHEPTCZ1aacA -f \"%b CIDv%V %h\"\nbase64 CIDv1 sha2-256\n\n$ cid hashes\nid\nsha1\nsha2-256\nsha2-512\ndbl-sha2-256\nsha3-224\nsha3-256\nsha3-384\nsha3-512\nshake-128\nshake-256\nkeccak-224\n# ...\n```\n\n### Module\n\n```js\nconst CIDTool = require('cid-tool')\n// Then see API docs below...\n```\n\n## API\n\n### `CIDTool.base32(cid)`\n\nConvert the passed CID to base 32 CID version 1.\n\n#### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| cid | [`CID`](https://github.com/ipld/js-cid/)\\|`String`\\|`Uint8Array` | CID to convert. |\n\n#### Returns\n\n| Type | Description |\n|------|-------------|\n| `String` | Base 32 encoded version 1 CID |\n\n#### Example\n\n```js\n\u003e CIDTool.base32('QmdnJHe9XKk6atRSqAq1SdCu12MMSKxSPC93EWngEDoypj')\n'bafybeihfofifyyrirgqad3de7nkyldbleo3awwv4ghbba4ipjqthk2nhaa'\n```\n\n### `CIDTool.bases()`\n\nList available [multibase encoding name and code pairs](https://github.com/multiformats/multibase/blob/master/multibase.csv).\n\n#### Returns\n\n| Type | Description |\n|------|-------------|\n| `Array\u003c{name\u003cString\u003e, code\u003cString\u003e}\u003e` | Multibase encoding name and code pairs |\n\n#### Example\n\n```js\n\u003e CIDTool.bases()\n[ { name: 'base1', code: '0' },\n  { name: 'base2', code: '1' },\n  { name: 'base8', code: '7' },\n  { name: 'base10', code: '9' },\n  { name: 'base16', code: 'f' },\n  { name: 'base32', code: 'b' },\n  { name: 'base32pad', code: 'c' },\n  { name: 'base32hex', code: 'v' },\n  { name: 'base32hexpad', code: 't' },\n  { name: 'base32z', code: 'h' },\n  { name: 'base58flickr', code: 'Z' },\n  { name: 'base58btc', code: 'z' },\n  { name: 'base64', code: 'm' },\n  { name: 'base64pad', code: 'M' },\n  { name: 'base64url', code: 'u' },\n  { name: 'base64urlpad', code: 'U' } ]\n```\n\n### `CIDTool.codecs()`\n\nList available [CID codec name and code pairs](https://github.com/multiformats/multicodec/blob/master/table.csv).\n\n#### Returns\n\n| Type | Description |\n|------|-------------|\n| `Array\u003c{name\u003cString\u003e, code\u003cNumber\u003e}\u003e` | CID codec name and code pairs |\n\n#### Example\n\n```js\n\u003e CIDTool.codecs()\n[ { name: 'raw', code: 85 },\n  { name: 'base1', code: 1 },\n  { name: 'base2', code: 0 },\n  { name: 'base8', code: 7 },\n  { name: 'base10', code: 9 },\n  { name: 'cbor', code: 81 },\n  { name: 'protobuf', code: 80 },\n  /* ... */ ]\n```\n\n### `CIDTool.format(cid, [options])`\n\nFormat and convert a CID in various useful ways.\n\n#### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| cid | [`CID`](https://github.com/ipld/js-cid/)\\|`String`\\|`Uint8Array` | CID to format |\n| options | `Object` | (optional) options for formatting |\n| options.format | `String` | Format string to use, default \"%s\" |\n| options.base | `String` | Multibase name or code to use for output |\n| options.cidVersion | `Number` | Convert the CID to the given version if possible |\n\nAvailable format specifiers:\n\n* %% literal %\n* %b multibase name\n* %B multibase code\n* %v version string\n* %V version number\n* %c codec name\n* %C codec code\n* %h multihash name\n* %H multihash code\n* %L hash digest length\n* %m multihash encoded in base %b (with multibase prefix)\n* %M multihash encoded in base %b without multibase prefix\n* %d hash digest encoded in base %b (with multibase prefix)\n* %D hash digest encoded in base %b without multibase prefix\n* %s cid string encoded in base %b (1)\n* %S cid string encoded in base %b without multibase prefix\n* %P cid prefix: %v-%c-%h-%L\n\n(1) For CID version 0 the multibase must be base58btc and no prefix is used. For Cid version 1 the multibase prefix is included.\n\n#### Returns\n\n| Type | Description |\n|------|-------------|\n| `String` | Formatted string |\n\n#### Example\n\n```js\n\u003e CIDTool.format('QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn', { format: '%b-%v-%c-%h-%L' })\n'base58btc-cidv0-dag-pb-sha2-256-32'\n\n\u003e CIDTool.format('QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn', { cidVersion: 1 })\n'zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi'\n\n\u003e CIDTool.format('zdj7WksYf5DNoDhTbjNZundK13TdEYo9sNaFWYZuKBM3fNszf', { base: 'base64' })\n'mAXASIOVxUFxiKImgAexk+1WFjCsjtgtavDHCEHEPTCZ1aacA'\n```\n\n### `CIDTool.hashes()`\n\nList available [multihash hashing algorithm name and code pairs](https://github.com/multiformats/multihash/blob/master/hashtable.csv).\n\n#### Returns\n\n| Type | Description |\n|------|-------------|\n| `Array\u003c{name\u003cString\u003e, code\u003cNumber\u003e}\u003e` | Multihash hashing algorithm name and code pairs |\n\n#### Example\n\n```js\n\u003e CIDTool.hashes()\n[ { name: 'id', code: 0 },\n  { name: 'sha1', code: 17 },\n  { name: 'sha2-256', code: 18 },\n  { name: 'sha2-512', code: 19 },\n  { name: 'dbl-sha2-256', code: 86 },\n  { name: 'sha3-224', code: 23 },\n  { name: 'sha3-256', code: 22 },\n  /* ... */ ]\n```\n\n## Contribute\n\nFeel free to join in. All welcome. Open an [issue](https://github.com/multiformats/cid-tool/issues)!\n\nThis repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\n### Want to hack on IPFS?\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/contributing.md)\n\n## License\n\nCopyright (c) Protocol Labs, Inc. under the **MIT License**. See [LICENSE](./LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultiformats%2Fjs-cid-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmultiformats%2Fjs-cid-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultiformats%2Fjs-cid-tool/lists"}