NPM setup
How to set up a Klayr Core node with NPM.
Pre-installation
Requirements
- Supported Platforms
-
-
Ubuntu 20.04 (LTS) x86_64
-
Ubuntu 22.04 (LTS) x86_64
-
MacOS x86_64
-
- Node.js
-
-
18
-
The following system requirements are recommended:
- Memory
-
-
Machines with a minimum of 8 GB RAM for the Mainnet.
-
Machines with a minimum of 8 GB RAM for the Testnet.
-
- Storage
-
-
Machines with a minimum of 40 GB HDD[1].
-
Create a new user
To run and manage a Klayr Core node in the future, please create a separate klayr
user as described below:
The |
sudo adduser klayr
The above command will create a new user.
It is not necessarily required to set up a klayr
user, especially when you are running a local instance for development purposes.
However, if it is required then it is recommended to create the user using the MacOS GUI.
Node.js & NPM
Node.js serves as the underlying engine for code execution.
It is recommended to use a Node version manager such as NVM. NVM is a bash script that enables the management of multiple active Node.js versions.
-
Install NVM and follow the official instructions here.
-
Install the latest LTS version of Node.js using NVM with the following command shown below:
nvm install 18
If NVM or other package managers are not required, it is possible to install the Node package globally as shown in the following commands below:
Ubuntu
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
MacOS
For MacOS, please execute the following command below:
brew install node@18
In case you experience any permission issues, please follow the instructions below to adjust the location of the global NPM packages:
More information can be found under https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally |
Open ports
Please ensure, that the necessary ports are open to run Klayr Core as intended.
For example, in case ufw is used on Ubuntu to manage the firewall settings, the respective ports can be opened as follows:
8778 and 7887 are the default ports.
If you configured custom ports in the node config file, adjust the examples to these specific ports.
|
ufw allow 7887
ufw allow 8778
Start
After successful installation, start the node with the following command:
klayr-core start --network mainnet
The default log levels for Mainnet are:
So if you start the node, it won’t show any logs in the console.
This is the recommended setting for reducing the number of logs for a running node.
However, to verify that the node started correctly, update the log levels in the config to Alternatively, start the node with the following flag:
See the Managing logs guide for more information about logging. |
klayr-core start --network testnet
klayr-core start --network devnet
The passphrase for the genesis account(s) can be found here in the Klayr Core GitHub repository under the following path: config/devnet/passphrase.json. |
Post-installation (optional)
Use pm2 to run Klayr Core in the background
It is recommended to use a process manager such as PM2 to run Klayr Core in the background.
Enable IPC & WS in the config
To make use of all the Klayr Core commands, enable IPC in the config.
"rpc": {
// Enable RPC communication over 'ipc' and 'ws'
"modes": ["ipc", "ws"]
// In case `modes` include `ws` then, the following port is used
"port": 7887,
// Change to 0.0.0.0 to connect from a remote server
"host": "127.0.0.1"
},
Alternatively, start Klayr Core with the flag --api-ipc
to enable IPC:
klayr-core start --api-ipc
Please note that specifying any of the --api-ipc , --api-ws , or --api-http flags in the klayr-core start command overrides the rpc.modes settings in the config.json .
|