Skip to main content

Run a Node on Windows

If this is the first time for you to setup a validator node, head to our Validator Bootcamp 🚀. We encourage you to set up your node with Neard instead of Nearup as Nearup is not used on Mainnet. Please head to Run a node for instructions on how to setup a RPC node with Neard.

This doc is written for developers, sysadmins, DevOps, or curious people who want to know how to run a NEAR node using nearup on Windows.

Heads up

This documentation may require additional edits. Please keep this in mind while running the following commands.

nearup Installation

You can install nearup by following the instructions at https://github.com/near-guildnet/nearup.

Heads up

The README for nearup (linked above) may be all you need to get a node up and running in testnet and localnet. nearup is exclusively used to launch NEAR testnet and localnet nodes. nearup is not used to launch mainnet nodes. See Deploy Node on Mainnet for running a node on mainnet.

  1. If Windows Subsystem for Linux is not enabled, open PowerShell as administrator and run:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

    Then restart your computer.

  2. Go to your Microsoft Store and look for Ubuntu; this is the Ubuntu Terminal instance. Install and launch it.

  3. Now you might be asked for username and password, do not use admin as username.

  4. Your Ubuntu Instance need initial before next steps

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install build-essential pkg-config libssl-dev
  5. You need to install OpenSSL, which you will need to run the node. To download OpenSSL, please run the following commands in the Ubuntu Terminal:

    cd /tmp
    wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
    tar xvf openssl-1.1.1.tar.gz
  6. After it finished downloading OpenSSL, run the following commands to install:

    cd openssl-1.1.1
    sudo ./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
    sudo make
    sudo make install

    The files will be under the following directory: /usr/local/ssl.

  7. Once this is finished, you have to ensure that Ubuntu is going to use the right version of OpenSSL. Now update the path for man pages and binaries. Run the following command:

    cd ../..
    sudo nano /etc/manpath.config
  8. A text file will open, add the following line:

    MANPATH_MAP     /usr/local/ssl/bin      /usr/local/ssl/man

    Once this is done press ctrl + o . It will ask you to save the file, just press enter. Now press ctrl + x to exit.

  9. To make sure that OpenSSL is installed run:

    openssl version -v

    This should show you the installed version. More info on this can be found here. (https://manpages.ubuntu.com/manpages/bionic/man1/version.1ssl.html)

  10. Now you have to run the following commands to install all nessesary software and dependencies:

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install -y git jq binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev cmake gcc g++ protobuf-compiler python3 python3-pip llvm clang

    Install Rustup

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source $HOME/.cargo/env
    rustup default nightly

    Great! All set to get the node up and running!

  11. Clone the github nearcore

    First we need to check a version which is currently working in testnet:

    curl -s https://rpc.testnet.near.org/status | jq .version

    You’ll get something like this: "1.13.0-rc.2". "1.13.0" is a branch which we need to clone to build our node for testnet.

    git clone --branch 1.13.0 https://github.com/near/nearcore.git
  12. This created a nearcore directory, change into that one and build a noce:

    cd nearcore
    make neard
  13. Install nearup

    pip3 install --user nearup
    export PATH="$HOME/.local/bin:$PATH"
  14. Final: And now run the testnet:

    nearup run testnet --binary-path ~/nearcore/target/release/neard

    To be sure node is running you can check logs

    nearup logs --follow

You might be asked for a validator ID; if you do not want to validate, simply press enter. For validation, please follow the Validator Bootcamp.

Got a question?

Ask it on StackOverflow!