Different people use different profiles in there environments. It's likely that by default you use .profile. You may also use something like .bashrc, or .zshrc. In your HOME directory type "ls -la" and look for one of these two. To see which shell you are running when the shell is opened you can add an echo statement to these files and see which one prints when you open your terminal.
In ~/.bashrc:
echo"This is .bashrc"
In ~/.zshrc:
echo"This is .zshrc"
In ~/.profile:
echo"This is .profile"
Set your profile variable here with whatever itialization file is printed upon opening your terminal shell:
cd $HOMEmkdircometbftwgethttps://github.com/cometbft/cometbft/releases/download/v0.37.2/cometbft_0.37.2_linux_amd64.tar.gztarxvfcometbft_0.37.2_linux_amd64.tar.gz-C./cometbftchmod+xcometbft/cometbftsudomvcometbft/cometbft/usr/local/bin/rm-rfcometbft*
In order to check that the installation was successful, you can run the following command
cometbft version
Which should output something like:
0.37.2
Install pcli
Install the current version of node binary.
USER="YOURUSER"curl-O-Lhttps://github.com/penumbra-zone/penumbra/releases/download/v0.67.1/pcli-x86_64-unknown-linux-gnu.tar.xzunxzpcli-x86_64-unknown-linux-gnu.tar.xztar-xfpcli-x86_64-unknown-linux-gnu.tarsudomvpcli-x86_64-unknown-linux-gnu/pcli/usr/local/bin/# confirm the pcli binary is installed by running:pcli--version# Move binary to your go binsudomv/usr/local/bin/pcli/home/$USER/go/bin
Install pd
curl-O-Lhttps://github.com/penumbra-zone/penumbra/releases/download/v0.67.1/pd-x86_64-unknown-linux-gnu.tar.xzunxzpd-x86_64-unknown-linux-gnu.tar.xztar-xfpd-x86_64-unknown-linux-gnu.tarsudomvpd-x86_64-unknown-linux-gnu/pd/usr/local/bin/# confirm the pd binary is installed by running:pd--version# Move binary to your go binsudomv/usr/local/bin/pd/home/$USER/go/bin
where IP_ADDRESS (like 1.2.3.4) is the public IP address of the node you’re running, and MY_NODE_NAME is a moniker identifying your node. Other peers will try to connect to your node over port 26656/TCP.
If your node is behind a firewall or not publicly routable for some other reason, skip the --external-address flag, so that other peers won’t try to connect to it. You can also skip the --moniker flag to use a randomized moniker instead of selecting one.
This command fetches the genesis file for the current testnet, and writes configs to a testnet data directory (by default, ~/.penumbra/testnet_data). If any data exists in the testnet data directory, this command will fail. See the section above on resetting node state.
Your chain in this case is Dymension. For Dymension, we want to set the port prefix as 205. The port prefix will be used to replace the first 2 or 3 digits of the original ports.
# Set the prefix export PREFIX=219
Update config.toml to use custom port 219
Next, we will update the Cometbft config.toml file. For 5-digit ports, the first 3 digits will be replaced. Here is how to calculate the new port values and update the config.toml file located at /home/$USER/.penumbra/testnet_data/node0/cometbft/config:
The below makes a service file for systemd, which will run penumbra as a service. This is useful for running a node in the background, and also for auto-restarting the node if it crashes.
sudonano/etc/systemd/system/penumbra.service
[Unit]Description=PenumbrapdWants=cometbft.service[Service]# If both 1) running pd as non-root; and 2) using auto-https logic, then# uncomment the capability declarations below to permit binding to 443/TCP for HTTPS.# CapabilityBoundingSet=CAP_NET_BIND_SERVICE# AmbientCapabilities=CAP_NET_BIND_SERVICEExecStart=/home/$USER/go/bin/pd start --home /home/$USER/.penumbra/testnet_data/node0/pd --grpc-bind 0.0.0.0:21981 --abci-bind 127.0.0.1:21958 --metrics-bind 0.0.0.0:21900 --tendermint-addr http://127.0.0.1:21957
# Consider overriding the home directory, e.g.# ExecStart=/usr/local/bin/pd start --home /var/www/.penumbra/testnet_data/node0/pdWorkingDirectory=/home/$USERUser=$USER# Raise filehandle limit for tower-abci.# Consider configuring logrotate if using debug logs# Environment=RUST_LOG=info,pd=debug,penumbra=debug,jmt=debugRestart=alwaysRestartSec=3LimitNOFILE=infinityCPUSchedulingPolicy=fifoCPUSchedulingPriority=20IOSchedulingClass=best-effortIOSchedulingPriority=0#LogNamespace=noisyNice=-10[Install]WantedBy=default.target
Running cometbft as a systemd service
The below makes a service file for systemd, which will run penumbra as a service. This is useful for running a node in the background, and also for auto-restarting the node if it crashes.