A 9 months journey into infrastructure decentralization
DAppNode stands for decentralization, privacy, ownership of data and assets. We help decentralized systems become more resilient by simplifying the creation of more privately-owned nodes, which helps both architectural and political decentralization: the higher the number of machines in a system, the more architecturally decentralized a system is, but if the majority of these machines are owned by one company or hosted in VPSs owned by one company, the system is not resilient to arbitrary shutdown of the system -that’s what political decentralization refers to.
Our vision is to have people running nodes, and that it makes sense for these people to be running those nodes. In order to make sense it has to be economically viable and easy enough that anyone can do it. The first requirement is not far in the future: more and more DApps are testing and experimenting with incentive layers, including ETH2.0, but we saw the big gap on the technical complexity of setting up and maintaining nodes. We decided to tackle this with an Open Source system that anyone could install and start running any nodes with one click.
But we couldn’t build it alone. So we got help from the greatest funders in the ecosystem.
It has been 9 months since we received financial support from Ethereum Foundation, Aragon and the Ethereum Community Fund grants, and DAppNode is now in version 0.2.0. Thank you for making it possible!
We take privacy seriously, so we don’t track how many users we have, this is part of our mission. But we have a vibrant community, and you have accompanied us from alpha to a fully functional software. You guided us, provided feedback and even debugged. We want to help you not have to worry about maintaining P2P nodes, but you have helped us maintain our project.
What has happened so far?
Here you have a recap of the product advancement in this 9 months before the release of DAppNode 0.2.0.
Tools, tech and core packages:
- We deployed the Aragon Package Manager (APM) registry contracts, making them permissionless. Devs can easily register their packages in the DAppNode registry based on the APM which helps in fostering the use of Aragon in mainnet and creates a decentralized system for software installation.
- Our SDK is ready to help devs develop and publish their DAppNode packages on DAppNode, available then with an IPFS hash or with an ENS domain. This was a great step that gave more functionality and value to DApp developers. We also have provided them with a graphic interface to assist in the final steps of publishing a package, right from their DAppNode’s UI.
- The installation process has been greatly improved using either an ISO image or script with two simple one-line commands.
- We have implemented UPnP protocol compatibility to smooth the installation process and operation without having to deal with ports. This makes it seamless to install and use DAppNode.
- In v0.2.0 we changed our base OS to Debian since they have a fully Open Source policy and it’s maintained by the community. We also changed to OpenVPN as the method to connect to the DAppNode from anywhere since it’s more stable and also completely Open Source.
- The IPFS package and its web UI has been updated, and the overall performance of IPFS as core package of DAppNode has been greatly improved, sometimes you do not even notice you are using IPFS. We have also added a feature that allows to p2p connect two IPFS nodes with one click.
- A major redesign of the ADMIN UI has been completed, making it more useful and user-friendly: we implemented a notifications tab that informs the user about important issues regarding the status of DAppNode and we included an auto-diagnose tool in the ADMIN UI. In addition, users can now also see complete info of all the installed packages and directly report issues from the admin UI with a pre-populated template that gathers relevant info from the DAppNode (always optional)
- In case the Nodler has a dynamic IP (like the majority of us), we have implemented a DynDNS server that allows the IP of the DAppnode to always resolve to a fixed domain XXXXXXXXX.dyndns.dappnode.io so Nodlers do not need to pay any internet provider for a static IP, but still can have their DAppNode visible when their IP is changed by any ISP. In addition, users that have a static IP can now set it up in the DAppNode.
- Nodlers can now select in the installation the ports to be used by the installed package and also the path in which packages/volumes will be installed. The option to upload and download files to and from any package is also available and it is possible to set up environment variables to customize the operation of each package, either in the installation or after it.
- Nodlers are now able to see logs of the DAppNode in the AdminUI. We believe it is important to give users access to these logs without being obliged to perform any task on the console, this also helps us to provide better support as these logs can be easily downloaded in a JSON file to be analyzed by our team.
- Servers where DAppNode is installed are now protected from being overfilled with chain data until the point it makes the server useless: there are now two security thresholds that stop packages from downloading more data when the disk is near full capacity, and Nodlers get a notification so they can act on it.
- We have included a WIFI package that allows a seamless connection to your DAppNode without the need of connecting via VPN.
- Ethereum, Bitcoin and Monero nodes are now available in DAppNode. For testnets we support Rinkeby, Ropsten, Kovan and Goerli
- In terms of DApps you can now install with one click Swarm and Status and we’ve just added Vipnode and Artis. Non that long ago we announced our partnership with Raiden and we will have it available in DappNode very soon! And, shhh! we have some ETH2.0 validators running for testing prior to an official release in our installer.
- We have developed an NFT issuer as an Aragon App.
As mentioned above, networks will become more resilient if they are both architecturally and politically decentralized. We acknowledge that not everyone will have a spare machine to dedicate to installing and running a node. To eliminate all friction for everyone to be able to do so, we will start selling DAppNode Boxes the 3rd of June! DAppNode Boxes are top quality servers preinstalled with DAppNode that will start running after turning them on and synching. True plug and play nodes!
As stated before, this is as much our work as it is our community, so voice your concerns in our Riot! We hope to continue having your support to make our infrastructure decentralization dreams come true.
This post has been made in cooperation of all the DAppNode team. Now… back to delivering!