Skip to main content

Run a Node on Windows

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/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 updatesudo apt-get upgradesudo 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 /tmpwget https://www.openssl.org/source/openssl-1.1.1.tar.gztar xvf openssl-1.1.1.tar.gz
  6. After it finished downloading OpenSSL, run the following commands to install:

    cd openssl-1.1.1sudo ./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'sudo makesudo 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 updatesudo apt-get upgradesudo 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 | shsource $HOME/.cargo/envrustup 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 nearcoremake neard
  13. Install nearup

    pip3 install --user nearupexport 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 refer to the validation section.

Got a question?

Ask it on StackOverflow!