LogoLogo
WebsiteSubstrate Block ExplorerEVM Block ExplorerFaucet
  • Learn
    • Architecture
    • Staking
      • Proof of stake
    • Smart Contracts
    • Accounts
    • Infrastructure
      • Nodes
      • Agents
      • Models
      • IPFS
    • Security
      • OPOC
      • TSS
      • IPFS Integrity
      • Model Updates Integrity
    • Fees
    • Finney Testnet RPC Endpoints
  • Build
    • Address format
    • ink! Environment
    • Wasm Smart Contracts
      • Smart Contract Stack
      • Domain-Specific Languages (DSLs)
      • ink! Development
      • ask! Development
      • Basic ink! Contract
    • EVM Smart Contracts
      • Introduction to EVM Smart Contracts
      • HardHat
      • Your first EVM Smart Contract
      • Debug EVM Transactions
      • Precompiles
        • SR25519
        • Substrate ECDSA
        • XC20
    • Run a node
      • Run an archive node
        • Binary
      • Run a full node
      • Become a validator
        • Learn about Validators
        • Validator requirements
        • Spin up a validator
        • Set your identity
    • Build an Agent
      • Introduction
      • Development
      • Installing WASP
      • Agents API Reference
      • Available AI Models
Powered by GitBook
On this page
  • Installing an Archive Node
  • System Requirements
  • Prerequisites
  • Installation Steps
  • Verifying Installation
  • Common Issues
  • Maintenance
  • Security Recommendations
  • Stay Connected
Export as PDF
  1. Build
  2. Run a node
  3. Run an archive node

Binary

PreviousRun an archive nodeNextRun a full node

Last updated 3 months ago

In this guide, we will use the binary provided in Uomi release.

If you have experience with Rust compilation, you can also build the binary from the repo.

Installing an Archive Node

System Requirements

⚠️ Minimum Hardware Requirements

  • RAM: 16GB

  • Storage: 500GB

  • CPU: 8 cores

  • Good network connectivity

Prerequisites

Before starting the installation, ensure you have:

  • Ubuntu 20.04 LTS or higher

  • Downloaded the uomi bin and genesis file from:

  • Get available peers at

  • Root or sudo privileges

  • The following packages installed:

    sudo apt-get update
    sudo apt-get install -y \
        curl \
        jq \
        build-essential \
        libssl-dev \
        pkg-config \
        cmake \
        git \
        libclang-dev

Installation Steps

1. Prepare the Environment

Create necessary directories and user:

# Create service user
sudo useradd --no-create-home --shell /usr/sbin/nologin uomi

# Create node directory
sudo mkdir -p /var/lib/uomi
sudo chown -R uomi:uomi /var/lib/uomi

2. Install Binary Files

Add copied peers inside the genesis.json file:

{
  "name": "Uomi",
  "id": "uomi",
  "chainType": "Live",
  "bootNodes": [PASTE_PEERS_ARRAY_HERE],
 "telemetryEndpoints": null,
  "protocolId": null,
  "properties": {
    "tokenDecimals": 18,
    "tokenSymbol": "UOMI"
  },
...

Then install binary and genesis files:

# Copy binary to system path
sudo cp ./uomi /usr/local/bin/
sudo chmod +x /usr/local/bin/uomi

# Copy genesis file
sudo cp ./genesis.json /usr/local/bin/

3. Create Service File

Create a systemd service file at /etc/systemd/system/uomi.service:

[Unit]
Description=Uomi Node
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
User=uomi
Group=uomi
Restart=always
RestartSec=10
LimitNOFILE=65535
ExecStart=/usr/local/bin/uomi \
    --name "your-archive-node-name" \
    --chain "/usr/local/bin/genesis.json" \
    --base-path "/var/lib/uomi" \
    --pruning archive \
    --rpc-cors all \
    --rpc-external \
    --rpc-methods Safe \
    --enable-evm-rpc \
    --prometheus-external \
    --telemetry-url "wss://telemetry.polkadot.io/submit/ 0"

# Hardening
ProtectSystem=strict
PrivateTmp=true
PrivateDevices=true
NoNewPrivileges=true
ReadWritePaths=/var/lib/uomi

[Install]
WantedBy=multi-user.target

4. Start the Node

# Reload systemd
sudo systemctl daemon-reload

# Enable service
sudo systemctl enable uomi.service

# Start service
sudo systemctl start uomi.service

5. Monitor the Node

Check node status:

sudo systemctl status uomi.service

View logs:

tail -f /var/log/uomi.log

Verifying Installation

You can verify your node is running correctly by:

  1. Checking the service status:

sudo systemctl status uomi.service
  1. Verifying RPC endpoint:

curl -H "Content-Type: application/json" \
    -d '{"id":1, "jsonrpc":"2.0", "method": "system_health", "params":[]}' \
    http://localhost:9944

Common Issues

🔧 Troubleshooting

  1. Service Won't Start

    • Check logs: journalctl -u uomi.service -f

    • Verify file permissions

    • Ensure ports are not in use

  2. Sync Issues

    • Verify network connectivity

    • Check disk space

    • Ensure sufficient RAM

Maintenance

Updating the Node

  1. Stop the service:

sudo systemctl stop uomi.service
  1. Replace the binary:

sudo cp ./new-uomi /usr/local/bin/uomi
sudo chmod +x /usr/local/bin/uomi
  1. Restart the service:

sudo systemctl start uomi.service

Backup

Regularly backup your node data:

sudo tar -czf uomi-backup-$(date +%Y%m%d).tar.gz /var/lib/uomi

Security Recommendations

  1. Firewall Configuration

sudo ufw allow 9944/tcp  # RPC
sudo ufw allow 30333/tcp # P2P
  1. Regular Updates

  • Keep the system updated

  • Monitor security announcements

  • Update the node software when new versions are released

Stay Connected

Join our Discord community to:

  • Get the latest updates about node operations

  • Connect with other node operators

  • Receive technical support

  • Participate in community discussions

💬 Join Our Community Join the

https://github.com/Uomi-network/uomi-node/releases/latest
https://app.uomi.ai/peers
UOMI Discord server