• Stars
    star
    190
  • Rank 203,136 (Top 5 %)
  • Language
    JavaScript
  • License
    Mozilla Public Li...
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Run an Ethereum node (Geth or Openethereum) for development

ethnode, run an Ethereum node for test and development

ethnode is a zero configuration tool to run a local Ethereum node. It supports both Openethereum and Geth.

Try it out:

npm install -g ethnode
ethnode

Or docker:

docker run -it ghcr.io/vrde/ethnode:latest

ethnode automatically:

  • downloads the latest stable version of geth or openethereum
  • configures geth or openethereum to run in a single node network using the clique (Geth) or InstantSeal (Openethereum) consensus engine (transactions are processed instantly)
  • provides 10 unlocked accounts with 100ETH each
  • enables all RPC endpoints (personal, db, eth, net, web3, debug and more)
  • allows CORS from any domain (so you can use it with remix)

By default ethnode runs geth. If you want to run openethereum type ethnode openethereum.

Examples

Start ethnode and store the data in a specific directory

Every time you run ethnode, it creates a new temporary directory to store the data. If you want to persist the data in a specific directory use:

ethnode --workdir=mydata

Start ethnode and allocate 100ETH to one or more target addresses

Sometimes you want to allocate Ether to some specific addresses (maybe some other accounts you have on MetaMask). This is an alternative approach to import a private key to your MetaMask extension.

ethnode --allocate=0xad7b5e515e557b2dc4d0625d206394b502412003,0xecdd5b467e38731bfad4bd75faa45c7d58e41b49

Start ethnode to run some tests and then exit

This is quite handy if you want to have a precommit hook that runs tests before committing, or if you want to integrate with a continuous integration system like travis.

ethnode --execute="truffle test"

Start

FAQ

Why not just running openethereum --config dev?

Openethereum has a nice feature to run it as a private development chain (aka test RPC).

While testing it, I run into some problems, like:

  • address management
  • outdated genesis file
  • the default configuration (--config dev) doesn't:
    • open up CORS
    • unlock the test keys

Why not just running geth --dev?

More or less for the same reasons mentioned above.

Why not ganache-cli?

Ganache sometimes is not enough.

More Repositories

1

i3-quiet

Distraction free i3 experience
Python
75
star
2

notes

some notes
JavaScript
38
star
3

serenissimo

A telegram bot that messages you available vaccine appointments in the Veneto region
Python
29
star
4

morgenjs

this is total madness
JavaScript
15
star
5

dotfiles

My dotfiles for vim/tmux whatever
Shell
10
star
6

slack-utils

post stuff to slack
Python
9
star
7

erc721-balance

Get all erc721 tokens owned by an address.
JavaScript
7
star
8

erc721-benchmark

JavaScript
5
star
9

web3-contracts

My HardHat + TypeScript configuration
TypeScript
5
star
10

realtime-rating

A demo built on top of RethinkDB, socket.io, and Express.
JavaScript
5
star
11

saydao

SayDAO
JavaScript
5
star
12

ghstats

A tool to extract stats from a GitHub repository.
Go
4
star
13

svelte-web-extension-template

A minimal template to build your own web extension
JavaScript
4
star
14

mactrack

How surveillance works, chapter 1: tracking smartphones.
Python
4
star
15

ipfs-cdn

Use IPFS as your CDN
JavaScript
4
star
16

letscheck

Verify news by forwarding a message
Python
4
star
17

logstats

A module to collect and display stats for long running processes
Python
3
star
18

shmui

The simplest way to add a gallery to your web page
JavaScript
3
star
19

honey-contracts

[wip] a collection of honeypots deployed on the main Ethereum network
3
star
20

dapp-template

TypeScript
2
star
21

track-tracking-cookies

PLpgSQL
2
star
22

pandora

Pandora's Box, share files in your Intranet.
CSS
2
star
23

tablette

Tablette transforms tabular data to a nested Python dictionary, ready to be serialized in JSON
Python
2
star
24

how-to-blockchain

1
star
25

aht

Awkward Handshake Token
HTML
1
star
26

cccarambola-hacks

some random hackness for carambola+(boar|ar)duino
Python
1
star
27

etherea

Easy-to-use Ethereum tools
TypeScript
1
star
28

ipfs-playground

JavaScript
1
star
29

test

HTML
1
star
30

harvey

yet another crawler
Python
1
star
31

micronote

Micro tool to manage your notes.
Go
1
star
32

morgen

JavaScript
1
star
33

Spamalot

Python simple mailer
Python
1
star
34

trabant

a lightweight web framework for embedded devices
1
star
35

apri

Apri is a single file module that helps you managing your static assets.
Python
1
star
36

svelte-minimal

A simple template to get you started with Svelte
JavaScript
1
star
37

cv

CSS
1
star
38

letscheck-whatsapp-proxy

JavaScript
1
star
39

nextjs-hardhat-template

1
star
40

nextjs-web3-template

TypeScript
1
star
41

web3-dapp

TypeScript
1
star
42

verselets.garden

HTML
1
star