/dapptools

Dapp, Seth, Hevm, and more

Primary LanguageHaskell

Dapp tools by DappHub Chat

Hello!

This repository contains the source code for several Ethereum tools hand-crafted and maintained by DappHub, along with dependency management, courtesy of Nix.

Contents:

  • Dapp - all you need Ethereum development tool. Build, test, debug & deploy solidity contracts.
  • Seth - Ethereum CLI. Query contracts, send transactions, follow logs, slice & dice data.
  • Hevm - Ethereum evaluator. Fully complient Haskell EVM implementation.
  • Ethsign - sign Ethereum transactions from a local keystore.

Easy install

All tools and dependencies can be automaticaly installed by running:

curl https://dapp.tools/install | sh

You may also need to add the nix binaries to your path:

export PATH="$PATH:$HOME/.nix-profile/bin"

Manual install

For a manual install, please follow the instructions below.

Install Nix

Make sure you are using Nix v2

curl https://nixos.org/nix/install | sh

# Run this or login again to use Nix
. "$HOME/.nix-profile/etc/profile.d/nix.sh"

Setup Cachix (optional)

If you want to cache the binary builds across several computers, Nix provides several ways of doing this, the most convenient being the Cachix service.

We maintain a public cache which you can use by installing Cachix

nix-env -if https://github.com/cachix/cachix/tarball/master --substituters https://cachix.cachix.org --trusted-public-keys cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM=

then running

cachix use dapp

followed by restarting your Nix daemon (if on a multi-user Nix installation)

Install tools

To install tools from this repository, you need to run

git clone --recursive https://github.com/dapphub/dapptools $HOME/.dapp/dapptools
nix-env -f $HOME/.dapp/dapptools -iA dapp seth solc hevm ethsign

which will build and install these tools into your Nix profile, optionally fetching the binaries from the cache if you have configured it.

Installing custom solc versions

For a list of the supported solc versions, check ./nix/solc-versions.nix.

You can specify a solc version to run within dapp with dapp --use solc:x.y.z test, but you can also install solc "standalone" (i.e. add it to your $PATH) with:

   $ nix-env -f $HOME/.dapp/dapptools -iA solc-versions.solc_0_5_0

Versions of solc that haven't yet landed in nixpkgs can be found under the unreleased key: solc-versions.unreleased.solc_x_y_z. Again, refer to ./nix/solc/versions.nix for a list of supported unreleased versions.

NOTE: not all versions are supported on macOS platforms.

Contributing

Instructions for adding new versions of solc can be found at nix/solc-updates.md


built with nix