Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This section will take you through the process of taking a node from fresh machine to full validator. The general steps are as follows:
Quicksync / Snapshot or Statesync the node
If you wish to create an archive node, replace step 3 with Running an Archive Node.
Unlike other Tendermint/Cosmos based daemons, secretd
cannot be built from source due to the SGX requirement.
For other builds other than .deb
, see the Secret Network Github Releases.
secretd
The most common method for installing secretd
is the Secret Network package installer for Debian/Ubuntu:
This document details how to join the Secret Network secret-4
mainnet as a full node. Once your full node is running and synced to the last block, you can use it
Ubuntu/Debian host, recommended is Ubuntu 20.04 LTS or 22.04 LTS.
A public IP address, so that other nodes can connect to you.
Open ports TCP 26656 & 26657
Note: If you're behind a router or firewall then you'll need to port forward on the network device.
secretd
This guide assumes you've already installed the latest version of secretd and SGX.
Choose a moniker for yourself, and replace <MONIKER>
with whatever name you like (could be some random string, or just how you like to name to node) below. This moniker is your public nickname of the node in the network.
This will generate the following files in ~/.secretd/config/
genesis.json
node_key.json
priv_validator_key.json
genesis.json
Initialize /opt/secret/.sgx_secrets
:
The following commands will create the necessary environment variables and attempt to automatically register the node.
The attestation certificate should have been created by the previous step
Verify the certificate is valid. A 64-character registration key will be printed if it was successful.
secretd
Configure secretd
. Initially you'll be using the bootstrap node, as you'll need to connect to a running node and your own node is not running yet.
If you already have a wallet funded with SCRT
, you can import the wallet by doing the following:
Otherwise, you will need to set up a key. Make sure you back up the mnemonic and the keyring password.
This will output your address, a 45 character-string starting with secret1...
.
Register your node on-chain
2. Pull & check your node's encrypted seed from the network
3. Get additional network parameters
These are necessary to configure the node before it starts.
From here on, commands must be ran on the full node.
In order to be able to handle NFT minting and other Secret Contract-heavy operations, it's recommended to update your SGX memory enclave cache:
minimum-gas-price
ParameterWe recommend 0.1uscrt
per gas unit:
Your node will not accept transactions that specify --fees
lower than the minimun-gas-price
you set here.
IAVL fast node must be disabled, otherwise the daemon will attempt to upgrade the database whil state sync is occuring.
secret-node
:Note that the secret-node
system file is created when installing sgx.
You are now a now ready to finally sync the full node. 🎉.
secretd tendermint show-node-id
And publish yourself as a node with this ID:
Be sure to point your CLI to your running node instead of the bootstrap node
secretcli config node tcp://localhost:26657
If someone wants to add you as a peer, have them add the above address to their persistent_peers in their ~/.secretd/config/config.toml.
And if someone wants to use your node from their secretcli then have them run:
Secret Network has strict Hardware Requirements, see . If your machine does not meet them, it will *NOT* work as a node.
Reading
RPC address of an already active node. You can use any node that exposes RPC services, please see .
For more information on how to install SGX, see instructions for .
If you need help with installing secretd, please take a look at .
You can choose between two methods, or :
WARNING: This method is experimental, and may not work. If it doesn't work, skip to .
If this step was successful, you can skip straight to .
If registration was NOT succesfull consider checking out the help or contact a fellow validator on our .
The following steps should use secretd
be ran on the full node itself. To run the steps with secretd
on a local machine, there.
Also checkout by block pane
for fine tuning your machine for better uptime.
Go to or to continue.
To sync to head quickly, please see .
You can skip syncing from scratch or download a snapshot by to the current block.
To turn your full node into a validator, see .
Ensure your hardware is Secret Node Compliant.
If you're running a local machine or bare-metal and not a cloud-based VM -
Go to your BIOS menu
Enable SGX (Software controlled is not enough)
Disable Secure Boot
Disable Hyperthreading (recommended)
If you are a node runner all you must do to install SGX is to save this as a script and run it.
Copy of raw script.
secretd init-enclave
See Verify SGX for a guide how to test your setup.
To uninstall the Intel(R) SGX Driver, run:
The above command produces no output when it succeeds. If you want to verify that the driver has been uninstalled, you can run the following, which should print SGX Driver NOT installed
:
To uninstall the SGX SDK, run:
To uninstall the rest of the dependencies, run:
Snapshots are compressed folders of the database to reach the current block quickly.
WARNING: This will erase your node database. If you are already running validator, be sure you backed up your priv_validator_key.json
prior to running the command. The command does not wipe the file. However, you should have a backup of it already in a safe location.
All of the above steps can also be done manually if you wish.
Reset your node.
This will ensure you connect to peers quickly.
You can either chose to use the or do it with the
Quicksync / snapshots are provided by .
A complete to go command that should fit most needs can be found at #fast-state-sync-script. Be aware that this script can also fail or cause problems. In that case please ask for help in the channels above.
Statesync is a module built into the Cosmos SDK to allow validators to rapidly join the network by syncing your node with a snapshot enabled RPC from a trusted block height.
This greatly reduces the time required for a node to sync with the network from days to minutes. The limitations of this are that there is not a full transaction history, just the most recent state that the state-sync RPC has stored. An advantage of state-sync is that the database is very small in comparison to a fully synced node, therefore using state-sync to re-sync your node to the network can help keep running costs lower by minimizing storage usage.
By syncing to the network with state-sync, a node can avoid having to go through all the upgrade procedures and can sync with the most recent binary only.
This documentation assumes you have followed the instructions for Running a Full Node.
First, adjust the configuration to be compatible with state-sync:
IAVL fast node must be disabled, otherwise the daemon will attempt to upgrade the database whil state sync is occuring.
To ensure that state-sync works on your node, it has to look for the correct snapshots that the snapshot RPC provides.
SNAP_RPC is the RPC node endpoint that is used for statesyncing
Set the state-sync BLOCK_HEIGHT
and fetch the TRUST_HASH
from the snapshot RPC. The BLOCK_HEIGHT
to sync is determined by finding the latest block that's a multiple of snapshot-interval.
The output should be similar to:
using statesync properly?
You can find help in Telegram here
Visit the Secret Network Discord here and ask in #node-discussion or #node-support for help
This will erase your node database. If you are already running validator, be sure you backed up your config/priv_validator_key.json
prior to running unsafe-reset-all
.
It is recommended to copy the signing state of the node by coping data/priv_validator_state.json
and only running unsafe-reset-all
to avoid potential double signing.
The code below stops the node, resets the temporary directory and resets the node into a fresh state.
This generally takes several minutes to complete, but has been known to take up to 24 hours. To better help the process along, add seeds.
When state-sync fails, you can restart the process and try again using the condensed script below. This usually fixes some of the random problems with it:
To safe time, you can use this script to quickly init everything you need for statesync. Please be aware that this might be dangerous if you have a validator.
After you completed these steps, you can check this by doing:
When the value of catching_up
is false, your node is fully sync'd with the network and ready to go.
This is the secret
wallet which you used **** to create your full node, and will use to delegate your funds to you own validator. You must delegate at least 1 SCRT (1000000uscrt) from this wallet to your validator.
If you get the following message, it means that you have no tokens, or your node is not yet synced:
WARNING: if you don't backup your key and your node goes down, you will lose your validator and have to start a new one.
Remember 1 SCRT = 1,000,000 uSCRT, and so the command below stakes 10 SCRT
You should see your moniker listed.
(remember 1 SCRT = 1,000,000 uSCRT)
In order to stake more tokens beyond those in the initial transaction, run:
Currently deleting a validator is not possible. If you redelegate or unbond your self-delegations then your validator will become offline and all your delegators will start to unbond.
You are currently unable to modify the --commission-max-rate
and --commission-max-change-rate"
parameters.
Modifying the commision-rate can be done using this:
To unjail your jailed validator
To retrieve a validator's signing info:
You can get the current slashing parameters via:
`secretcli` is the Secret Network light client, a command-line interface tool for interacting with nodes running on the Secret Network. To install it, follow these instructions:
becoming a validator?
You can find help in Telegram
Visit the Secret Network Discord and ask in #node-discussion or #node-support for help
In order to become an active validator, you must have more stake than the . You may still execute the following steps, but you will not be active and therefore won't receive staking rewards.
In order to become a validator, you node must be fully synced with the network, using either the or .
Before creating your validator,
Get the latest release of secretcli for your OS .
You can find alternate node endpoints in the , or run your own \
See more details on how to use the CLI