prysm-pulse/tools/sendDepositTx
Raul Jordan 9d979de4ed
Direct Keymanager: Implement Account Creation (#6466)
* implementation using petname and keystore
* writing new account to disk along with password
* more logic for properly writing accounts
* print out mnemonic
* save deposit data rlp
* write deposit tx and ssz deposit data to account path
* wrap up account creation
* fix prompt
* generate deposit tx
* direct account creation test
* fix up formatting
* lint
* match formatting
* more sustainable approach towards unmarshaling config file
* resolve feedback
* fix broken import
* comprehensive tests for create account
* tests pass
* Merge branch 'master' into direct-keys
* tidy
* Merge branch 'direct-keys' of github.com:prysmaticlabs/prysm into direct-keys
* Merge refs/heads/master into direct-keys
* gaz
* Merge branch 'direct-keys' of github.com:prysmaticlabs/prysm into direct-keys
* nondeterministic names
* comment
* gaz
* better error wrap
* Merge refs/heads/master into direct-keys
* docker deps
* Merge branch 'direct-keys' of github.com:prysmaticlabs/prysm into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* ivan feedback
* Merge refs/heads/master into direct-keys
* Update validator/accounts/v2/wallet.go

Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* fixed tests and comments
* Merge refs/heads/master into direct-keys
2020-07-03 18:49:16 +00:00
..
BUILD.bazel Direct Keymanager: Implement Account Creation (#6466) 2020-07-03 18:49:16 +00:00
README.md Update tool README.md (#4463) 2020-01-08 19:44:34 +00:00
sendDeposits_test.go Update outdated spec function names and comments (#4992) 2020-03-03 18:29:41 +00:00
sendDeposits.go Direct Keymanager: Implement Account Creation (#6466) 2020-07-03 18:49:16 +00:00

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]