Joining the Pryzm Testnet
Overview
This documentation provides a step-by-step guide on how to join the testnet 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 testnet, 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 testnet, 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 testnet, 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
-
Install the
pryzmd
CLI tool on your machine. Visit the how to install Pryzm documentation. -
Create a directory for the Pryzm testnet data and navigate to it using the terminal.
-
Initialize the chain by executing the following command:
pryzmd init --chain-id=indigo-1 <moniker>
Replace
<moniker>
with a unique name for your node.
Genesis File
- Obtain the Genesis file for the Pryzm testnet. You can typically find it on the official Pryzm testnet repository or by contacting the testnet administrators.
wget https://storage.googleapis.com/pryzm-zone/indigo-1/genesis.json
- Extract and place the Genesis file in the Pryzm testnet data directory.
mv genesis.json ~/.pryzm/genesis.json
Seed & Peers
To connect to the Pryzm testnet, you need to configure seed nodes and peers.
-
Open the
config.toml
file located in the Pryzm testnet data directory using a text editor. -
Add seed nodes and peers under the
[p2p]
section in theconfig.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 testnet node.
minimum-gas-prices = "0.015upryzm, 0.01factory/pryzm15k9s9p0ar0cx27nayrgk6vmhyec3lj7vkry7rx/uusdsim"
Pruning of State
The Pryzm testnet allows you to configure the pruning mode to manage the state size of your node.
-
Open the
config.toml
file located in the Pryzm testnet data directory using a text editor. -
Under the
[pruning]
section in theconfig.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 thepruning-keep-recent
value to specify the number of recent states to keep.
- To disable pruning, use
REST API
The Pryzm network provides a REST API for interacting with the blockchain. By default, the REST API is disabled on the testnet. 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 testnet. 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 testnet, you can utilize various sync options.
-
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 testnet.
-
Block Sync: Block sync enables you to fetch blocks from the Pryzm testnet 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 testnet.
-
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 testnet.
Verify Testnet
After joining the Pryzm testnet, you can verify the successful connection of your node by performing the following checks:
-
Ensure that your node's logs do not display any critical errors or warnings.
-
Monitor your node's connection status using the Pryzm network's monitoring tools or community resources.
-
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 testnet 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 testnet.