Skip to main content

Joining the Pryzm Mainnet

Overview

This documentation provides a step-by-step guide on how to join the mainnet of the Pryzm network using the pryzmd command-line interface (CLI). The Pryzm network is based on the Cosmos SDK framework, and this documentation includes CLI examples based on Cosmos SDK.

Getting Started

Before joining the Pryzm mainnet, ensure that you have the following prerequisites:

  • Basic knowledge of the command-line interface (CLI) and terminal commands.
  • Understanding of the Pryzm network and its underlying technology (Cosmos SDK).
  • Access to a computer or server with the required hardware specifications.

Hardware

To join the Pryzm mainnet, ensure that your hardware meets the minimum requirements:

  • CPU: 4 core 2.5GHz or higher.
  • RAM: 8GB or higher.
  • Storage: 500GB or higher (SSD recommended).
  • Operating System: Linux.

For validators aiming to join the mainnet, ensure that your hardware meets the minimum requirements for validators:

  • CPU: 8 core 2.5GHz or higher.
  • RAM: 16GB or higher.
  • Storage: 1TB or higher (SSD recommended).
  • Operating System: Linux.

Initialize Chain

  1. Install the pryzmd CLI tool on your machine. Visit the how to install Pryzm documentation.

  2. Create a directory for the Pryzm mainnet data and navigate to it using the terminal.

  3. Initialize the chain by executing the following command:

    pryzmd init --chain-id=pryzm-1 <moniker>

    Replace <moniker> with a unique name for your node.

Genesis File

  1. Obtain the Genesis file for the Pryzm mainnet. You can typically find it on the official Pryzm mainnet repository or by contacting the mainnet administrators.
wget https://storage.googleapis.com/pryzm-zone/pryzm-1/genesis.json
  1. Extract and place the Genesis file in the Pryzm mainnet data directory.
mv genesis.json ~/.pryzm/genesis.json

Seed & Peers

To connect to the Pryzm mainnet, you need to configure seed nodes and peers.

  1. Open the config.toml file located in the Pryzm mainnet data directory using a text editor.

  2. Add seed nodes and peers under the [p2p] section in the config.toml file. Example:

    seeds = "[email protected]:26656"
    persistent_peers = "<peer_1>,<peer_2>,<peer_3>"

    Replace <seed_node_X> with the IP addresses or domain names of the seed nodes, and <peer_X> with the IP addresses or domain names of the peers.

Gas & Fees

The Pryzm network utilizes a gas model for transaction fees. below is the gas configuration you can use for running a mainnet node.

minimum-gas-prices = "0.0025ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2,500000000ibc/DE63D8AC34B752FB7D4CAA7594145EDE1C9FC256AC6D4043D0F12310EB8FC255,0.025ibc/13B2C536BB057AC79D5616B8EA1B9540EC1F2170718CAFF6F0083C966FFFED0B,0.002ibc/BF28D9C17E0306B194D50F51C3B2590BEAD15E04E03ADD34C3A26E62D85C9676,0.015ibc/B8AF5D92165F35AB31F3FC7C7B444B9D240760FA5D406C49D24862BD0284E395,0.02ibc/BFAAB7870A9AAABF64A7366DAAA0B8E5065EAA1FCE762F45677DC24BE796EF65,0.01factory/pryzm1jnhcsa5ddjsjq2t97v6a82z542rduxvtw6wd9h/uauuu"

Pruning of State

The Pryzm mainnet allows you to configure the pruning mode to manage the state size of your node.

  1. Open the config.toml file located in the Pryzm mainnet data directory using a text editor.

  2. Under the [pruning] section in the config.toml file, set the desired pruning mode:

    • To disable pruning, use pruning = "nothing".
    • To prune state and keep a set number of recent states, use pruning = "custom". Adjust the pruning-keep-recent value to specify the number of recent states to keep.

REST API

The Pryzm network provides a REST API for interacting with the blockchain. By default, the REST API is disabled on the mainnet. To enable the REST API, edit the ~/.pryzmd/config/app.toml file and set enable to true in the [api] section.

###############################################################################
### API Configuration ###
###############################################################################
[api]
# Enable defines if the API server should be enabled.
enable = true
# Swagger defines if swagger documentation should automatically be registered.
swagger = false
# Address defines the API server to listen on.
address = "tcp://0.0.0.0:1317"

gRPC

The Pryzm network also supports gRPC for communication between nodes. By default, gRPC is enabled on port 9090 on the mainnet. Changes to the gRPC configuration can be made in the ~/.pryzmd/config/app.toml file. To disable the gRPC endpoint, set enable to false. To change the port, use the address parameter.

###############################################################################
### gRPC Configuration ###
###############################################################################
[grpc]
# Enable defines if the gRPC server should be enabled.
enable = true
# Address defines the gRPC server address to bind to.
address = "0.0.0.0:9090"

Sync Options (State Sync, Block Sync, Snapshot)

To synchronize your node with the Pryzm mainnet, you can utilize various sync options.

  1. State Sync: State sync allows you to fetch the current state of the blockchain efficiently. Consult the Pryzm network's documentation or community resources for instructions on how to perform state sync on the mainnet.

  2. Block Sync: Block sync enables you to fetch blocks from the Pryzm mainnet and catch up with the latest state. Consult the Pryzm network's documentation or community resources for instructions on how to perform block sync on the mainnet.

  3. Snapshot: A snapshot is a compressed representation of the entire blockchain state at a specific height. Using a snapshot, you can quickly sync your node to the specified height. Consult the Pryzm network's documentation or community resources for instructions on how to use snapshots on the mainnet.

Verify Mainnet

After joining the Pryzm mainnet, you can verify the successful connection of your node by performing the following checks:

  1. Ensure that your node's logs do not display any critical errors or warnings.

  2. Monitor your node's connection status using the Pryzm network's monitoring tools or community resources.

  3. Validate that your node is receiving new blocks and participating in the consensus process by checking the block height and verifying transaction activity.

Congratulations! You have successfully joined the Pryzm mainnet using the pryzmd CLI. Ensure to stay updated with the Pryzm network's documentation and community resources for any future updates or announcements specific to the mainnet.