/DAppNode

General repository of the project dappnode

Primary LanguageShellGNU General Public License v3.0GPL-3.0

DAppNode

Website dappnode.io Documentation Wiki GIVETH Campaign GitHub All Releases Twitter Follow




Infrastructure for the decentralized world

DAppNode is empowering people by creating a simple, transparent system for hosting P2P clients for DApps, Cryptocurrencies, VPNs, IPFS and more

Discover DAppNode

DAppNode lowers the barrier of entry for non tech-savy participants. It allows you to deploy, update, and manage P2P clients and nodes without leaving your browser. No terminal or command line interface.

Develop with DAppNode

DAppNode modular architecture allows any team to or project to publish a dockerized application to the DAppNode packages eco-system. Benefit from an enthusiatic crypto savy user based and offer a user interface-only experience to lower onboarding friction.

Check out the DAppNodeSDK to learn how to get started.

Note: packages are published to Ethereum mainnet and incur costs. Given the current high gas prices the DAppNode team is willing to subsidize gas costs for packages of great interest to users.

Packages eco-system

The community and core team members have created many useful packages for users. Checkout the package explorer to browse an up-to-date list of all packages and their versions.

Champions

Champions are community members that are in charge of maintaining packages updated. All packages in this list without a champions are actively looking for a champion. Join our DAppNode Discord #champion-process to suggest a package to be championed and/or offer to be a champion for a project you care about!

Package Champion
Avalanche Wimel
ARTIS-sigma1 -
Bee @tropicar
Bitcoin @Pol-Lanski
Block-explorer -
Cosmos Wimel
DMS @eduadiez
Eth2stats-client -
Ethereum Classic -
Ethereum Optimism -
Exporter @eduadiez
Geth @pablomendezroyo
Goerli Geth @pablomendezroyo
HTTPs Portal @3alpha
Ipfs Cluster @dapplion
Ipfs Pinner @dapplion
Kovan @pablomendezroyo
LightningNetwork @pablomendezroyo
Matrix -
Metrics Tools @eduadiez
Monero @pablomendezroyo
Nethermind @pablomendezroyo
Openethereum @pablomendezroyo
Owncloud @tropicar
Polkadot Kusama -
Prysm @pablomendezroyo
Prysm Pyrmont @pablomendezroyo
Raiden @eduadiez
Raiden Testnet @eduadiez
Rinkeby @pablomendezroyo
Ropsten @pablomendezroyo
Storj @pablomendezroyo
Tornado Cash Relayer -
Trustlines -
Turbo-geth @gnidan
Vipnode -
Wireguard @3alpha
ZCash -

Core packages

Get DAppNode

Get your DAppNode and start contributing to decentralization by running your own nodes.

Install DAppNode on your host machine or buy your DAppNode with all the stuff configured and prepared to be used in DAppNode shop

Install DAppNode with ISO

DAppNode ISO available in: latest DAppNode release

Install DAppNode on your host machine by burning DAppNode ISO to a DVD or creating a bootable USB. Follow the tutorial of your operating system below and come back when you are finished:

Developers: DAppNode ISO could be generated following these steps:

git clone https://github.com/dappnode/DAppNode.git
cd DAppNode
docker-compose build
docker-compose up

DAppNode iso will be generated inside images folder, to verify it:

ls -lrt images/DappNode-*

Note: ISO could be generated as unhattended/attended by editing the env var available in the docker-compose.yml file

Install DAppNode with scripts

Scripts available in: latest DAppNode release

DAppNode could be also installed on a host machine with an OS already running on it. DAppNode has been developed and configured to be run on debian host machines so is preferably to install DAppNode on Debian or debian based (like Ubuntu) host machines.

1. Prerrequisites

Before install DAppNode with the script option, make sure you fullfill the requirements by running the following script:

sudo wget -O - https://prerequisites.dappnode.io | sudo bash

2. Script installation

Once you make sure you have the requirements, install DAPpNode with the installation script:

sudo wget -O - https://installer.dappnode.io | sudo bash

3. Uninstall DAppNode

Uinstall DAppNode on your host machine by running the following command:

wget -qO - https://uninstaller.dappnode.io | sudo bash

4. Update DAppNode from scripts

To update DAppNode to the latest version using script:

sudo wget -O - https://installer.dappnode.io | sudo UPDATE=true bash

Releases

Create releases manually with github actions, the github action to run is: Pre-release. Requirements are:

  • Introduce the core packages versions
  • There must exist the corresponding core package release for the specified version

The release will contain:

  • Assets:
    • Scripts: dappnode_access_credentials.sh, dappnode_install.sh, dappnode_uninstall.sh, dappnode_install_pre.sh, dappnode_profile.sh
    • ISOs: DAppNode-vX-debian-bullseye-amd64-unattended.iso, DAppNode-vX-debian-bullseye-amd64-unattended.iso
  • Release body:
    • Table with core packages versions
    • Changes section
    • SHASUMs for unattended and attended ISOs
    • Default credentials

Testing with artifacts

Generate ISOs and test them by running the github action: Artifacts. This action will generate an artifacts with the same assets as the release, useful for testing purposes.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Team members

Members of the White Hat Group (WHG) have spent countless hours boostraping and developing DAppNode in 2017. Currently, the project is mantained by a growing multi-disciplary team:

  • Adviser & Instigator: Jordi Baylina
  • Project Lead: Eduadiez
  • Developer Lead: dapplion
  • Ecosystem Development Pol Lanski
  • Developer: Pablo
  • Developer: Carlos
  • Adviser: Griff Green

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details