# Upgrade & Migrate a node on Windows

## Preparation <a href="#id-5634b8fb5e7251b57ac54e0571831eeb" id="id-5634b8fb5e7251b57ac54e0571831eeb"></a>

<mark style="color:red;">The private key of the original node must be exported first! ! !</mark>

Prepare the private key for importing the node account. Private key export tutorial, [click here](https://wiki.starcoin.movemove.org/english/get-started/run-node/run-a-node-on-windows#h65dh).

## Stop the original node <a href="#id-1ba854af870aaec04ff07f5ba28884d2" id="id-1ba854af870aaec04ff07f5ba28884d2"></a>

If you are migrating a node, you can skip this step.

## Start a new node <a href="#id-86ef772c2a90b5fc349fa3551d81db9a" id="id-86ef772c2a90b5fc349fa3551d81db9a"></a>

Unzip the downloaded compressed package to overwrite the file of the previous version.

Note:

* If you don't need to start the mining pool, you can delete the last parameter: --stratum-address 0.0.0.0 --stratum-port 9880;
* \--net main: Specify the main network, the test network can write barnard;

```powershell
starcoin.exe --net main ^
    --disable-metrics true ^
    --miner-thread 0 ^
    --node-name starcoin-main ^
    --data-dir C:\starcoin\data ^
    --logger-disable-file true ^
    --stratum-address 0.0.0.0 --stratum-port 9880
```

## Import the private key and set it as the default account <a href="#bbe435aa638eed8bca80dc643170856e" id="bbe435aa638eed8bca80dc643170856e"></a>

Connect to the console (premise: the node is running):

```powershell
starcoin.exe -c \\.\pipe\starcoin\main\starcoin.ipc console
```

Check the default account on the new node:

```
account default
```

<mark style="color:red;">If the account is your own, it is over. If the account is wrong, please import the private key and set it as the default account.</mark>

Import private key：

```
% account import -i your_private_key
```

Set as default account:

```
% account default your_account
```
