Skip to content

vulcanize/dapptools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,327 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Installation

Install Nix if you haven't already:

# user must be in sudoers
curl -L https://nixos.org/nix/install | sh

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

Then install dapptools:

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

Upgrading geth-statediff

  1. Set version at src/go-ethereum-statediff/default.nix line 5

  2. Get sha256 hash using

    nix-prefetch-url https://github.com/vulcanize/go-ethereum/releases/download/${version}/geth-linux-amd64
    

    Replace ${version} with correct geth-statediff version. For example:

    > nix-prefetch-url https://github.com/vulcanize/go-ethereum/releases/download/v1.10.3-statediff-0.0.22/geth-linux-amd64
    [39.4 MiB DL]
    path is '/nix/store/9da7jqjw52lhl9cr6an8m4c478rg6yn6-geth-linux-amd64'
    1jnc96ly0qi40j8dlgip520n83gfrbv30bqdk9h5fslxzcwhf0yj
    

    1jnc96ly0qi40j8dlgip520n83gfrbv30bqdk9h5fslxzcwhf0yj is sha256 hash. Set it at src/go-ethereum-statediff/default.nix line 8

  3. Bump versions at

    • src/dapp/libexec/dapp/dapp---version
    • src/dapp/default.nix line 7

Installing custom solc versions

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

nix-env -iA solc-versions.solc_x_y_z \
  -if https://github.com/dapphub/dapptools/tarball/master

(NOTE: if you haven't installed dapptools with the one-line installer, you'll have to manually pass substituters in the command above, or configure Cachix manually, to avoid compilation)

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

Versions of solc that haven't yet landed in nixpkgs can be found under the unreleased key: solc-versions.unreleased.solc_x_y_z.

(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

About

Dapp, Seth, Hevm, and more

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Haskell 63.6%
  • Shell 16.0%
  • Nix 8.0%
  • Go 2.8%
  • Solidity 2.2%
  • JavaScript 1.7%
  • Other 5.7%