github.com/ethereum-optimism/optimism@v1.7.2/packages/contracts-bedrock/scripts/getting-started/wallets.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  # This script is used to generate the four wallets that are used in the Getting
     4  # Started quickstart guide on the docs site. Simplifies things for users
     5  # slightly while also avoiding the need for users to manually copy/paste a
     6  # bunch of stuff over to the environment file.
     7  
     8  # Generate wallets
     9  wallet1=$(cast wallet new)
    10  wallet2=$(cast wallet new)
    11  wallet3=$(cast wallet new)
    12  wallet4=$(cast wallet new)
    13  
    14  # Grab wallet addresses
    15  address1=$(echo "$wallet1" | awk '/Address/ { print $2 }')
    16  address2=$(echo "$wallet2" | awk '/Address/ { print $2 }')
    17  address3=$(echo "$wallet3" | awk '/Address/ { print $2 }')
    18  address4=$(echo "$wallet4" | awk '/Address/ { print $2 }')
    19  
    20  # Grab wallet private keys
    21  key1=$(echo "$wallet1" | awk '/Private key/ { print $3 }')
    22  key2=$(echo "$wallet2" | awk '/Private key/ { print $3 }')
    23  key3=$(echo "$wallet3" | awk '/Private key/ { print $3 }')
    24  key4=$(echo "$wallet4" | awk '/Private key/ { print $3 }')
    25  
    26  # Print out the environment variables to copy
    27  echo "Copy the following into your .envrc file:"
    28  echo
    29  echo "# Admin account"
    30  echo "export GS_ADMIN_ADDRESS=$address1"
    31  echo "export GS_ADMIN_PRIVATE_KEY=$key1"
    32  echo
    33  echo "# Batcher account"
    34  echo "export GS_BATCHER_ADDRESS=$address2"
    35  echo "export GS_BATCHER_PRIVATE_KEY=$key2"
    36  echo
    37  echo "# Proposer account"
    38  echo "export GS_PROPOSER_ADDRESS=$address3"
    39  echo "export GS_PROPOSER_PRIVATE_KEY=$key3"
    40  echo
    41  echo "# Sequencer account"
    42  echo "export GS_SEQUENCER_ADDRESS=$address4"
    43  echo "export GS_SEQUENCER_PRIVATE_KEY=$key4"