Network Overview

AtomOne emerged in response to concerns raised by the community over Proposal 82 and furthered by Proposal 848 on the Cosmos Hub, which highlighted issues surrounding centralization, security and governance inefficiencies within the network.
https://rpc-atomone.sychonix.comhttps://api-atomone.sychonix.com83b999a28b19a1d40df2311d693bf6fc6ed159f3@atomone-mainnet:1605679f1e0441a709df992633bde96d75b54e2cfad46@atomone-mainnet.sychonix.com:12956curl -L https://snapshot.sychonix.com/mainnet/atomone/genesis.json > $HOME/.atomone/config/genesis.jsoncurl -L https://snapshot.sychonix.com/mainnet/atomone/addrbook.json > $HOME/.atomone/config/addrbook.jsonInstallation
- Install Dependencies
 
sudo apt update && sudo apt upgrade -y
sudo apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev aria2 -y- Install Go
 
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.21.13.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)- Install binary
 
cd $HOME
git clone https://github.com/atomone-hub/atomone.git
cd atomone
git checkout v2.0.0
make install- Initialize The Node
 
atomoned init $MONIKER --chain-id atomone-1
sed -i -e "s|^node *=.*|node = \"tcp://localhost:12957\"|" $HOME/.atomone/config/client.toml
sed -i -e "s|^keyring-backend *=.*|keyring-backend = \"os\"|" $HOME/.atomone/config/client.toml
sed -i -e "s|^chain-id *=.*|chain-id = \"atomone-1\"|" $HOME/.atomone/config/client.toml- Download Genesis & Addrbook
 
curl -L https://snapshot.sychonix.com/mainnet/atomone/genesis.json > $HOME/.atomone/config/genesis.json
curl -L https://snapshot.sychonix.com/mainnet/atomone/addrbook.json > $HOME/.atomone/config/addrbook.json- Configure Seeds and Peers
 
SEEDS="79f1e0441a709df992633bde96d75b54e2cfad46@atomone-mainnet.sychonix.com:12956"
PEERS="$(curl -sS https://rpc-atomone.sychonix.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
sed -i -e "s|^seeds *=.*|seeds = '"$SEEDS"'|; s|^persistent_peers *=.*|persistent_peers = '"$PEERS"'|" $HOME/.atomone/config/config.toml- Update Port Configuration
 
sed -i -e "s%:1317%:12917%; s%:8080%:12980%; s%:9090%:12990%; s%:9091%:12991%; s%:8545%:12945%; s%:8546%:12946%; s%:6065%:12965%" $HOME/.atomone/config/app.toml
sed -i -e "s%:26658%:12958%; s%:26657%:12957%; s%:6060%:12960%; s%:26656%:12956%; s%:26660%:12961%" $HOME/.atomone/config/config.toml- Customize Pruning
 
sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "17"|' \
  $HOME/.atomone/config/app.toml- Set Minimum Gas Price, Enable Prometheus, and Disable the Indexer
 
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0uatone\"|" $HOME/.atomone/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.atomone/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.atomone/config/config.toml- Create Service File
 
sudo tee /etc/systemd/system/atomoned.service > /dev/null <<EOF
[Unit]
Description=atomoned node service
After=network-online.target
[Service]
User=$USER
ExecStart=$(which atomoned) start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF- Download Current Snapshot
 
curl "https://snapshot.sychonix.com/mainnet/atomone/atomone-snapshot.tar.lz4" | lz4 -dc - | tar -xf - -C "$HOME/.atomone"- Enable the Service and Start the Node
 
sudo systemctl daemon-reload
sudo systemctl enable atomoned.service
sudo systemctl restart atomoned.service && sudo journalctl -u atomoned.service -f --no-hostname -o catUpgrade
No chain upgrades scheduled yet.
Peers
PEERS="$(curl -sS https://rpc-atomone.sychonix.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.atomone/config/config.tomlSnapshot
Height: Loading... | Last updated: Loading... | Size: Loading...
- Install dependencies, if needed
 
sudo apt update && sudo apt install aria2- Stop Service
 
sudo systemctl stop atomoned- Back up priv_validator_state.json
 
cp $HOME/.atomone/data/priv_validator_state.json $HOME/.atomone/priv_validator_state.json.backup- Reset the data
 
atomoned tendermint unsafe-reset-all --home $HOME/.atomone --keep-addr-book- Download Snapshot
 
aria2c -x 16 -s 16 -o atomone-snapshot.tar.lz4 https://snapshot.sychonix.com/mainnet/atomone/atomone-snapshot.tar.lz4
lz4 -dc atomone-snapshot.tar.lz4 | tar -xf - -C $HOME/.atomone
rm -v atomone-snapshot.tar.lz4- Restore Backup and Restart Service
 
mv $HOME/.atomone/priv_validator_state.json.backup $HOME/.atomone/data/priv_validator_state.jsonsudo systemctl restart atomoned && sudo journalctl -u atomoned -f -o catAddrbook
curl -L https://snapshot.sychonix.com/mainnet/atomone/addrbook.json > $HOME/.atomone/config/addrbook.jsonGenesis
curl -L https://snapshot.sychonix.com/mainnet/atomone/genesis.json > $HOME/.atomone/config/genesis.jsonAPI
api-atomone.sychonix.comRPC
rpc-atomone.sychonix.comCLI Cheatsheet
Wallet Management
atomoned keys add
atomoned keys add --recover
atomoned keys list
atomoned keys delete
atomoned keys export
atomoned keys import .backup
atomoned q bank balances $(atomoned keys show -a)
Validator Management
Moniker
Identity
Details
Website
Security Contact
Amount
atomoned tx staking create-validator \ --amount=1000000uatone \ --pubkey=$(atomoned tendermint show-validator) \ --moniker="" \ --identity="" \ --details="" \ --website="" \ --security-contact= \ --chain-id=atomone-1 \ --commission-rate=0.05 \ --commission-max-rate=0.20 \ --commission-max-change-rate=0.01 \ --min-self-delegation=1 \ --gas-prices 0uatone \ --gas "auto" \ --gas-adjustment "1.5" \ --from wallet \ -y
atomoned tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--website="" \
--chain-id=atomone-1 \
--commission-rate=0.07 \
--from wallet \
--gas=auto \
--gas-prices 0uatone \
-yatomoned tx slashing unjail --from wallet --chain-id atomone-1 --gas auto --gas-adjustment 1.5
atomoned query slashing signing-info $(atomoned tendermint show-validator)
atomoned q staking validator $(atomoned keys show wallet --bech val -a)
atomoned q bank denom-metadata -oj | jq
atomoned status 2>&1 | jq -r '.SyncInfo.catching_up // .sync_info.catching_up'
atomoned status 2>&1 | jq -r '.SyncInfo.latest_block_height // .sync_info.latest_block_height'
Token Management
atomoned tx distribution withdraw-all-rewards --from wallet --chain-id atomone-1 --gas auto --gas-adjustment 1.5 --gas-prices 0uatone -y
atomoned tx distribution withdraw-rewards $(atomoned keys show wallet --bech val -a) --commission --from wallet --chain-id atomone-1 --gas auto --gas-adjustment 1.5 --gas-prices 0uatone -y
atomoned tx staking delegate $(atomoned keys show wallet --bech val -a) 1000000uatone --from wallet --chain-id atomone-1 --gas auto --gas-adjustment 1.5 --gas-prices 0uatone -y
atomoned tx staking redelegate $(atomoned keys show wallet --bech val -a) 1000000uatone --from wallet --chain-id atomone-1 --gas auto --gas-adjustment 1.5 --gas-prices 0uatone -y
atomoned tx staking delegate 1000000uatone --from --chain-id atomone-1 --gas auto --gas-adjustment 1.5 --gas-prices 0uatone -y
atomoned tx staking unbond $(atomoned keys show wallet --bech val -a) 1000000uatone --from wallet --chain-id atomone-1 --gas auto --gas-adjustment 1.5 --gas-prices 0uatone -y
atomoned tx bank send wallet 1000000uatone --from wallet --chain-id atomone-1 --gas auto --gas-adjustment 1.5 --gas-prices 0uatone -y
Service Management
sudo systemctl daemon-reload
sudo systemctl enable atomoned
sudo systemctl disable atomoned
sudo systemctl start atomoned
sudo systemctl stop atomoned
sudo systemctl restart atomoned
sudo systemctl status atomoned
sudo journalctl -u atomoned -f --no-hostname -o cat
CUSTOM_PORT=
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}660\"%" $HOME/.atomone/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}317\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}091\"%" $HOME/.atomone/config/app.tomlcd $HOME && sudo systemctl stop atomoned && sudo systemctl disable atomoned && sudo rm /etc/systemd/system/atomoned .service && sudo systemctl daemon-reload && sudo rm -rf $(which atomoned ) && sudo rm -rf $HOME/.atomone && sudo rm -rf $(which atomoned )
