All Projects → dapphub → Dapptools

dapphub / Dapptools

Dapp, Seth, Hevm, and more

Programming Languages

haskell
3896 projects

Projects that are alternatives of or similar to Dapptools

Eth Dev Reading List
A list of links to articles, tutorials and papers that are helpful for people developing on the ethereum stack
Stars: ✭ 280 (-22.65%)
Mutual labels:  ethereum, dapp
Awesome Decentralized
🕶 Awesome list of distributed, decentralized, p2p apps and tools 👍
Stars: ✭ 358 (-1.1%)
Mutual labels:  ethereum, tools
Augur
Augur - Prediction Market Protocol and Client
Stars: ✭ 294 (-18.78%)
Mutual labels:  ethereum, dapp
Awesome Ethereum Security
A curated list of awesome Ethereum security references
Stars: ✭ 345 (-4.7%)
Mutual labels:  ethereum, evm
Truffle eth class2
Stars: ✭ 330 (-8.84%)
Mutual labels:  ethereum, dapp
Ruby Ethereum
A Ruby implementation of Ethereum.
Stars: ✭ 270 (-25.41%)
Mutual labels:  ethereum, evm
Ethersplay
EVM dissassembler
Stars: ✭ 304 (-16.02%)
Mutual labels:  ethereum, evm
LunDAO
LunDAO 是一個鼓勵撰寫與 Ethereum 社群相關的中深度的中文文章,透過一個短期的實驗專案嘗試 DAO 可以如何進行社群治理以及回饋社群貢獻。
Stars: ✭ 50 (-86.19%)
Mutual labels:  dapp, evm
Love Ethereum
区块链学习
Stars: ✭ 323 (-10.77%)
Mutual labels:  ethereum, dapp
Embark
Framework for serverless Decentralized Applications using Ethereum, IPFS and other platforms
Stars: ✭ 3,478 (+860.77%)
Mutual labels:  ethereum, dapp
Monax
DEPRECATED. To be removed December, 2018 (use monax/bosmarmot)
Stars: ✭ 269 (-25.69%)
Mutual labels:  ethereum, evm
Evm Opcodes
Ethereum opcodes and instruction reference
Stars: ✭ 344 (-4.97%)
Mutual labels:  ethereum, evm
Astar
The dApp hub for blockchains of the future
Stars: ✭ 533 (+47.24%)
Mutual labels:  dapp, evm
Celo Monorepo
Official repository for core projects comprising the Celo platform
Stars: ✭ 269 (-25.69%)
Mutual labels:  ethereum, dapp
foundry
Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
Stars: ✭ 4,623 (+1177.07%)
Mutual labels:  dapp, evm
Bamboo
Bamboo see https://github.com/cornellblockchain/bamboo
Stars: ✭ 300 (-17.13%)
Mutual labels:  ethereum, evm
Awesome Buggy Erc20 Tokens
A Collection of Vulnerabilities in ERC20 Smart Contracts With Tokens Affected
Stars: ✭ 251 (-30.66%)
Mutual labels:  ethereum, dapp
nft-swap-sdk
Ethereum's missing p2p NFT and token swap library for web3 developers. Written in TypeScript. Powered by 0x.
Stars: ✭ 200 (-44.75%)
Mutual labels:  dapp, evm
Squeezer
Squeezer Framework - Build serverless dApps
Stars: ✭ 3,242 (+795.58%)
Mutual labels:  ethereum, dapp
Dappsys
Composable building blocks for Ethereum contracts
Stars: ✭ 341 (-5.8%)
Mutual labels:  ethereum, nix

Dapp tools by DappHub Chat

Hello!

dapptools is a suite of Ethereum focused CLI tools following the unix design philosophy, favoring composability, configurability and extensibility.

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

  • dapp - all you need Ethereum development tool. Build, test, fuzz, formally verify, debug & deploy solidity contracts.
  • seth - Ethereum CLI. Query contracts, send transactions, follow logs, slice & dice data.
  • hevm - Testing oriented EVM implementation. Debug, fuzz, or symbolically execute code against local or mainnet state.
  • ethsign - sign Ethereum transactions from a local keystore or hardware wallet.

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

This configures the dapphub binary cache and installs the dapp, solc, seth and hevm executables.

You can also install an individual tool with

nix-env -iA <tool> -f $(curl -sS https://api.github.com/repos/dapphub/dapptools/releases/latest | jq -r .tarball_url)

If you instead want to build from master, change the url to https://github.com/dapphub/dapptools/archive/master.tar.gz.

Getting started

For more information about the tools, consult the individual README pages:

seth dapp hevm ethsign

or use the --help flag for any tool.

We're also happy to answer any questions at https://dapphub.chat/.

Examples

Deploy a Hello world contract and call it:

export ETH_RPC_URL=https://mainnet.infura.io/v3/$YOUR_API_KEY
export ETH_FROM=$YOUR_ADDRESS
echo 'contract Hello { function hi() public pure returns(string memory) {return "Hello, World!";}}' | solc --bin -o . --overwrite -
HELLO=$(seth send --create $(<Hello.bin))
seth call $HELLO "hi()(string)"

Debug the first transaction of the latest block in the interactive debugger:

export ETH_RPC_URL=https://mainnet.infura.io/v3/$YOUR_API_KEY
seth run-tx $(seth block latest transactions | jq .'[0]' -r) --debug

If Vitaliks next transaction were a contract deployment, calculate the address it would be deployed at:

export ETH_RPC_URL=https://mainnet.infura.io/v3/$YOUR_API_KEY
dapp address 0xab5801a7d398351b8be11c439e05c5b3259aec9b $(seth nonce 0xab5801a7d398351b8be11c439e05c5b3259aec9b)

Symbolically explore the possible execution paths of a call to dai.transfer(address,uint):

seth bundle-source 0x6b175474e89094c44da98b954eedeac495271d0f > daisrc.json && \
hevm symbolic --address 0x6b175474e89094c44da98b954eedeac495271d0f --rpc $ETH_RPC_URL  --debug --sig "transfer(address,uint256)" --json-file daisrc.json

Contributing

Contributions are always welcome! You may be interested in the architecture of this repository.


built with nix

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].