# Celestia Full Storage Node - Mocha **Published by:** [GLCstaked](https://paragraph.com/@glcstaked/) **Published on:** 2023-01-04 **URL:** https://paragraph.com/@glcstaked/celestia-full-storage-node-mocha ## Content Set up guide for a Full Storage Node on Celestia Mocha Testnet. The Full storage node is a Data Availability Node, this node stores all the data but does not connect to Consensus (Celestia App). A bridge node is used to bridge between consensus nodes and data (storage & light) nodes. A setup script, for easier install is available here:GitHub - GLCNI/celestia-node-scripts: deployment scripts for celestia nodesdeployment scripts for celestia nodes. Contribute to GLCNI/celestia-node-scripts development by creating an account on GitHub.https://github.comHardware Requirements: 4vCPU / 8GB RAM / 250GB SSD / 1 Gbps Download/100 Mbps Upload OS: Ubuntu Linux 20.04 (LTS) x64 See Official guides for Celestia on setting up a Full Storage Node here, This document is designed for an easy step by step setup for beginner users.1. Set up dependenciesUpdate the OSsudo apt update && sudo apt upgrade -y Install essential packages for Celestia These are essential packages that are necessary to execute many tasks like downloading files, compiling and monitoring the node:sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu -y Change to Root User Most of the packages to install work best under root, to enter root in the terminal with sudo -i which can be exited back to normal user with exit anytime. Install Golang most of Celestia software is written in go, so the go programming language suite needs to be installed. remove any existing installationcd $HOME sudo rm -rf /usr/local/go sudo rm -rf ~/go Install Go and extractver="1.19.4" wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" rm "go$ver.linux-amd64.tar.gz" Add Go to PATHecho "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile source $HOME/.bash_profile Adding to the PATH variable is to allow Linux shell to know where to look for executable files is easy, to confirm this try go version This should Returngo version go1.19.4 linux/amd642. Install Celestia NodeFor Celestia full storage node setup: we need to install celestia-node the software stack for data availability not consensus, https://docs.celestia.org/developers/celestia-app/ Install Celestia Node Check the Discord ‘mocha testnet’ announcements for the latest version (currently this is v0.6.1)cd $HOME rm -rf celestia-node git clone https://github.com/celestiaorg/celestia-node.git cd celestia-node/ git checkout tags/v0.6.1 make install make cel-key confirm installation by running from within the directory celestia versionOutput will look similar if installed correctlyThe Binary for celestia-node is installed to /usr/local/bin3. Run Celestia NodeInitialise Celestia Node for full storage From Directory celestia-nodecelestia full init There is now a config.toml file which contains some parameters that can be modified for changes such as ports, this is in .celestia-full-mocha Start the Full Storage Node A Full Storage Node requires a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090): we can find RPC endpoints, check out the list of resources here.celestia full start --core.ip http://<ip addr of core node>:<Port> Examplecelestia full start --core.ip https://grpc-mocha.pops.one Output will look like this on first start, this creates a Key for youStop the node with ctrl + c4. KeyOnce you start the Full Storage Node, a wallet key will be generated for you. You will need to fund that address with testnet tokens to pay for PayForData transactions. Find Celestia node Key this will list the key installed earlier on first start-up in order for you to find your address./cel-key list --node.type full --keyring-backend test Use Existing Key The custom key must exist inside the Celestia bridge node directory at the correct path default: ~/.celestia-full-mocha/keys/keyring-test. add a wallet with existing seed, from celestia-node directory./cel-key add <name_of_custom_key> --keyring-backend test --node.type full --recover add flag to the start command from step 3. or to the system service file later at step 5.--keyring.accname <name_of_custom_key> 5. Set up as System ServiceSet up celestia-node as a background process.tee <<EOF >/dev/null /etc/systemd/system/celestia-full.service [Unit] Description=celestia-full Cosmos daemon After=network-online.target [Service] User=root ExecStart=/usr/local/bin/celestia full start --core.ip https://grpc-mocha.pops.one Restart=on-failure RestartSec=3 LimitNOFILE=4096 [Install] WantedBy=multi-user.target EOF Enable and start celestia-full daemonsystemctl enable celestia-full systemctl daemon-reload systemctl start celestia-full To view logsjournalctl -u celestia-full.service -f you are now running a Celestia Full Storage Node as a background service, this will run until stopped.If working you should see logs with data sampling- INFO dasAdditional CommandsStop the full storage nodesystemctl stop celestia-full Making changes to service filenano /etc/systemd/system/celestia-full.service Restart the servicesystemctl daemon-reload systemctl start celestia-full ## Publication Information - [GLCstaked](https://paragraph.com/@glcstaked/): Publication homepage - [All Posts](https://paragraph.com/@glcstaked/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@glcstaked): Subscribe to updates