{"id":51825575,"url":"https://github.com/artob/edky","last_synced_at":"2026-07-22T09:02:55.593Z","repository":{"id":371166703,"uuid":"1297262676","full_name":"artob/edky","owner":"artob","description":"Convert Ed25519 public keys between various encoding formats.","archived":false,"fork":false,"pushed_at":"2026-07-21T16:52:42.000Z","size":851,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-07-21T18:22:12.192Z","etag":null,"topics":["cryptography","cryptography-tools","curve25519","ed25119"],"latest_commit_sha":null,"homepage":"https://edky.dev","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artob.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/codeowners","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-11T08:24:10.000Z","updated_at":"2026-07-21T16:54:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/artob/edky","commit_stats":null,"previous_names":["artob/edky"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/artob/edky","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artob%2Fedky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artob%2Fedky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artob%2Fedky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artob%2Fedky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artob","download_url":"https://codeload.github.com/artob/edky/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artob%2Fedky/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35755761,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"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":["cryptography","cryptography-tools","curve25519","ed25119"],"created_at":"2026-07-22T09:02:54.945Z","updated_at":"2026-07-22T09:02:55.579Z","avatar_url":"https://github.com/artob.png","language":"Rust","funding_links":[],"categories":["DevTools","Dev-Utilities","Applications"],"sub_categories":["Utilities"],"readme":"# Edky\n\n[![License](https://img.shields.io/badge/license-Public%20Domain-blue.svg)](https://unlicense.org)\n[![Package on Crates.io](https://img.shields.io/crates/v/edky)](https://crates.io/crates/edky)\n[![Package on NPM](https://img.shields.io/npm/v/edky.js)](https://npmjs.com/package/edky.js)\n[![Package on Pub.dev](https://img.shields.io/pub/v/edky)](https://pub.dev/packages/edky)\n[![Package on PyPI](https://img.shields.io/pypi/v/edky)](https://pypi.org/project/edky)\n[![Package on RubyGems](https://img.shields.io/gem/v/edky)](https://rubygems.org/gems/edky)\n\n**Edky (pronounced *ed-key*) converts [Ed25519] public keys between various encoding formats.**\n\n\u003csub\u003e\n\n[[Features](#-features)] |\n[[Prerequisites](#%EF%B8%8F-prerequisites)] |\n[[Installation](#%EF%B8%8F-installation)] |\n[[Examples](#-examples)] |\n[[Reference](#-reference)] |\n[[Development](#%E2%80%8D-development)]\n\n\u003c/sub\u003e\n\n\u003cbr/\u003e\n\n\u003cimg width=\"100%\" alt=\"Showcase of edky convert\" src=\"https://github.com/artob/edky/raw/master/rust/etc/asciinema/convert.gif\"/\u003e\n\n## ✨ Features\n\n- Available both as the command-line tool [`edky`] and a polyglot library.\n- Supports the Base16, Base32z, Base58, Base64, and Multibase encodings.\n- Provides interop between ASIMOV, IPFS, Iroh, libp2p, NEAR, OpenSSH, etc.\n- Polyglot software available for Dart, Python, Ruby, Rust, and TypeScript.\n- Cuts red tape: 100% free and unencumbered public domain software.\n\n## ⬇️ Installation\n\n### Installation of the CLI\n\n#### Installation via [Cargo Binstall]\n\n```bash\ncargo binstall -y edky\n```\n\n\u003cimg width=\"100%\" alt=\"Installation via cargo-binstall\" src=\"https://github.com/artob/edky/raw/master/rust/etc/asciinema/install.gif\"/\u003e\n\n#### Installation via [Cargo]\n\n```bash\ncargo install edky --locked --features=cli\n```\n\n### Installation of the Library\n\n\u003cdetails\u003e\n\u003csummary\u003eInstallation for Rust from Crates.io\u003c/summary\u003e\n\n#### Installation from [Crates.io]\n\n```bash\ncargo add edky\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eInstallation for JavaScript/TypeScript from NPM\u003c/summary\u003e\n\n#### Installation from [NPM]\n\n```bash\nnpm install edky.js\nbun add edky.js\npnpm add edky.js\nyarn add edky.js\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eInstallation for Dart from Pub.dev\u003c/summary\u003e\n\n#### Installation from [Pub.dev]\n\n```bash\ndart pub add edky\nflutter pub add edky\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eInstallation for Python from PyPI\u003c/summary\u003e\n\n#### Installation from [PyPI]\n\n```bash\npip install -U edky\nuv add edky\npoetry add edky\npdm add edky\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eInstallation for Ruby from RubyGems\u003c/summary\u003e\n\n#### Installation from [RubyGems]\n\n```bash\ngem install edky\nbundle add edky\n```\n\u003c/details\u003e\n\n## 👉 Examples\n\n### Converting Ed25119 Public Keys via the CLI\n\n```shellsession\n$ edky convert -f iroh -t libp2p 47pjoycnsrfmxikm95jh13y88e8qnhzu5kungjpxyepgt7a8krpy\nz6MktwupdmLXVVqTzCw4i46r4uGyosGXRnR3XjN4Zq7oMMsw\n\n$ edky convert -f libp2p -t iroh z6MktwupdmLXVVqTzCw4i46r4uGyosGXRnR3XjN4Zq7oMMsw\n47pjoycnsrfmxikm95jh13y88e8qnhzu5kungjpxyepgt7a8krpy\n\n$ edky convert -f near -t hex ed25519:FVen3X669xLzsi6N2V91DoiyzHzg1uAgqiT8jZ9nS96Z\nd75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\n\n$ edky convert -f hex -t near d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a\ned25519:FVen3X669xLzsi6N2V91DoiyzHzg1uAgqiT8jZ9nS96Z\n```\n\n## 📚 Reference\n\n### Command-Line Interface\n\n```shellsession\n$ edky\nEdky converts Ed25519 public keys between various encoding formats\n\nUsage: edky [OPTIONS] [COMMAND]\n\nCommands:\n  list     List the supported public key encoding formats\n  convert  Convert Ed25519 public keys between various encoding formats\n  parse    Parse Ed25519 public keys in various encoding formats\n  help     Print this message or the help of the given subcommand(s)\n\nOptions:\n      --color \u003cCOLOR\u003e  Set the color output mode [default: auto] [possible values: auto, always, never]\n  -d, --debug          Enable debugging output\n      --license        Show license information\n  -v, --verbose...     Enable verbose output (may be repeated for more verbosity)\n  -V, --version        Print version information\n  -h, --help           Print help (see more with '--help')\n```\n\n#### `edky list`\n\n```shellsession\n$ edky list --help\nList the supported public key encoding formats\n\nUsage: edky list [OPTIONS]\n\nOptions:\n      --color \u003cCOLOR\u003e  Set the color output mode [default: auto] [possible values: auto, always, never]\n  -d, --debug          Enable debugging output\n  -v, --verbose...     Enable verbose output (may be repeated for more verbosity)\n  -h, --help           Print help\n```\n\n#### `edky convert`\n\n```shellsession\n$ edky convert --help\nConvert Ed25519 public keys between various encoding formats\n\nUsage: edky convert [OPTIONS] [INPUTS]...\n\nArguments:\n  [INPUTS]...  The input strings to convert\n\nOptions:\n      --color \u003cCOLOR\u003e  Set the color output mode [default: auto] [possible values: auto, always, never]\n  -f, --from \u003cFROM\u003e    The input encoding format [default: hex]\n  -d, --debug          Enable debugging output\n  -t, --to \u003cTO\u003e        The output encoding format [default: hex]\n  -v, --verbose...     Enable verbose output (may be repeated for more verbosity)\n  -h, --help           Print help\n```\n\n#### `edky parse`\n\n```shellsession\n$ edky parse --help\nParse Ed25519 public keys in various encoding formats\n\nUsage: edky parse [OPTIONS] [INPUTS]...\n\nArguments:\n  [INPUTS]...  The input strings to parse\n\nOptions:\n      --color \u003cCOLOR\u003e  Set the color output mode [default: auto] [possible values: auto, always, never]\n  -f, --from \u003cFROM\u003e    The input encoding format [default: hex]\n  -d, --debug          Enable debugging output\n  -v, --verbose...     Enable verbose output (may be repeated for more verbosity)\n  -h, --help           Print help\n```\n\n#### Encodings\n\n| For `-f`, `-t`   | Sample Public Key |\n| ---------------- | ----------------- |\n| `asimov`         | ⒶYFVen3X669xLzsi6N2V91DoiyzHzg1uAgqiT8jZ9nS96Z |\n| `base16`         | d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a |\n| `base32z`        | 47pjoycnsrfmxikm95jh13y88e8qnhzu5kungjpxyepgt7a8krpy |\n| `base58`         | FVen3X669xLzsi6N2V91DoiyzHzg1uAgqiT8jZ9nS96Z |\n| `base64`         | 11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo= |\n| `base64url`      | 11qYAYKxCrfVS_7TyWQHOg7hcvPapiMlrwIaaPcHURo |\n| `hex`            | d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a |\n| `ipfs`           | z6MktwupdmLXVVqTzCw4i46r4uGyosGXRnR3XjN4Zq7oMMsw |\n| `iroh`           | 47pjoycnsrfmxikm95jh13y88e8qnhzu5kungjpxyepgt7a8krpy |\n| `libp2p`         | z6MktwupdmLXVVqTzCw4i46r4uGyosGXRnR3XjN4Zq7oMMsw |\n| `multibase`      | z6MktwupdmLXVVqTzCw4i46r4uGyosGXRnR3XjN4Zq7oMMsw |\n| `near`           | ed25519:FVen3X669xLzsi6N2V91DoiyzHzg1uAgqiT8jZ9nS96Z |\n| `openssh`        | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINdamAGCsQq31Uv+08lkBzoO4XLz2qYjJa8CGmj3B1Ea |\n\n## 👨‍💻 Development\n\n```bash\ngit clone https://github.com/artob/edky.git\n```\n\n---\n\n[![Share on X](https://img.shields.io/badge/share%20on-x-03A9F4?logo=x)](https://x.com/intent/post?url=https%3A%2F%2Fgithub.com%2Fartob%2Fedky\u0026text=Edky)\n[![Share on Reddit](https://img.shields.io/badge/share%20on-reddit-red?logo=reddit)](https://reddit.com/submit?url=https%3A%2F%2Fgithub.com%2Fartob%2Fedky\u0026title=Edky)\n[![Share on Hacker News](https://img.shields.io/badge/share%20on-hn-orange?logo=ycombinator)](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fgithub.com%2Fartob%2Fedky\u0026t=Edky)\n[![Share on Facebook](https://img.shields.io/badge/share%20on-fb-1976D2?logo=facebook)](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fgithub.com%2Fartob%2Fedky)\n[![Share on LinkedIn](https://img.shields.io/badge/share%20on-linkedin-3949AB?logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fartob%2Fedky)\n\n[`edky`]: https://github.com/artob/edky#command-line-interface\n\n[Crates.io]: https://crates.io/crates/edky\n[NPM]: https://npmjs.com/package/edky.js\n[Pub.dev]: https://pub.dev/packages/edky\n[PyPI]: https://pypi.org/project/edky\n[RubyGems]: https://rubygems.org/gems/edky\n\n[Cargo]: https://rustup.rs\n[Cargo Binstall]: https://crates.io/crates/cargo-binstall\n[Ed25519]: https://en.wikipedia.org/wiki/Ed25519\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartob%2Fedky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartob%2Fedky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartob%2Fedky/lists"}