Using macOS
Learn how to change Solo withdrawal credentials to 0x01 address using macOS.
Ensure that the Apple machine you are using for executing the change in withdrawal credentials is not infected with any malware and can be disconnected from the Internet at a certain stage of the credentials change process.
If you are not using anti-virus software regularly, we recommend that you use a trial version of malwarebytes.com to conduct a full scan of your machine before proceeding with the credentials change process.
You will need the mnemonic (seed phrase) you used for creating Solo validators to execute this procedure. Do not discard the mnemonic (seed phrase) after you complete the procedure and continue to keep it safe (ideally stored offline or on an airgapped machine).
You will need to provide a withdrawal address where your validator funds will be withdrawn to. Make sure that the address you choose is not compromised, does not have approvals for ETH spending to unknown contracts, and is overall safe to use.
Executing a change of withdrawal credentials on a Mac is a fairly straightforward process. We will:
The whole procedure will take at most 10 minutes.
Find out your BLS withdrawal credentials
Before we can begin the credentials change procedure, you will need to get a list of public BLS credentials for all of your Solo validators.
Go to StakeWise Solo page and connect the wallet you used for registering the validators
Ensure that all of your validator bills are paid
Click on
Credentials change
button and download the file under the first step of "Change credentials using CLI". It will download a list of your validator indices and withdrawal credentials that is required for later.
You should end up with a text file with two lists on two separate lines:
Validator indices, each separated by comma (
Validator index list
)Withdrawal credentials, each separated by comma, matching the order of respective validator indices (
Withdrawal credentials list
)
You have successfully completed step 1 of this tutorial.
Download and launch Ethereum Staking Deposit CLI
Launch Terminal on your Mac and enter the following command to download the latest release of the
staking_deposit-cli
by StakeWise:
This version of the staking_deposit-cli
is based on the original cli
by the Ethereum Foundation which was modified by StakeWise. You can track all the changes vs the original cli
here.
Disconnect your Mac from the Internet / disable Internet at your location to prevent possible intereference with the next steps
Failing to disconnect from the Internet might expose your machine to online interference with the credentials change procedure and result in a loss of all funds. We strongly recommend disconnecting / disabling the Internet connection at your location before you proceed.
Enter the following command into the Terminal to extract the downloaded files:
Navigate to the extracted files using the following command in the Terminal:
Launch the
staking_deposit-cli
and initiate the credentials change process with the following command in the Terminal:
If you are getting zsh: bad CPU type in executable
error then your Mac has an Apple Silicon chip and requires Rosetta 2 to be installed first. Enter cd
into the Terminal, then enter softwareupdate --install-rosetta.
After the installation, start over from step 4.
At this stage, you should see the tool running, asking for your choice of language before you proceed.
You have successfully completed step 2 of this tutorial.
Generate a .json file for credentials rotation
Choose your preferred language for the procedure by entering the relevant number in the Terminal (use
3
for English):Type in
mainnet
into the Terminal when prompted to choose the networkType in your mnemonic (seed phrase) into the Terminal when prompted to choose the network (every word must be separated by a space)
Type
0
into the Terminal when prompted to enter the index position for the keysCopy the
Validator index list
from the text file you downloaded from StakeWise and paste into the Terminal when prompted to enter the list of validator index numbersCopy the
Withdrawal credentials list
from the text file you downloaded from StakeWise and paste into the Terminal when prompted to enter the list of old BLS withdrawal credentialsCopy the withdrawal address you would like to use for the withdrawal of validator funds and paste into the Terminal when prompted to enter the new execution address
Please double-check the withdrawal address you insert to ensure that you entered the correct address. Entering the wrong address will result in a loss of all funds.
Copy and paste the withdrawal address into the Terminal again when asked to repeat
At this stage, you will have generated a .json file that can be found in the staking_deposit-cli
folder.
You have successfully completed step 3 of this tutorial.
Broadcast the .json file message to the network
Head to the Beacon Chain Explorer website
Upload your .json file into the relevant form.
At this stage, your BLS withdrawal credentials should be changed to 0x01 withdrawal address to enable partial and full withdrawals for your Solo validators. Congratulations!
You have now successfully completed all 4 steps of this tutorial and learned how to execute the rotation of BLS withdrawal credentials to 0x01 withdrawal address.
If you are unsure whether the procedure was successful, in about 1 hour after the procedure visit https://beaconcha.in/validator/index#withdrawals by replacing "index" with your actual validator index (e.g. https://beaconcha.in/validator/156849#withdrawals). If the procedure was successful, then you should see an expected date of the first partial withdrawal (i.e. rewards payout) from your validator. If you don't see it, please refer to the guide again.
Last updated