# Playing Around with Radicle Radicle is planning to become a "decentralized code collaboration" platform (think "decentralized GitHub"). I'm keeping some notes here around how you can test things out (this is mostly a note-to-self for the time being - you can find me on the radicle discord as `@yorgos` for any questions). ## Install `rad` ### Option 1: Install just the tools ```bash= cargo install --git https://github.com/radicle-dev/radicle-client-tools.git --force --locked rad rad-auth rad-init rad-push rad-sync ``` ### Option 2: Clone Git repo and build manually ```bash= git clone https://github.com/radicle-dev/radicle-client-tools cd radicle-client-tools cargo build --workspace ``` You can then find the binaries in `./target/debug`. ## Create a Radicle Identity ```bash= ./rad-auth --init Initializing your ๐ŸŒฑ profile and identity ok Username ยท yorgos ok Passphrase ยท ******** ok Creating your ๐ŸŒฑ Ed25519 keypair... ok Adding to ssh-agent... ok Profile <redacted> created. Your radicle Peer ID is <redacted>. This identifies your device. Your personal ๐ŸŒฑ URN is rad:git:<redacted>. This identifies you across devices. => To create a radicle project, run `rad init` from a git repository. ``` ### View available identities and pick one You can view the available identities like so: ```bash= ./rad-auth Your active profile is <redacted> <redacted> * <redacted> ``` ## Initialize Git repo for Radicle ```bash= 22-02-01 9:57 โžœ home-on-k8s git:(master) โœ— rad-init Initializing local ๐ŸŒฑ project home-on-k8s ok Description ยท A kubernetes for your/my home ok Default branch ยท main ok Initializing new project in /Users/gsaslis/... ok Project initialized: rad:git:<redacted> => To publish, run `rad push`. ``` ## Push Git Repo to Community Node 1. `git push --set-upstream rad main` 2. Ensure you have `git --version` 2.34.0 or greater 3. Push: ```bash= 22-02-01 11:22 โžœ home-on-k8s git:(main) โœ— rad-push Pushing ๐ŸŒฑ to remote `rad` $ git push rad Password for 'rad://radicle@<redacted>.git': Everything up-to-date Git version 2.34.1 Git signing key ssh-ed25519 <redacted> Syncing ๐ŸŒฑ project rad:git:<redacted> to https://pine.radicle.garden/ ok Syncing delegate identity <redacted>... ok Syncing project identity... ok Syncing project refs... ok Project synced. ๐ŸŒฑ Your project is synced and available at: (web) https://app.radicle.network/seeds/pine.radicle.garden/projects/rad:git:<redacted> (web) https://app.radicle.network/seeds/pine.radicle.garden/projects/rad:git:<redacted>/remotes/<redacted> (git) https://pine.radicle.garden/<redacted>.git ``` ### Deploy your own community node with radicle-service-init //todo: ... ## Create Org (through Web UI) 1. Visit https://app.radicle.network/orgs 1. Ensure your wallet is connected. 1. Click on Create, next to "My Orgs" 1. Sign the transaction in your wallet. 1. You should see a success message like below: ![](https://i.imgur.com/QiXjal6.png) ## Register an ENS name for your org 0. First you'll need some `RAD` tokens. If you want to try this on a testnet, check [this faucet](https://app.radicle.network/faucet). 1. Visit https://app.radicle.network/registrations 1. Connect your wallet 1. Type in an Ethereum Name Service (ENS) name for your org and click "Check" 1. You should see the below confirmation: ![](https://i.imgur.com/5p3xGbQ.png) 1. Click "Begin registration" 1. Confirm the transaction on your wallet. 1. Wait for some time and then sign the second transaction required to finalize your registration. 1. Finally, you will be able to see your ENS name registration. ![](https://i.imgur.com/vzkfuK6.png)