Run your own DeSo node
Running your own DeSo node is easy:
- Install Docker and Docker Compose if you don't have it already
- On Mac and Windows, Docker comes with Docker Compose
- On Linux you need to install Docker Engine and Docker Compose separately
- Execute
make devnet
, make testnet
, or make mainnet
depending on which type of node you want to run
- This will automatically run the relevant docker-compose
- If you want to start from scratch, you can always do
make wipe
or make {environment}-wipe
. This will
delete all prior blocks/data for your node and allow it to start syncing from scratch again.
- Visit http://localhost:4200. This will load the frontend service you just ran and show you all the
data that your node is syncing.
Check sync progress
You can check on the sync progress of your local node either by looking at the output
or by looking in the admin panel of the frontend.
- Create a new user OR sign in with your existing seed phrase
- Head to the Admin panel to see your sync status. The tooltips should explain what
most things mean.
If you're looking at the output in the terminal, note
that there is a header-download phase that is usually pretty quick (a few minutes)
followed by a block syncing phase (if you're running iwith --sync-type=blocksync) or
a hypersync phase (if you're running --sync-type=hypersync-archival). The sync type is
specified in the base.env and overridden by the docker-compose.yml file for each
environment.
Reset your node
If your node fails to sync or you want to try syncing from scratch you can run make wipe
.
Learning More
If you want to learn more about how the DeSo node works, you can start by reading each
of the relevant docker-compose.yml files and the base.env file, which has a lot of
comments describing each of the flags.
If you want to know how the actual underlying node code works, check out
our docs page. To learn more about building an app, see our
app tutorial. To learn more about our architecture, including a code walkthrough,
see our architecture overview.
To run a validator, see our validator instructions doc.
What's next?
Once your node is synced, you have access to the full firehose of DeSo
data in real time! Below are some tips on how take full advantage of your node.
- Go to your Admin tab and watch the unfiltered feed update as your node
syncs. It's like a time machine!
- Note: If your node is having trouble syncing for some reason, try updating
the CONNECT_IPS flag in base.env to deso-seed-2.io or deso-seed-4.io and set
IGNORE_INBOUND_PEER_INV_MESSAGES to true while you sync. This will pick
a fairly reliable node as a sync peer and disregard messages from other
peers.
- Try to whitelist some posts in the Admin tab and see that they've made their way
onto your global feed.
- Read through the flags available in the base.env
file. You can adjust these flags however you want, but note that some flags may be
overridden in the docker-compose.yml files so just make sure you edit them there if they're
set.
- Set ADMIN_PUBLIC_KEYS to your public key so that the Admin tab is only
visible to your account.
- Set SUPER_ADMIN_PUBLIC_KEYS to your public key so that the super admin tab is only
visible to your account.
- Whitelist some posts and verify that they show up on the global feed.
- Deploy your node on any cloud provider with a static IP to make it accessible
to anyone on the internet.
- If you do this, you must point two domains at your node.
domain.com and api.domain.com.
- If you do this, you must add your domain to the Caddyfile.dev's
Content-Security-Policy or your site won't work. You will need to add two
entries: One for domain.com:* and one for api.domain.com:*
- Add the necessary nginx configuration for your SSL certificates generated by letsencrypt
- Set the TWILIO* flags to allow new users to get some starter DeSo.
- Set a SUPPORT_EMAIL so your users can contact you if they run into trouble.
- Play with the logging verbosity by increasing GLOG_V.
Need help?
You can often find ansers in the DeSo PoS Discussion Telegram Channel
The dev team is also active on all DeSo apps such as diamondapp.com and focus.xyz.