ethereum/ethereum-console

Name: ethereum-console

Owner: ethereum

Description: Commandline console for Ethereum nodes

Created: 2016-03-01 12:11:53.0

Updated: 2018-05-08 00:01:12.0

Pushed: 2018-03-19 19:48:33.0

Homepage:

Size: 51

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

ethereum-console

Commandline console for Ethereum nodes.

ethconsole connects to a running Ethereum node via IPC/WS/HTTP and provides an interactive javascript console containing the web3 (1.x) object with admin extensions.

Note that the admin/debug additions are not yet official and may change over time.

Run $ ethconsole --help for help.

Installation / Usage
$ npm install -g ethereum-console
...

$ ethconsole
ETHEREUM CONSOLE
Connecting to node at /Users/xyz/Library/Ethereum/geth.ipc
... Connection successful!

Use the "web3" object to interact.
You can find the documentation here: http://web3js.readthedocs.io/en/1.0/

????????????????????????????????????????????????????????????
Network: MAIN
Current block: 5285047 [0x8a22bd], March 19th 2018, 20:46:37
????????????????????????????????????????????????????????????

> web3.admin.nodeInfo()
...
CPP Ethereum Test Interface

ethconsole provides access to the cpp-ethereum test interface, which can be used to test smart contracts that depend on timing and blocks being mined.

# Install the development version of cpp-ethereum on Ubuntu:
# sudo add-apt-repository -y ppa:ethereum/ethereum-qt
# sudo add-apt-repository -y ppa:ethereum/ethereum
# sudo add-apt-repository -y ppa:ethereum/ethereum-dev
# sudo apt-get -y update
# sudo apt-get -y install eth
#
# Start eth in test-mode using data directory /tmp/test 
$ eth --test -d /tmp/test &
# Wait for it to start up...
# Run the example:
$ ethconsole /tmp/test/geth.ipc cppTestExample.js

These testing interfaces exist in cpp-ethereum:

web3.test.setChainParams({}, cb(err, bool))
    set chain parameters using the json chain description
    you can use the function chainParams() from the cppTestExample.js to create such a description
web3.test.mineBlocks(x, cb(err, bool))
    start mining and stop again after exactly x blocks
web3.test.modifyTimestamp(x, cb(err, bool))
    set the timestamp of the current block to x
web3.test.rewindToBlock(x, cb(err, bool))
    rewind the blockchain to block number x
web3.test.addBlock(x, cb(err, bool)
    inject an RLP-encoded block

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.