These are some recommended specs to a Engram Network node.
Node Type
CPU
Memory
Data Disk
Operating System
Engram Network nodes have been developed and tested on x86_64 architecture. Our binary files have been compiled with Ubuntu 22.04 LTS x86_64 & 20.04 LTS x86_64. This guide assumes you are using Ubuntu 22.04 or 20.04 LTS. If you are using a different OS you may need to make some adjustments.
Getting Started
Set Limits on Open Files and Number of Processes
To better manage the resources of your nodes, we recommend setting some limits on the maximum number of open file descriptors (nofile) and maximum number of processes (nproc).
Edit /etc/security/limits.conf to include or modify the following parameters:
* soft nproc 262144
* hard nproc 262144
* soft nofile 262144
* hard nofile 262144
Edit /etc/sysctl.conf to include the following:
fs.file-max=262144
Steps to Run a Tokio Node
Install Necessary Dependencies:
Start by updating your system and installing required dependencies:
$ git clone https://github.com/engram-network/tokio-node
$ cd tokio-node
$ git checkout stable
$ mkdir -p data-geth data-beacon data-validator
$ geth --datadir=data-geth init /path/to/genesis.json
// Replace /path/to/genesis.json with the actual directory path to Genesis file.
Install Geth Client:
$ go install github.com/ethereum/go-ethereum/cmd/geth@latest
$ sudo mv $HOME/go/packages/bin/geth /usr/local/bin
Systemd
Create a Configuration Execution File:
Create a systemd service config file to configure the execution node service. Paste the following service configuration into the file. Exit and save once done (Ctrl + X, Y, Enter).
[Unit]
Description=Engram Execution Client - (Tokio)
After=network.target
Wants=network.target
[Service]
User=root
Group=root
Type=simple
Restart=always
RestartSec=5s
TimeoutStopSec=180
ExecStart=/usr/local/bin/geth \
<YOUR COMMAND LINE HERE> \
<YOUR COMMAND LINE HERE> \
<YOUR COMMAND LINE HERE> \
<YOUR COMMAND LINE HERE>
[Install]
WantedBy=default.target
Run the Execution Node:
Start the Execution node using the configuration file you created reload systemd to reflect the changes and start the service. Check status to make sure it’s running correctly.
After you add public tokio bootnodes, you need to see your static peer whether it has connected and joined the engram network or is still in the queue. you can utilize the geth command as follows:
After you add peers to the engram node, the static peers in your geth will change from static=0 to static=1 which means that the public bootnodes of engram accept your node's request to join the network.
Configuring Beacon Node
Start by updating your system and installing required dependencies:
Create a systemd service config file to configure the execution node service. Paste the following service configuration into the file. Exit and save once done (Ctrl + X, Y, Enter).
[Unit]
Description=Lighthouse Ethereum Client Beacon Node - (Tokio)
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=lighthousebeacon
Group=lighthousebeacon
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/lighthouse bn \
<YOUR COMMAND LINE HERE> \
<YOUR COMMAND LINE HERE> \
<YOUR COMMAND LINE HERE> \
<YOUR COMMAND LINE HERE>
[Install]
WantedBy=multi-user.target
Run the Beacon Node:
Start the Beacon node using the configuration file you created reload systemd to reflect the changes and start the service. Check status to make sure it’s running correctly.
After the execution network and consensus network have connected and joined the engram network, your node will automatically synchronize all the databases from the engram, wait until everything is synchronized and take the last block of events.
$ curl -fsSLo- https://s.id/golang-linux | bash
ADD (OR REPLACE) THIS LINE BELOW TO YOUR ~/.bashrc
export GOROOT="$HOME/go"
export GOPATH="$HOME/go/packages"
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
// or you can try build from official website :