Linux x86_64 is confirmed to work. Other platforms may work but there is no guarantee. We will extend our support to other operating systems after we have stabilised our current architecture.
Prepare your machine
To run Cronos Mainnet nodes, you will need a machine with the following minimum requirements:
4-core, x86_64 / ARM architecture processor
16 GB RAM
1 TB of storage space.
Introduction
The fastest way to get a node synced to the latest block-height, is by using State-sync. With state-sync your node downloads a data snapshot near the head of the chain and verifies this data. This leads to drastically shorter times to join the network.
Keep in mind that the blocks before state-sync trust height will not be queryable.
So, in order to run a full node, it is better not to use state-sync, but use Quicksync's archive snapshot instead.
IMPORTANT
State-sync depends on the ability to pull a snapshot from its persistent-peers, so there is some amount of timing and luck involved with this method. Although it is the fastest way, it is not always going to work, in case state-sync is not syncing, we recommend using quicksync, although it takes a longer time to download the snapshot, this method is more guaranteed to work.
Step 1. Get the latest cronosd binary
The latest Cronosd version release is cronosd v1.0.15
Now that cronosd has been configured, we are ready to start the node:
./bin/cronosdstart1:40AMINFUnlockingkeyring1:40AMINFstartingABCIwithTendermint1:40AMINFservicestartimpl=multiAppConnmodule=proxymsg={}server=node1:40AMINFservicestartconnection=queryimpl=localClientmodule=abci-clientmsg={}server=node1:40AMINFservicestartconnection=snapshotimpl=localClientmodule=abci-clientmsg={}server=node1:40AMINFservicestartconnection=mempoolimpl=localClientmodule=abci-clientmsg={}server=node1:40AMINFservicestartconnection=consensusimpl=localClientmodule=abci-clientmsg={}server=node1:40AMINFservicestartimpl=EventBusmodule=eventsmsg={}server=node1:40AMINFservicestartimpl=PubSubmodule=pubsubmsg={}server=node1:40AMINFservicestartimpl=IndexerServicemodule=txindexmsg={}server=node1:40AMINFVersioninfoblock=11p2p=8server=nodetendermint_version=0.34.201:40AM INF This node is not a validator addr=DB03363D854BA491F280177BE33DE527F7542094 module=consensus pubKey=/L3Qe1oaNfrDael3QAmILSz5bLre9NAmKd48wd4eW8w= server=node
1:40AM INF P2P Node ID ID=d799c596250f27b5435775fdabb86d469dc5a784 file=/home/ubuntu/.cronos/config/node_key.json module=p2p server=node
1:40AMINFAddingpersistentpeers
This will take a couple of minutes, if your node manages to state-sync, you should see that snapshot chunks are being downloaded, and your node starts signing blocks.
To check the current node syncing status:
./bin/cronosdstatus2>&1|jq'.SyncInfo.catching_up'
That's it! You are now running a synced node on Cronos Mainnet!