Ethereum POS Setup : How do I get deposit_contract_address for Devnet
Ethereum POS Setup
It has been a while since my last article on Blockchain Dream Lab! I am excited to embark on this journey with all of you, sharing content that provides more in-depth details for readers and fellow developers.
As a developer, I understand the challenges of navigating through the vast ocean of information on Google and aligning it properly to accomplish tasks. I aim to bridge this gap through Blockchain Dream Lab!
In today's discussion, we will explore the process of setting up Ethereum POS on your local machine, addressing potential errors, and offering solutions. To guide us, I've discovered a helpful article that you can follow: link to the article. A special thanks to the author and Prysmatic Labs documentation.
Before we delve into the installation steps, let's establish some key points.
-
Ethereum POW was the first blockchain to emerge, with many of us being part of its early stages. While witnessing groundbreaking initiatives by developers, concerns arose about the energy consumption required for mining due to the high computational infrastructure.
-
In response to these concerns, the founders and Ethereum community recommended transitioning to POS (proof of stake), where staking is implemented, and validators are rewarded for proposing blocks to add to the chain. Migrating from POW to POS was a challenging task that required significant effort.
Now that POS has been successfully merged with POW, the chain is already operational, connecting with the POS chain. Let's proceed by following the steps outlined in the mentioned article to set up the devnet.
During this setup, you may encounter the need for the "DEPOSIT_CONTRACT_ADDRESS." You can find this address at this location. For the Devnet, here's how you can obtain your contract address:
- Begin by cloning the repository:
git clone https://github.com/rzmahmood/ethereum-pos-testnet
- Follow the instructions in the README to set up nodes on your local machine.
As you progress, you will need to obtain the smart contract code for the DEPOSIT CONTRACT from...
https://etherscan.io/address/0x00000000219ab540356cbb839cbe05303d7705fa
-> Integrate Your RPC with MetaMask
Step 1) -> Deploy the aforementioned contract using REMIX and obtain the contract address
==> Ensure that you deploy it using a fresh wallet address in MetaMask with a nonce of 0
-> Copy this contract address and securely store it
===> Now halt the network; you can modify the "Chain_ID" in the required files if needed
===> Update the contract_address in the config.yml file to the previously obtained "contract address"
===> Restart the network
Step 2) => Redeploy the smart contract using Remix with the same address from MetaMask (this time, your RPC will have a new chain-id) with nonce 0 to retrieve the identical Contract address.
The outcome of Step 1 and Step 2 should yield the same contract address; if successful, you are ready to proceed further.
I trust you find this article informative! If you've followed alternative steps to achieve the same result, please feel free to share your insights in the comments below