## Utility to Deploy Deposit Contract

This is a utility to help users deploy deposit contract for running their own beacon chain node in a local containerized set up. To run the utility, it assumes there is a running geth node as a separate process attached to proof-of-work main chain. The utility will deploy the validator registration contract and print out the contract address. Users will pass the contract address to the beacon chain node to monitor when they have been conducted to become an active validator.

### Usage

*Name:*  
   **sendDepositTx** - this is a util to send deposit transactions

*Usage:*  
   sendDepositTx [global options] command [command options] [arguments...]

*Flags:*  
- --keystoreUTCPath value   Location of keystore
- --ipcPath value           Filename for IPC socket/pipe within the datadir
- --httpPath value          HTTP-RPC server listening interface (default: "http://localhost:8545/")
- --passwordFile value      Password file for unlock account (default: "./password.txt")
- --privKey value           Private key to unlock account
- --depositContract value   Address of the deposit contract
- --numberOfDeposits value  number of deposits to send to the contract (default: 8)
- --depositAmount value     Maximum deposit value allowed in contract(in gwei) (default: 3200)
- --depositDelay value      The time delay between sending the deposits to the contract(in seconds) (default: 5)
- --variableTx              This enables variable transaction latencies to simulate real-world transactions
- --txDeviation value       The standard deviation between transaction times (default: 2)
- --help, -h                show help
- --version, -v             print the version


### Example

To use private key with default RPC:

```
bazel run //tools/sendDepositTx -- --httpPath=https://goerli.prylabs.net --keystoreUTCPath /path/to/keystore --passwordFile /path/to/password --depositDelay 2  --depositContract 0x767E9ef9610Abb992099b0994D5e0c164C0813Ab

```


### Output

```
INFO main: Deposit 7 sent to contract for validator with a public key 0x333362343964316561623337336433313433356233626330393866653262613162333631333965326235613033303933643966396238356231363566653635646166383738396164356637343035313665353563666633346665343339653038656239306236313863303962326364653036646539333435643635366437333032643961623964336163323965636336663739613137656533663333323538656436383638623161393862363738383932636334306565336634333865373031 
Transaction Hash=[213 23 244 203 91 45 79 72 109 141 43 113 67 92 178 94 24 209 39 240 111 59 238 18 189 145 140 166 49 236 157 71]
```
