{"id":13631903,"url":"https://github.com/radicle-dev/radicle-registry","last_synced_at":"2025-04-18T01:32:11.859Z","repository":{"id":62443526,"uuid":"213385413","full_name":"radicle-dev/radicle-registry","owner":"radicle-dev","description":"An experimental Substrate implementation of the Radicle Registry 📒","archived":true,"fork":false,"pushed_at":"2020-08-02T07:26:19.000Z","size":3472,"stargazers_count":34,"open_issues_count":30,"forks_count":4,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-11-07T13:47:16.153Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://registry.radicle.xyz","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radicle-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-07T13:06:33.000Z","updated_at":"2024-11-06T12:23:22.000Z","dependencies_parsed_at":"2022-11-01T22:31:19.647Z","dependency_job_id":null,"html_url":"https://github.com/radicle-dev/radicle-registry","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radicle-dev%2Fradicle-registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radicle-dev%2Fradicle-registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radicle-dev%2Fradicle-registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radicle-dev%2Fradicle-registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radicle-dev","download_url":"https://codeload.github.com/radicle-dev/radicle-registry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223772097,"owners_count":17199967,"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-08-01T22:02:43.462Z","updated_at":"2024-11-09T00:30:23.083Z","avatar_url":"https://github.com/radicle-dev.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"Radicle Registry\n================\n\n[![Build status](https://badge.buildkite.com/dbdd1481a6275cb41c5de15e33b34c159b17a025be13116103.svg)](https://buildkite.com/monadic/radicle-registry)\n\nExperimental Radicle Registry implementation with Substrate.\n\nClick [here](https://registry.radicle.xyz/docs/getting-started) to learn how to get\nstarted participating in the Radicle Registry Network.\n\nSee [`DEVELOPING.md`](./DEVELOPING.md) for developer information.\n\n\u003c!-- toc --\u003e\n\n- [Prerequisites](#prerequisites)\n- [Build from source](#build-from-source)\n- [Getting the Node](#getting-the-node)\n- [Running the node](#running-the-node)\n- [Chains](#chains)\n- [Using the Client](#using-the-client)\n- [Account Keys](#account-keys)\n- [Developing with the Client](#developing-with-the-client)\n- [Using the CLI](#using-the-cli)\n- [License](#license)\n\n\u003c!-- tocstop --\u003e\n\nPrerequisites\n---------------\n\nⓘ Follow this guide to get started [developing](./DEVELOPING.md)\n   or to [build from source](#build-from-source).\n\n1. [Install Rust](https://www.rust-lang.org/tools/install)\n\n   It will run `rustup`, The Rust toolchain installer, which installs\n   `rustc`, `cargo`, `rustup`, amongst other standard tools that compose\n   the default Rust toolchain.\n\n2. Run `rustc --version` in a new shell.\n\n   To verify that the installion is sound.\n\n3. Run `./scripts/rustup-setup`\n\n   To install all `rustup` components and targets required by the\n   Radicle Registry.\n\n\nBuild from source\n-----------------\n\n⚠ Make sure you have followed the [prerequisites](#prerequisites) guide\n  before proceeding.\n\nWe currently only provide prebuilt binaries for `x86_64` linux targets in\nthe [Radicle Registry Releases][releases-page] page.\n\nTo build the Radicle Registry binaries to run on other targers, run:\n\n``` bash\n./scripts/build-release\n```\n\nThe resulting binaries can be found at:\n\n* `./target/release/radicle-registry-cli`\n* `./target/release/radicle-registry-node`\n\n[releases-page]: https://github.com/radicle-dev/radicle-registry/releases\n\n\nGetting the Node\n----------------\n\nWe build binaries of the node and docker images for every pushed commit.\n\nYou can obtain the node binaries from “Artifacts” section of a build on\n[Buildkite][buildkite]. Node binaries are available for the\n`x86_64-unknown-linux-gnu` target triple.\n\nYou can pull a docker image of the node with\n```bash\ndocker pull gcr.io/opensourcecoin/radicle-registry/node:\u003ccommit-sha\u003e\n```\nIn the image the node binary is located at `/usr/local/bin/radicle-registry-node`\n\nTo build the node from source see [`DEVELOPING.md`][dev-manual].\n\n[buildkite]: https://buildkite.com/monadic/radicle-registry/\n\n\nRunning the node\n----------------\n\nTo run a node you need to specify the chain\n~~~\nradicle-registry-node --chain devnet\n~~~\n\nSee below for more information on the different chains.\n\nFor more information use the `--help` flag. See also [“Running development\nnode”][dev-mode].\n\n[dev-mode]: ./DEVELOPING.md#running-development-node\n\n### Logging\n\nThe node prints logs to stdout in the following format\n\n~~~\n\u003clocal time\u003e \u003clevel\u003e \u003ctarget\u003e \u003cmsg\u003e\n~~~\n\nYou can adjust the global log level and the log level for specific targets with\nthe [`RUST_LOG` environment variable][rust-log-docs].\n\n[rust-log-docs]: https://docs.rs/env_logger/0.7.1/env_logger/#enabling-logging\n\nChains\n------\n\nThe chain a node follows is set by the `--chain` flag. The following chains are\nsupported.\n\n### `ffnet`\n\nThe `ffnet` is our first public network for friends \u0026 family to participate.\n\n### `dev`\n\nThe `dev` chain is intended for local development. The node runs an isolated\nnetwork with a dummy proof-of-work. The `dev` chain uses `./runtime-cache/latest.wasm`\nas the genesis runtime.\n\n### `devnet`\n\nWe host a devnet that you can connect to. To join you need to use the most\nrecent pre-built binary (see “Getting the node”).\n\nLike the `dev` chain, we use `./runtime-cache/latest.wasm` as the genesis runtime.\n\nWe are frequently resetting the devnet blockchain. If you local node is not\nsyncing blocks download the most recent version and run `radicle-registry-node\n--chain devnet purge-chain`.\n\n\nUsing the Client\n----------------\n\nThe client for the registry node is provided by the `radicle-registry-client`\npackage in the `./client` directory. To get started take a look at\n`./client/examples/getting_started.rs`.\n\nYou’ll need to build the client with Rust Nightly.\n\nTo build and view the client documentation run `./scripts/build-client-docs\n--open`.\n\nYou can find examples in the `./client/examples` directory.\n\n\nAccount Keys\n------------\n\nWe use Ed25519 keys for accounts. Key creation and handling functionality is\nprovided by the `radicle-registry-client::ed25519` module. To use this module\nyou will likely need to import the `radicle-registry-client::CryptoPair` and\n`radicle-registry-client::CryptoPublic` traits.\n\nYou can create key pairs using [`CryptoPair::generate()`][api-pair-generate]\n```rust\nuse radicle-registry-client::{ed25519, CryptoPair};\nlet (key, seed) = ed25519::Pair::generate();\n```\n\nTo create keys from human readable strings, use [`CryptoPair::from_string`][api-pair-from-string].\n```rust\nuse radicle-registry-client::{ed25519, CryptoPair};\nlet alice = ed25519::Pair::from_string(\"//Alice\", None);\n```\n\nTo obtain the [`SS58`][ss58-docs] address for your local key-pairs, you can run:\n\n``` bash\ncargo run -p radicle-registry-cli -- key-pair list\n```\n\nThe `radicle-registry-client::ed25519` module and the crypto traits are\nre-exports from [`substrate_primitives::ed25519`][api-ed25519] and\n[`substrate_primitives::crypto`][api-crypto], respectively\n\n[api-ed25519]: https://crates.parity.io/substrate_primitives/ed25519/index.html\n[api-crypto]: https://crates.parity.io/substrate_primitives/crypto/index.html\n[api-pair-generate]: https://crates.parity.io/substrate_primitives/crypto/trait.Pair.html#method.generate\n[api-pair-from-string]: https://crates.parity.io/substrate_primitives/crypto/trait.Pair.html#method.from_string\n[ss58-docs]: https://github.com/paritytech/substrate/wiki/External-Address-Format-(SS58)\n\nDeveloping with the Client\n--------------------------\n\nFor development you can create a ledger emulator with\n`radicle_registry_client::Client::new_emulator()`. Instead of connecting to a\nnode this client runs the ledger in memory. See the API docs for more\ninformation.\n\n\nUsing the CLI\n-------------\n\nWe provide a CLI to talk read and update the ledger in the `cli` directory. To\nlearn more run `cargo run -p radicle-registry-cli -- --help`.\n\n\nLicense\n-------\n\nThis code is licensed under [GPL v3.0](./LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradicle-dev%2Fradicle-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradicle-dev%2Fradicle-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradicle-dev%2Fradicle-registry/lists"}