Skip to content

Tracking mode

vukasin gostovic edited this page Aug 3, 2023 · 2 revisions

The tracking mode is used to track a storage variable on a live network. All state changes are recorded to stdout and to a json file in the following format:

{
  "address":"0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6",
	"storage_slot":"0x0",
	"state_changes":[
		{"block_number":"0x10b7bbc","value":"0x00000000000000000000000000000000000000000000000000000000000e2b18"}
	]
}

To stop tracking, either send a SIGTERM or a SIGINT(ctrl-c) to the process, or set a terminal block.

Usage

  • --mode track: Used to denote we are using the tracking mode.
  • --source_rpc: RPC of the node we are getting data from.
  • --contract_address: Address of the contract we are reading storage from.
  • --storage_slot: The storage slot of the contract.

Optional parameters

  • --terminal_block: Final block sothis will track. If not specified, sothis will track until terminated.
  • --decimal: Output block numbers and values as decimals. Note: If the values are too large for u64, you might get overflows or other undefined behaviour.
  • --filename: Name of our output file. The default filename is formatted as: address-{}-slot-{}-timestamp-{}.json.
  • --path: Path to our output file. The default path is the current directory.

FAQ and troubleshooting

Please see the dedicated FAQ section on the sidebar.

Clone this wiki locally