deth
Version:
Ethereum node focused on Developer Experience
72 lines (57 loc) • 2.35 kB
Markdown
<p align="center">
<img src="https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/240/google/223/skull-and-crossbones_2620.png" width="120" alt="deth">
<h3 align="center">Deth Node</h3>
<h5 align="center">/ dev nəʊd /</h5>
<p align="center">Ethereum Node focused on Developer Experience</p>
<p align="center">
<img alt="Build status" src="https://circleci.com/gh/ethereum-ts/deth.svg?style=svg">
<a href="/package.json"><img alt="Software License" src="https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square"></a>
</p>
</p>
## Features
- RPC support
- state snapshots, time manipulation, mining control
- print out decoded logs and calldata for all transactions (even reverted ones!)
- display revert reasons
**Note**: current features represent just a gist of what we want to accomplish.
## Installation
```
npm install --save-dev deth
```
## Getting started
```sh
deth [config]
```
Sample config (we support only `.js` configs for now):
```js
const BN = require('bn.js')
module.exports = {
accounts: {
privateKeys: [
'0x47be2b1589bb515b76b47c514be96b23cd60ee37e81d63c2ae9c92f7d7667e1a',
'0x72a4d3589099f14b31725dee59b186419bac41c42d2d02b2c70c1a8af2a2b6bb',
'0x1ff8271bf14ac9bef0b641cced40dc2a7ebd2e37d8e16d25b4aa1911364219af',
'0x1444ab10c1d1e8aabb89534218854df60d90bb45f39b55634777461d5a465e2e',
'0xbff5647520d5e327178330ec0085ab27a58fb26ecb942f770397a940fa5c5d29',
'0x8db53d08e85593ffb623e89e352bfed4eea350e6cc9812f11eac4de576f3cfda',
'0x24e467ab36f3cf70767135775ec1f7cc2a8b17363055e548113d85072136f945',
'0xc3bc1a16a82622f9bddf48f8e754c98092755e2e3782aafdca4ce21a1082747f',
'0xe54c55b3c5d80d445841afa3141e52592bec8523d8993d8df1811bfc5bf64d59',
'0x48ee1f88167591357bb6780cbc09bc01e2a93d439e789d44261bf747034164e0'
],
initialBalance: new BN(10000).pow(new BN(18))
},
blockchain: {
chainId: 420
},
debugger: {
abiFilesGlob: '../contracts/**/out/*.abi'
}
}
```
NOTE: `debugger > abiFilesGlob`.
You can find defaults [here](https://github.com/ethereum-ts/deth/blob/master/packages/node/src/config/config.ts)
## Roadmap
- original source code (sol) awareness (source maps, memory layouts etc.)
- Web interface (simple block explorer)
- real debugger (via webinterface or directly in the IDE)