Main Network

Introduction

This manual describes the process to create a Basic Node or a staked Masternode. It also outlines how to access the Matrix AI Network mainnet as well as various stake methods and processes for Mining and Verification Masternodes.

Browser and Wallet

Browser address: https://tom.matrix.io

Web Wallet address: https://wallet.matrix.io

Basic Nodes

Consumer grade home desktops and laptops are sufficient to serve as Basic Nodes.

Node Configuration

CPU: Quad core

RAM: 8G

Hard disk: 500 GB

Client Files

Download link: https://github.com/MatrixAINetwork/GMAN_CLIENT

image

Extract relevant client to the current folder. Use version 0620.

image

Launch in Windows

  • Create a new folder. Copy MANGenesis.json (version 0620) and gman.exe. Create a subfolder named chaindata. Copy man.json to the new chaindata folder.The directory structure should be as follows:

image

  • Open Command Prompt (cmd) and input the following initialization command:
1
gman.exe --datadir ./chaindata init ./MANGenesis.json

image

image

  • Launch gman.
1
gman.exe --datadir ./chaindata --networkid 1 --debug --verbosity 1 --gcmode archive --outputinfo 1 --syncmode full

Note: Parameter--rpc --rpcaddr 0.0.0.0 --rpccorsdomain '*'opens RPC interface service for gman.Default port is 8341.

image

  • After launching gman successfully, open another Command Prompt window and input the following to enter the interactive terminal:
1
gman.exe attach ipc:\\.\pipe\gman.ipc

image

  • Input net.peerCount to view the number of connected nodes; man.blockNumber to view the block height (an increasing block height indicates that synchronization with the chain has begun and that gman is successfully deployed).

image

Launch in Linux & Mac

  • Install lrzsz (A tool that transfer files between Linux servers and Windows).
1
yum -y install lrzsz

image

  • Import MANGenesis.json with lrzsz.

image

  • Import gman with lrzsz.

image

  • Create chaindata folder and place man. json into this folder.
1
2
mkdir chaindata
cd chaindata/

image

  • Modify gman permissions.
1
chmod  +x  gman

image

  • Initialize MANGenesis.json.
1
./gman  --datadir  ./chaindata/  init  ./MANGenesis.json

image

  • Launch gman.
1
./gman --datadir ./chaindata --rpc --rpcaddr 0.0.0.0 --rpccorsdomain '*' --networkid 1 --debug --verbosity 1 --gcmode archive --outputinfo 1 --syncmode full

Note: Parameter--rpc --rpcaddr 0.0.0.0 --rpccorsdomain '*'opens RPC interface service for gman.Default port is 8341.

image

  • After launching gman successfully, open another Terminal and input the following to enter the interactive terminal:
1
./gman attach ./chaindata/gman.ipc

image

  • Input net.peerCount to view the number of connected nodes; man.blockNumber to view the block height (an increasing block height indicates that synchronization with the chain has begun and that gman is successfully deployed).

image

Mining/Verification Masternodes

Preconditions

  • A dedicated network environment (independent IP).

  • Accurate machine time/system clock.

  • Open TCP and UDP 50505 ports.

image

image

image

image

image

image

image

image

image

image

image

image

  • Refer to TCP port instructions to open UDP.

image

Note: UDP and TCP must be named differently.

  • See Basic node—> File download for download link.

Launch in Windows

  • Create a new folder. Copy MANGenesis.json (version 0620) and gman.exe. Create a subfolder named chaindata. Copy man.json to the new chaindata folder.The directory structure should be as follows:

image

image

image

image

image

  • Create a subfolder named keystore in the chaindata folder. Place your keystore file in the keystore folder.

image

  • Create the account information file called signAccount.json in the same level directory as gman.exe. Write your account address and password in signAccount.json. The format is as follows:
1
2
3
4
5
6
[
{
"Address":"MAN.3ZiStKpKvTa9RWTQuncaAHjx98Spy",
"Password":"matrix@test"
}
]

image

  • Encrypt account files and input the following command:
1
gman.exe --datadir ./chaindata aes --aesin ./signAccount.json --aesout entrust.json

image

  • Initialize MANGenesis.json file and execute the following instructions:
1
.gman  --datadir  ./chaindata/  init  ./MANGenesis.json

image

  • Launch gman. You need to change the address to reflect your own address.
1
gman --datadir ./chaindata --networkid 1 --debug --verbosity 1  --manAddress [`MAN.3ZiStKpKvTa9RWTQuncaAHjx98Spy`]  --entrust ./entrust.json --gcmode archive --outputinfo 1 --syncmode full

image

  • After launching gman successfully, open another Command Prompt window and input the following to enter the interactive terminal:
1
gman.exe attach ipc:\\.\pipe\gman.ipc

Input net.peerCount to view the number of connected nodes; man.blockNumber to view the block height (an increasing block height indicates that synchronization with the chain has begun and that gman is successfully deployed).

image

Launch in Linux & Mac

  • Create a new wallet at https://wallet.matrix.io, and save keystore file and password.

  • Install lrzsz (A tool that transfer files between Linux server and Windows).

1
yum -y install lrzsz

image

  • Import MANGenesis.json and gman with lrzsz.

image

image

  • Create chaindata folder and place man. json into this folder.
1
2
mkdir chaindata
cd chaindata/

image

  • Create a subfolder named keystore in the chaindata folder. Place your keystore file in the keystore folder.

image

  • Create the account information file signAccount.json in the same level directory of gman , and write the account address and password to signAccount.json. The format is as follows:
1
2
3
4
5
6
[
{
"Address":"MAN.3ZiStKpKvTa9RWTQuncaAHjx98Spy",
"Password":"matrix@test"
}
]
  • Modify gman permissions.
1
chmod  +x  gman

image

  • Encrypt account files and generate cipher text.
1
./gman --datadir ./chaindata aes --aesin ./signAccount.json --aesout entrust.json

image

  • Initialize MANGenesis.json file.
1
./gman  --datadir  ./chaindata/  init  ./MANGenesis.json

image

  • Launch gman. You need to change the address to reflect your own address.
1
./gman --datadir ./chaindata --networkid 1 --debug --verbosity 1  --manAddress MAN.3ZiStKpKvTa9RWTQuncaAHjx98Spy --entrust ./entrust.json --outputinfo 1 --syncmode full

image

  • After launching gman successfully, open another Terminal and input the following to enter the interactive terminal:
1
./gman attach ./chaindata/gman.ipc

Input net.peerCount to view the number of connected nodes; man.blockNumber to view the block height (an increasing block height indicates that synchronization with the chain has begun and that gman is successfully deployed).

image

Router configuration (mapping port 50505)

As mentioned above, both the M (miner) node and the V (verifier) node run the GMAN program, make sure that the machine has a separate public network Ip and that the machine port 50505 is open, otherwise the mining will not succeed.

Special Scenario Home router configuration: (Note: Some routers do not support nat function, please find the relevant information configuration)

Here’s how to expose port 50505 of the mining machine, using Huawei’s router as an example:

  • Login router:

image

  • Click ‘more features

image

  • The NAT function is usually in the security settings.

image

  • Add Nat, port setting to 50505, host option to select current mining machine Ip, internal port 50505(protocol type to configure TCP / UDP as well).In general,only one port can be mapped to a public network device.

image

  • View machine IP:

    • The windows machine looks directly at the network connection. View network card IP:

    image

    • Unix_like(MAC/centos/Ubuntu)machines:Use the command ‘sudo ifconfig –a’

    image