Tools for dapps

Command-line-friendly tools for blockchain development

We believe that the free software movement is the most important cultural predecessor to the modern-day renaissance in decentralized technologies.

To catalyze the growth of this ecosystem, and to empower hackers to participate, we’re building a comprehensive suite of blockchain-oriented developer tools in the spirit of the Unix philosophy.

Dapp is all you need to start developing for Ethereum. It creates new dapps, runs Solidity unit tests, debugs, deploys, launches testnets, and more.

Seth is a handy tool for slicing and dicing transactions, querying the blockchain, converting between data formats, performing remote calls, and other everyday tasks.

Hevm is our own EVM implementation with a nimble terminal-based Solidity debugger. It’s used for dapp test and dapp debug.

Evmdis is an EVM disassembler written and maintained by Nick Johnson. It’s useful to make sense of EVM bytecode, especially when developing contracts at the assembly or raw bytecode level.

Installing

Setting up the DappHub toolkit

We recommend using the Nix package manager. It works on Linux and OS X and is self-contained and unobtrusive.

$ curl https://nixos.org/nix/install | sh
$ nix-channel --add https://nix.dapphub.com/pkgs/dapphub
$ nix-channel --update
$ nix-env -iA dapphub.{dapp,seth,hevm,evmdis}

Our post “Dapp tools and the Nix package manager” explains what makes Nix special and why we chose it for our tools.

Basics

Quick intro to working with the dapp tools

You can get started with dapp development very easily:

$ mkdir example
$ cd example
$ dapp init
$ vi src/example.sol
$ dapp test
$ dapp debug

For details about the dapp command, see dapp.tools/dapp.

The DappHub Collective

We build infrastructure for the next generation of the internet

DappHub is a self-organizing network of logicians, researchers, designers and developers spread out across the globe.

Our network is always growing. If you want to join, just come to our chat room and introduce yourself.

Join the DappHub chat

Dappsys

Safe, simple, flexible building-blocks for Ethereum contracts

We also maintain Dappsys, an audited collection of smart contract building blocks designed to complement each other. They include;

Using these proven parts lets us focus on the novel features of the systems we develop. We share Dappsys to benefit the smart contract ecosystem.