Preparation
Before joining the HyMatrix network, node operators need to complete two essential preparations:
- A server or device that meets the runtime requirements (physical or cloud-based)
- A valid wallet address (used for node registration, staking AX/tAX, signing, and penalty mechanisms)
Together, these form the foundation for node operation and identity within the network.
Machine Requirements
HyMatrix nodes can be run using precompiled binaries or built from source. If compiling from source, ensure your server meets the following system and software requirements. For production environments or publicly available services, it's recommended to deploy nodes on high-performance, reliable servers with public IP access.
Suggested Hardware Configuration
| Item | Minimum Requirements | Recommended Configuration |
|---|---|---|
| OS | Linux (Ubuntu 20.04+) | Ubuntu / Debian / Fedora |
| CPU | 2 cores | 8 cores or more, with multithreading |
| Memory | 4 GB | 16 GB or more |
| Storage | 50 GB SSD minimum | ≥200 GB SSD / NVMe |
| Bandwidth | ≥100 Mbps up/down | ≥1000 Mbps stable public bandwidth |
| Public Access | Must have public IP | HTTPS domain (with DNS) recommended |
| GPU (optional) | Not required, but recommended for AI workloads | NVIDIA ≥8GB VRAM |
Software Dependencies
| Component | Version | Required | Description |
|---|---|---|---|
| Docker | 27.3.1 | ✅ Required | Runtime for VM containers (Docker/WASM/etc.) |
| Redis | Latest stable | ✅ Required | Internal task queue, messaging, and caching |
| Go | ≥ 1.24.0 | Optional (only for source builds) | Go language toolchain for building nodes |
| Git | Latest stable | Optional (source builds only) | Source control for cloning HyMatrix repo |
💡 Notes:
- If using the precompiled binaries, you may skip installing Go/Git.
Wallet Setup (Node Identity)
In the HyMatrix network, each node must bind to a unique wallet address as its on-chain identity. The wallet is used for identity verification and also serves as the operational account for all economic activities (staking, slashing, etc.).
Main wallet use cases:
- 📝 Node registration and signing
- 🔐 Signing and verifying execution logs
- 💰 Staking AX (or tAX in testnet) to join the network
- ⚠️ Responding to challenges and potential slashing
Supported Wallet Types
HyMatrix supports two mainstream wallet formats, with full feature parity. You may choose either for registration and node operation:
| Wallet Type | Description |
|---|---|
| Ethereum Wallet | ECDSA (secp256k1), compatible with Web3 tooling |
| Arweave Wallet | RSA keypair, used in Arweave-integrated environments |
💡 Performance Tip:
Ethereum wallets provide faster signing and are recommended for performance-sensitive nodes.
Using an Ethereum Wallet
Suitable for users familiar with Web3 tooling. Two common methods:
Method 1: MetaMask
- Install MetaMask browser extension
- Create an account and save the seed phrase/private key
- Export the private key for use with the node
- The node will use this address for identity registration and signing
Method 2: Generate via ethers.js
npm install ethers
Create a file wallet.js with:
const { Wallet } = require('ethers');
const wallet = Wallet.createRandom();
console.log("Address:", wallet.address);
console.log("Private Key:", wallet.privateKey);
Then run:
node wallet.js
The output wallet address and private key will serve as your node identity. Keep them safe.
Using an Arweave Wallet
Ideal for users in the Arweave ecosystem or who prefer JSON-style wallets.
Method 1: Via Wander Extension
- Install Wander browser extension
- Create or import a wallet
- Export the JSON (Keyfile) for use with the node
Method 2: Generate via Arweave SDK
npm install arweave
Create a script:
const fs = require('fs');
const Arweave = require('arweave');
Arweave.init().wallets.generate().then(async (key) => {
fs.writeFileSync('arweave-key.json', JSON.stringify(key));
const address = await Arweave.init().wallets.jwkToAddress(key);
console.log('Arweave wallet address:', address);
});
This will generate a JSON-format wallet file, which can be used directly for node identity in HyMatrix.