This repo contains a suite of (sometimes) useful tools to use with the vega nodes API.
You can install this program by running the following go install command:
// To get the latest stable release version
go install code.vegaprotocol.io/vegatools@latest
// To get the version most in line with the core develop branch
go install code.vegaprotocol.io/vegatools@develop
Make sure that your CGO_ENABLED
environment variable is set to 0. This can be checked using this command:
go env
It can be set correctly by:
go env -w CGO_ENABLED=0
Stream is a simple utility used to connect to a vega validator and listen to ALL events it produce.
Here's an example of how to run it:
vegatools stream --address=n09.testnet.vega.xyz:3002
This will listen to all event from this testnet node, run the following commands for a detailed help and filtering
vegatools stream -h
MarketDepthViewer is a utility that will display the market depth of a given market running on a node.
The basic command to run it is:
vegatools marketdepthviewer --address=n09.testnet.vega.xyz:3002
If there are multiple markets on a node it will display a list of them at startup and allow the user to select the one they wish to view. Pressing q
will close the app.
LiquidityViewer is a utility that displays the liquidity commitment of a user on a particular market.
The basic command to run it is:
vegatools liquidityviewer --address=n09.testnet.vega.xyz:3002
If there are multiple markets on the node it will list them and allow the user to select one. If there are multiple users on that market supplying liquidity then it will also list those and allow the user to select one. Pressing q
will closer the app.
MarketStakeViewer is a utility that displays the current state of liquidity provision for all markets running on a node.
The basic command to run it is:
vegatools marketstakeviewer --address=n09.testnet.vega.xyz:3002
Checkpoint forces the vega node to generate a checkpoint file.
DelegationViewer displays the amount of stake delegated to each of the nodes in the network.
MarketStakeViewer displays the amount of stake committed to each market in terms of liquidity provision.
LiquidityCommitment displays all of the liquidity providers for a given market including the fee and commitment amount.
This creates a market and a set of users and then generates a consistent flow of transactions to the market over a given length of time to allow for performance testing and statistics recording.
This listens to an unfiltered event bus stream and reports the number of events arriving per time bucket (default 1 second) and the amount of network bandwidth it used to receive them. The bucket length and the number of historic buckets it uses to generate the average values can be set on the commandline.
This runs a benchmark using the same proof of work algorithm used during the signing process to prevent spam. It reports back the number of transactions per second the machine can process and can be used to help set the proof of work difficulty value for a network. It will also allow uses to get a feel for the rate in which a wallet service will be able to process and forward on transactions if run on the same machine.