Manual Deposit Method
A UI is available for deposits at https://deposit.gnosischain.com/. If preferred, you can use the method below to interact with contracts via BlockScout and use the deposit script to complete.

Deposit GNO

A modification to the Gnosis Chain deposit contract allows you to deposit in batches (this functionality is not available for the ETH2 deposit contract). One transaction can be used to initiate deposits for up to 128 validators. The assumption is that every validator deposits 1 GNO(which is converted to 32mGNO) in every entry of the batch. The following script simplifies the process.
  1. 1.
    Pull the docker image with the deposit script:
    1
    docker pull ghcr.io/gnosischain/deposit-script:latest
    Copied!
  2. 2.
    Prepare .env file with the following lines:
    1
    STAKING_ACCOUNT_PRIVATE_KEY=0000000000000000000000000000000000000000000000000000000000000000
    2
    3
    RPC_URL=https://rpc.gnosischain.com
    4
    GAS_PRICE=2000000000
    5
    6
    # number of deposits in one transaction, should be in range [1, 128]
    7
    BATCH_SIZE=128
    8
    # total number of deposits to read from file
    9
    N=256
    10
    # index of the first deposit to read from file
    11
    OFFSET=0
    12
    13
    # address of the GNO token
    14
    TOKEN_ADDRESS=0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb
    15
    # address of the GBC wrapper contract
    16
    WRAPPER_ADDRESS=0x647507A70Ff598F386CB96ae5046486389368C66
    17
    # address of the GBC deposit contract
    18
    DEPOSIT_CONTRACT_ADDRESS=0x0B98057eA310F4d31F2a452B414647007d1645d9
    19
    # block where the deposit contract was deployed at
    20
    START_BLOCK_NUMBER=19469077
    Copied!
    STAKING_ACCOUNT_PRIVATE_KEY is the private key of the account which holds the necessary amount of GNO tokens for deposit. Any account may be used for funding, but it must also have a small amount of xDai to process transactions. In the above example, 2 transactions will occur with 256 total deposits of 1 GNO each.
  3. 3.
    Copy the deposit_data.json generated during Step 2 of Get Started to the current directory.
  4. 4.
    Run the deposit script (/path/to/ should be a valid path to the .env file you have created):
    1
    docker run --rm --env-file /path/to/.env \
    2
    -v $(pwd)/deposit_data-xxxxxxxxxx.json:/tmp/deposit_data.json \
    3
    ghcr.io/gnosischain/deposit-script:latest /tmp/deposit_data.json
    Copied!
Following a successful deposit, the Gnosis Beacon Chain will wait for 1024 Gnosis Chain (formerly xDai Chain) blocks plus up to 64 Gnosis Beacon Chain epochs before adding validators to the pool. This means it will take approximately 1 hour and 25 minutes before the validators start proposing and attesting blocks on the Gnosis Chain.

Export as PDF
Copy link
Edit on GitHub
Contents
Deposit GNO