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.
Prerequisites
- Git
- Nearup: Make sure
nearup
is installed. You can installnearup
by following the instructions at https://github.com/near/nearup.
Steps to Run an RPC Node using nearup
Running a RPC node is very similar to running a validator node as both types of node use the same nearcore
release. The main difference for running a validator node is requiring validator_key.json
to be used by the validator node to support its work of validating blocks and chunks on the network.
First, clone the nearcore
repo:
git clone https://github.com/near/nearcore.git
cd nearcore
Checkout the version you wish to build:
git checkout <version>
You can then run:
make neard
This will compile the neard
binary for the version you have checked out, it will be available under target/release/neard
.
Note that compilation will need over 1 GB of memory per virtual core
the machine has. If the build fails with processes being killed, you
might want to try reducing number of parallel jobs, for example:
CARGO_BUILD_JOBS=8 make neard
.
NB. Please ensure you build releases through make
rather than cargo build --release
. The latter skips some optimizations (most notably
link-time optimisation) and thus produces a less efficient executable.
nearup run testnet --binary-path path/to/nearcore/target/release
You will then be prompted for an Account ID below. You should leave this empty as you are running an RPC node, not a validator node.
Enter your account ID (leave empty if not going to be a validator):
Wait until initialization finishes, use the following command to follow logs:
$ nearup logs --follow
Then run:
$ nearup stop
Retrieve a copy of the latest RPC snapshot from S3:
$ wget -b https://near-protocol-public.s3.ca-central-1.amazonaws.com/backups/testnet/rpc/data.tar
$ tar -xvf data.tar -C ~/.near/testnet/data
Finally, run the following command and the node should start syncing headers:
$ nearup run testnet
Ask it on StackOverflow!