• This repository has been archived on 09/Sep/2020
  • Stars
    star
    913
  • Rank 50,025 (Top 1.0 %)
  • Language
    Haskell
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A peer-to-peer stack for code collaboration

๐Ÿšจ THIS PROJECT IS NOT ACTIVELY MAINTAINED ๐Ÿšจ

We are still developing Radicle, the main repositories are:

Join us on discourse for updates, and if you want to get involved!


Radicle

A peer-to-peer stack for code collaboration.

  • peer-to-peer : The Radicle stack builds on IPFS, and works without a centralized server. No hassle with setting up your own hosting, and no need to trust companies with your data.
  • terminal-first : A Radicle project contains a git repository, plus the associated issues and proposals. Access all the issues and proposals associated with your codebase right from your terminal.
  • programmable : Ever wanted to tweak your code collaboration service? With Radicle each unit of functionality โ€“a machineโ€“ is its own litte P2P program, written in the Radicle language. You can change them to suit your needs, or create entirely new ones.

Radicle has a webpage which contains a lot more information on Radicle.

Installation

To build Radicle from source you will need stack.

And make sure the location at which stack installs executables is in your PATH: export PATH=$HOME/.local/bin:$PATH.

stack build
stack install :rad :radicle

Note: stack will need about 4GB of memory to compile successfully.

To use Radicle you will also need to install ipfs and git-remote-ipfs. Running Radicle requires you to keep both the Radicle daemon and Radicle IPFS daemon running.

rad daemon-ipfs
rad daemon-radicle

Debian/Ubuntu

We provide .deb packages for Debian-based systems.

wget https://storage.googleapis.com/static.radicle.xyz/releases/radicle_latest_amd64.deb
sudo apt install ./radicle_latest_amd64.deb

To use Radicle you need to start the Radicle daemon

systemctl --user start radicle-daemon
systemctl --user status radicle-daemon

Issues

We are currently using Radicle itself to manage issues (but you can still submit issues on Github). You can create and see issues with rad issues list in the project repo. To checkout the project, run:

rad project checkout 12D3KooWPS3UXcvSZSXfi7P4J9Ut8MMVNvN63HHiCSP8rxj3RmtC

If you cloned the project from Github, you can instead, from the repo, run:

git config radicle.project-id 12D3KooWPS3UXcvSZSXfi7P4J9Ut8MMVNvN63HHiCSP8rxj3RmtC

You can also reach us on the radicle IRC channel on #freenode, or via the mailing list.

Development

The script ./scripts/ci-tests.sh runs all tests that are run on CI. The script requires docker and docker-compose to be installed for end-to-end tests.

The documentation is build with make -C docs html. Reference documentation for Radicle code must be regenerated with stack run radicle-doc-ref and checked into version control.

End-to-end Tests

The end-to-end test suite is run with

RAD_IPFS_API_URL=http://localhost:19301 \
  RAD_BIN="$(stack path --docker --local-install-root)/bin" stack test :e2e

It requires you to first start up an IPFS test network and the Radicle daemon.

docker-compose -f test/docker-compose.yaml up -d ipfs-test-network
RAD_IPFS_API_URL=http://localhost:19301 stack exec -- \
  rad-daemon-radicle --machine-config /tmp/radicle-machines.json

And to build the project with stack's docker support:

stack build --docker

If you use docker-compose up for the first time you will also need to initialize the IPFS test network with

echo '{"radicle": true}' | \
  docker-compose -f test/docker-compose.yaml exec -T ipfs-test-network ipfs dag put

If you are using docker-machine, replace localhost in RAD_IPFS_API_URL with the output of docker-machine ip.

You can reset the test daemonโ€™s machine configuration by removing the file /tmp/radicle-machines.json.

Packaging

Packages can be built with the ./packaging/build-package.sh script. Run it with -h for more information. The script requires fpm.

On CI a Debian package is built for every commit and uploaded to http://static.radicle.xyz/releases. The package uses the commit hash as the version.

Troubleshooting

Your local machine might build binaries that are incompatible with the debian:stretch container image. In that case building the docker images fails. You can build compatible binaries using stackโ€™s docker integration. This is enabled by passing the STACK_DOCKER=1 environment to ./scripts/ci-tests.sh.

Code of conduct

Please read our code of conduct when thinking of contributing.

More Repositories

1

radicle-upstream

Desktop client for Radicle.
Svelte
616
star
2

radicle-link

The second iteration of the Radicle code collaboration protocol.
Rust
423
star
3

heartwood

โค๏ธ๐Ÿชต Radicle Heartwood Protocol & Stack
Rust
131
star
4

radicle-interface

Radicle web interface
Svelte
93
star
5

radicle-cli

Radicle CLI
Rust
87
star
6

radicle-contracts

Radicle contracts on Ethereum
Solidity
67
star
7

radicle.xyz-old

The website
Mustache
53
star
8

drips-contracts

Drips smart contracts
Solidity
44
star
9

radicle-git

Everything Radicle growing around Git
Rust
33
star
10

radicle-surf

A code browsing library for VCS file systems.
Rust
33
star
11

radicle-registry

An experimental Substrate implementation of the Radicle Registry ๐Ÿ“’
Rust
33
star
12

radicle-client-services

Services backing the Radicle client interfaces.
Rust
31
star
13

radicle-bins

Collection of radicle binaries.
Svelte
22
star
14

radicle-decisions

Radicle Developers of All Countries, Unite!
Shell
17
star
15

radicle-docs

JavaScript
17
star
16

radicle-grants

Repository for all grants related work
Jupyter Notebook
16
star
17

radicle-orgs

Radicle Orgs Ethereum Contracts
Solidity
11
star
18

drips-periphery

Smart contracts for Radicle Drips
Solidity
10
star
19

radicle-cloud

Solidity
10
star
20

drips-js-sdk

JavaScript SDK for the Radicle Drips protocol ๐Ÿ’ง
TypeScript
9
star
21

radicle-avatar

Avatar generation library
Rust
9
star
22

drips-app-v2

๐Ÿ’ง Crowdfunding For The Open Web โ€” Drips Frontend App
Svelte
8
star
23

garden

This is a community space where anyone can add a plot by walking through our Radicle introductory guide.
HTML
8
star
24

radicle-whitepaper

The Radicle Language Whitepaper
TeX
7
star
25

homebrew-radicle

๐ŸŒฑ Radicle homebrew tap for easy distribution to a macos near you.
Ruby
6
star
26

old.radicle.xyz

Website for Radicle, a P2P stack for code collaboration.
HTML
5
star
27

radicle-desktop

Radicle desktop app
Svelte
5
star
28

drips-app

Vue
4
star
29

radicle-design-system

Radicle Design System ๐ŸŽจ
Svelte
4
star
30

radicle-keystore

Key Management
Rust
3
star
31

lbp.radicle.network

JavaScript
3
star
32

web-prototype

React web prototype
JavaScript
3
star
33

workstreams-app

Front end of workstreams app
TypeScript
3
star
34

radicle-drips-docs

CSS
2
star
35

gnosis-safe-subgraph

TypeScript
2
star
36

radicle-ssh

SSH wares
Rust
2
star
37

radicle.network-landing

The landing page for radicle.network.
HTML
2
star
38

workstreams-api

Rust
2
star
39

drips-sdk-examples

1
star
40

drips-landing-page

The marketing website for Drips.
HTML
1
star
41

radicle-subgraph

TypeScript
1
star
42

radmail

Rust
1
star
43

rad-radio

This is the website for RAD RADIO a collaboration between the decentralized streaming platform LivePeer, decentralized code collaboration stack Radicle, and Berlin video/radio broadcast series Hรถr.
Vue
1
star
44

transparent-machines-doc

Transparent Radicle machines
TeX
1
star
45

rad-clojure-berlin-04-2019

Nix
1
star
46

rad-issues-frontend

GUI for radicle issues
JavaScript
1
star
47

radicle.blog

The Radicle blog
Mustache
1
star
48

drips-subgraph

TypeScript
1
star
49

registry.radicle.xyz

The Radicle Registry Developer Documentation
JavaScript
1
star
50

radicle-tui

Radicle terminal user interface
Rust
1
star