Debug multiple bitcoin(future others) nodes
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.electron-vue gotta start somewhere Aug 10, 2018
.vscode fixed single line array parsing Aug 13, 2018
build/icons
image
src auto close Oct 9, 2018
static gotta start somewhere Aug 10, 2018
test gotta start somewhere Aug 10, 2018
.babelrc gotta start somewhere Aug 10, 2018
.gitignore gotta start somewhere Aug 10, 2018
README.md readme tweaks Aug 12, 2018
bug.png light/dark themes Aug 30, 2018
package-lock.json update electron, move theme menu to config Aug 31, 2018
package.json auto close Oct 9, 2018

README.md

nodes-debug

Description

This is intended to be a general purpose tool to aid in the development of bitcoin or other similar applications(currently only bitcoin supported).

It provides a way to interact with multiple rpc nodes.

The integrated console lets you talk to multiple nodes from a single interface, the commands feature code completion, signature help, syntax highlighting and folding. Also, help is provided on hover for all commands. Command results provide folding for better focus and insertion of result parameters into successive commands.

The project is designed such that multiple node types can be added in the future.

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:9080
npm run dev

# build electron application for production
npm run build

# run unit & end-to-end tests
npm test

Usage

Configuring Nodes

Nodes are configured via the UI and can be saved and retrieved for running multiple configurations. The configurations are saved as JSON so nodes can be manually configured also if desired. When the app starts, it will load last loaded configuration automatically.

Create nodes using the UI

To add a node to the current configuration, click the + icon to the upper right of the interface. A dialog will appear

dialog

All parameters are optional, defaults will be used, Name is recommended as it appears in the tab, also port(or config if rpcport is set there) since the default is mainnet

  • Node Type: The type of the node (currently only bitcoin is supported)
  • Name: What you want to call it, this will appear it it's tab
  • Host: Node's IP address
  • Port: The RPC port of the node
  • Config: Path to configuration file, this is where the node's RPC authentication information is located in format of standard bitcoin.conf

After one or more nodes are added, you can save the configuration by selecting form the menu Config -> Save

Manually creating

Saving from the UI will create a JSON file like this, you can create manually and load rather than using the UI if preferred.

[
   {
      "name": "Alice",
      "type": "bitcoin",
      "port": "18654",
      "host": "127.0.0.1",
      "config": "~/regtest/alice/bitcoin.conf",
      "index": "n1521588alice"
   },
   {
      "name": "Bob",
      "type": "bitcoin",
      "port": "18554",
      "host": "127.0.0.1",
      "config": "~/regtest/bob/bitcoin.conf",
      "index": "n15bob"
   }
]

The index must be unique, the UI will use the timestamp but this can be anything.

To load saved or manually created configuration, from the menu choose Config -> Load

Using the console

Commands are entered in the left pane and when executed results display in the right.

For the default node type of 'bitcion', a single command may be multi line. Leave whitespace for argument separation, JSON objects are parsed as a single argument.

example:

addmultisigaddress 2
[
    "key1",
    "key2"
]

bob and alice Commands are executed by pressing F5, pressing the codelens helper or from the context menu.

Disclaimer

This is meant as a development tool and suggested to use on testnet or regtest, use on mainnet at your own risk.


This project was generated with electron-vue using vue-cli. Documentation about the original structure can be found here.