> For the complete documentation index, see [llms.txt](https://docs.plugin.global/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plugin.global/migrating-from-plugin-node-v2-to-v2.4-without-changing-the-node-address/3-importing-pluginv2-node-address-into-pluginv2.4.md).

# 3 - Importing PluginV2 Node Address into PluginV2.4

* Import V2 Node Addresses(3.1)
* Remove Unnecessary Node Addresses from V2.4(3.2)
* Restart Plugin Node Process with PM2(3.3)
* Log into the Dashboard(3.4)
* Output Imported Node Address Keystore File(3.5)

<mark style="color:red;">**3.1 Import V2 Node Addresses**</mark>

Import the PluginV2 node address into PluginV2.4 using the JSON keystore file generated by command 1-3-3.

Mainnet:

```
cd ~/pluginv3.0/
plugin admin login -f ~/pluginv3.0/apicredentials.txt
plugin keys eth import /plinode_backups/plinode_V2_keys.json --evmChainID 50 --oldpassword /plinode_backups/.env.password
```

Apothem:

```
cd ~/pluginv3.0/
plugin admin login -f ~/pluginv3.0/apicredentials.txt
plugin keys eth import /plinode_backups/plinode_V2_keys.json --evmChainID 51 --oldpassword /plinode_backups/.env.password
```

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXd3_DG3liRVSJZ19I_WUqCJEIzrtEkYB9jkPJ9e1dFfyW9YNEt10p02AT6MuV_2p1J_uWSR5qEqPgemRaiEfmmvu9YsH2d5QDMLvVUMvvYoYLHDOjRYA2md1DZDTrsyGvPgs1gQ?key=mn_fIPfVH025DNDvRj6RUVtQ)

\ <mark style="color:red;">**3.2 Removing Unnecessary Node Addresses from PluginV2.4**</mark>

Let's start by displaying a list of node addresses, and then we'll proceed to delete the new node address created during the unnecessary V3 setup.

`plugin keys eth list`

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdhyePUk-YLFjnjWmvlAh34gwz2wNhuczSVAg29Pw5lWN2-j0mYNhz_2I-BA_Fz3CT8Ku9H3Wpz4_ENemkpmslJnf6GLwkfkJ7TphNRTRGrKUR6MeTHsSStY4JDF-fF4gNw8mi3VQ?key=mn_fIPfVH025DNDvRj6RUVtQ)

Next, let's delete the new node address created during the PluginV2.4 setup

`plugin keys eth delete TARGET_FOR_DELETEION_ADDRESS`

Please enter yes in response to the prompt. It would be a good idea to run plugin keys eth list again for confirmation.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeOMAt9LhIuz4bQas_vL4cMXH9tZ1rdUX72RAWP35601lfxmqK2GMu6vYjDnCgWJwqkCaGMMEvObQ__w0mkvdZhhFa36dtlly-yQFRe6FZAY419hhaZseNuyqFmMD5WlFmjlmE9?key=mn_fIPfVH025DNDvRj6RUVtQ)

<mark style="color:red;">**3.3 Restart Plugin Node Process with PM2**</mark>

Restart the process and confirm that the address inherited from PluginV2 Node is displayed on the dashboard.

`pm2 restart all`

Please enter yes in response to the prompt. It would be a good idea to run plugin keys eth list again for confirmation.

<mark style="color:red;">**3.4 Logging into the Dashboard**</mark>&#x20;

Log in to the Plugin UI using your IP address and confirm that the node address matches the one from Plugin V2.

The upgrade of the plugin node is now complete.

<mark style="color:red;">**3.5 Output Imported Node Address Keystore File**</mark>

```
rm -f ~/plinode_$(hostname -f)_keys* &&  \
cd ~/pluginV2.4Install/ && ./pli_node_scripts.sh keys
```

Once you have confirmed the successful import of the PluginV2 node address into the dashboard, it is recommended to perform a backup.<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.plugin.global/migrating-from-plugin-node-v2-to-v2.4-without-changing-the-node-address/3-importing-pluginv2-node-address-into-pluginv2.4.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
