# Celestia Full Storage Node **Published by:** [GLCstaked](https://paragraph.com/@glcstaked/) **Published on:** 2022-08-21 **URL:** https://paragraph.com/@glcstaked/celestia-full-storage-node ## Content Guide to install Celestia Full Storage NodeThe Full storage node is a Data Availability Node, this node stores all the data but does not connect to Consensus. Therefore it doesn't connect to Celestia App (hence not a full node) but stores all the data. A bridge node is used to bridge between consensus nodes and data (storage & light) nodes. Mamaki test network is deprecated now and replaced with Mocha test network, please see this guide for updated instructions https://mirror.xyz/0xf3bF9DDbA413825E5DdF92D15b09C2AbD8d190dd/Tc7O6Kzw2RoDmA_FWT1O3HUAkcY69tnIQ8QhAokkTk41. Set Up DependenciesFirst, make sure to update and upgrade the OS:sudo 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 Firewall Settings we need to enable firewall and open ports on our devicesudo ufw allow 9090/tcp sudo ufw enable sudo ufw status IMPORTANT: If you are going to remote into this server, make sure to enable SSH before enabling sudo ufw allow ssh Install Golang remove any existing installationsudo rm -rf /usr/local/go sudo rm -rf ~/go cd $HOME sudo wget https://golang.org/dl/go1.18.2.linux-amd64.tar.gz sudo tar -xvf go1.18.2.linux-amd64.tar.gz sudo rm go1.18.2.linux-amd64.tar.gz sudo mv go /usr/local Now we need to add the /usr/local/go/bin directory to $PATH:mkdir ~/go echo 'GOROOT=/usr/local/go' >> ~/.bashrc echo 'GOPATH=~/go' >> ~/.bashrc echo 'PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> ~/.bashrc make changes to the applicable file, should now be persistent in the .bashrcsource .bashrc Confirm installationgo version This should Return go version go1.18.2 linux/amd642. Install Celestia NodeFor Celestia full storage node setup: we need to install celestia node which handles data availability and not consensus, https://docs.celestia.org/developers/celestia-app/ Install Celestia Node create a binary file named celestia-node inside $HOME/go/bin folder which will be used later to run the node. Check the Discord ‘mamaki testnet’ announcements for the latest version (currently this is v0.3.0-rc2)cd $HOME rm -rf celestia-node git clone https://github.com/celestiaorg/celestia-node.git cd celestia-node/ git checkout tags/v0.3.0-rc2 make install confirm installation by running from within the directory celestia version3. Run Celestia NodeInitialize Celestia nodecelestia full init 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.grpc http://<ip addr of core node>:9090 Examplecelestia full start --core.grpc http://https://rpc-mamaki.pops.one:9090 Output will look like this on first start, this creates a Key for youStop the node with ctrl + c4. Celestia Node Keycd celestia-node/ Will install binary in current working directory from the celestia-node repository pulled in Step 2, accessible with ./cel-keymake cel-key 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 Output will be something like this, and stored in .celestia-full/keys/keyring-testFund Wallet with Mamaki Test tokens Once synced the address will need to be funded with Mamaki Testnet tokens to pay for PayForData transactions. A section on wallet and claiming tokens can be found here https://mirror.xyz/0xf3bF9DDbA413825E5DdF92D15b09C2AbD8d190dd/jT72y02MOHQ2P0Ivc8uGJmh9Ht9sVZpDtFrbMB9DAQE Optional: Generate your own Key./cel-key add <key_name> --keyring-backend test --node.type full This can then be selected later, in the start command with the flag --keyring.accname 5. Create Service to Run NodeSet up celestia-node as a background process.sudo tee <<EOF >/dev/null /etc/systemd/system/celestia-full.service [Unit] Description=celestia-full Cosmos daemon After=network-online.target [Service] User=$USER ExecStart=$HOME/go/bin/celestia full start Restart=on-failure RestartSec=3 LimitNOFILE=4096 [Install] WantedBy=multi-user.target EOF confirm set up withcat /etc/systemd/system/celestia-full.service to make changesnano /etc/systemd/system/celestia-full.service Enable and start celestia-full daemonsystemctl enable celestia-full 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 Optional: specify endpoints and wallet we can edit the flags in our system service filecelestia full start --core.grpc http://<ip>:9090 --keyring.accname <name_of_custom_key> ** ** ## 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