Skip to content

Fast tracking mode

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

The fast tracking mode is used to note the changes of historic state variables. For this, we directly query the source archive node, which offers a boost of up to x1000 in performance over the regular tracking mode. Keep in mind that you cannot follow the head of the chain with this mode. 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 prematurely, either send a SIGTERM or a SIGINT(ctrl-c) to the process.

Usage

  • --mode fast_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.
  • --origin_block: The block from which we start tracking.

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.