Crossfi Finance

CrossFi is a technology that expands the influence of blockchain and gives users the opportunity to use clear and accessible financial instruments every day anywhere in the world. CrossFi App is the first combination of financial services and functions of full-fledged banking, debit cards, a non-custodial model of mutual settlements and the absence of intermediaries in traditional financial services on the crypto market.

Valoper mxvaloper1hmqljvhlcchyp4t876kxm762ecspd88djyzgcm
Version

Loading...

Stage Testnet
Last Block

Loading...

Chain

Loading...

Status

Loading...

Explorer
Crossfi Finance
Snapshot
Loading...

INSTALLATION

Depedency

Login to root

#### From user with sudoers access

$ sudo su -

Update and install packages for compiling
# apt update -y && sudo apt install curl git jq lz4 lzma build-essential zsh -y

User Management

Create user salinem

Notes : make sure dont running validator used user root !!!

Notes :
We never used user salinem in our production, This user is just an example.
We assume you have already mounted big size DISK in /mainnet

# mkdir -p /mainnet && useradd -m -d /mainnet/salinem -s /bin/zsh salinem

Sudo Management

Create file in /etc/sudoers.d/salinem-sudo
salinem  ALL=(ALL)   NOPASSWD: /usr/bin/systemctl daemon-reload, \
   /usr/bin/systemctl * crossfi-node*, \
   /usr/bin/journalctl -fu *, \
   /usr/bin/cp -rf /mainnet/salinem/systemd/* /etc/systemd/system/*, \
   /usr/bin/cp /mainnet/salinem/systemd/* /etc/systemd/system/*

FHS / Filesystem Hierarchy

Login to User salinem

#### From user with sudoers access

$ sudo su - salinem

#### OR If you started from user root do this

# su - salinem

We create FHS in /mainnet/salinem
   /
   /bin
   /etc
   /mainnet/salinem
   |           |
   |           |---bin
   |           |    |------go
   |           |    |       |---bin
   |           |---conf
   |           |---source
   |           |---systemd
   |           |---lib
   |           |---tmp
   /dev
   /mnt
Create Directory, make sure you have already login with user salinem
#### Create FHS
mkdir -p ${HOME}/tmp
mkdir -p ${HOME}/lib
mkdir -p ${HOME}/bin
mkdir -p ${HOME}/conf
mkdir -p ${HOME}/source
mkdir -p ${HOME}/systemd

Deploy Application

The Purpose is extract from file compression and move to ${HOME}/bin
cd ${HOME}/tmp 
wget -c  
filename=$(ls -1)
check_extension_gz=$(echo $filename | grep -i "tar.gz" | wc -l)
check_extension_zip=$(echo $filename | grep -i "zip" | wc -l)
check_extension_elf=$(echo $filename | egrep -i "zip|tar.gz" | wc -l)
if [ $check_extension_gz -eq 1 ]
then
check_data=$(tar tf ${filename} | grep  )
tar xvf  ${filename} -C . 
mv ${check_data} ${HOME}/bin/
fi
if [ $check_extension_unzip -eq 1 ]
then
unzip ${filename} 
check_data=$(ls -1 | grep -v ${filename})
mv $check_data ${HOME}/bin/
fi
if [ $check_extension_elf -eq 0 ]
mv crossfid  ${HOME}/bin
fi

Environment and Variable

If Using ZSH
# Set Go path to $PATH variable
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> $HOME/.zshrc
echo "export GOPATH="${HOME}/lib" >> $HOME/.zshrc
echo "export GOMAXPROCS=2" >> $HOME/.zshrc
echo "export CHAIN_ID=crossfi-evm-testnet-1" >> $HOME/.zshrc
echo "export WALLET_NAME=mywallet" >> $HOME/.zshrc
echo "export MONIKER=MYNODE"  >> $HOME/.zshrc
source ~/.zshrc
or
If Using BASH
# Set Go path to $PATH variable
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> $HOME/.bashrc
echo "export GOPATH="${HOME}/lib" >> >> $HOME/.bahsrc
echo "export GOMAXPROCS=2" >> $HOME/.bashrc
echo "export CHAIN_ID=crossfi-evm-testnet-1" >> $HOME/.bashrc
echo "export WALLET_NAME=mywallet" >> $HOME/.bashrc
echo "export MONIKER=MYNODE"  >> $HOME/.bashrc
source ~/.bashrc

Initiation Moniker

crossfid init --chain-id $CHAIN_ID "$MONIKER"

Deploy Genesis

curl -Ls  https://roomit.xyz/genesis/testnet/crossfi/genesis.json > $HOME/.crossfid/config/genesis.json 

Deploy Addressbook

curl -Ls  https://roomit.xyz/addressbook/testnet/crossfi/addrbook.json > $HOME/.crossfid/config/genesis.json 

Change Custom Port (optional)

If you have conflicted port or running tendermint with 1 environment node. you need change the ports otherwise you have conflicted ports.

PROXY_APP="16505"
RPC="16705" 
PROF_RPC="1105" 
P2P="16605" 
METRICS="16805" 
API="1205" 
GRPC="1305" 
WEBGRPC="1405" 

sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PROXY_APP}\"%" $HOME/.crossfid/config/config.toml 
sed -i.bak -e "s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${RPC}\"%" $HOME/.crossfid/config/config.toml 
sed -i.bak -e "s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${PROF_RPC}\"%" $HOME/.crossfid/config/config.toml 
sed -i.bak -e "s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${P2P}\"%" $HOME/.crossfid/config/config.toml 
sed -i.bak -e "s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${METRICS}\"%" $HOME/.crossfid/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${API}\"%" $HOME/.crossfid/config/app.toml
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${GRPC}\"%" $HOME/.crossfid/config/app.toml
sed -i.bak -e "s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${WEBGRPC}\"%" $HOME/.crossfid/config/app.toml

Change Prune Parameter (optional)

sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
  -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
  $HOME/.crossfid/config/app.toml

Create Service Systemd

Login to root

#### From user with sudoers access

$ sudo su -

The first we made in user salinem ${HOME}/systemd/
cat > ${HOME}/systemd/crossfi-node.service << EOF
[Unit]
Description= Tendermint Daemon
After=network-online.target

[Service]
User=salinem
Group=salinem
ExecStart=/mainnet/salinem/bin/crossfid start  --home=/mainnet/salinem/.crossfid
Restart=on-failure
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF
Copy from ${HOME}/systemd/crossfi-node.service to /etc/systemd/system/
sudo cp -rf /mainnet/salinem/systemd/crossfi-node.service /etc/systemd/system/

Service Management

Reload Daemon
sudo systemctl daemon-reload
Enable Service when booting
sudo systemctl enable crossfi-node.service
Start Service
sudo systemctl start crossfi-node.service
Check Service and Log
sudo systemctl status crossfi-node.service
sudo journalctl -fu crossfi-node.service
After All running well, You can speed up blocks using 2 methods Statesync or Snapshot

STATE-SYNC

Deployment Statesync

1. Create file or we assume filename already created statesync.sh, edit this file and put code below

#!/bin/bash

SNAP_RPC="https://rpc.crossfi.roomit.xyz:443"

LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)

sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.crossfid/config/config.toml

2. Stop Service

sudo systemctl stop crossfi-node

Notes: for systemd init blockchain, adjust with your name of service. Example : systemctl stop crossfid

3. Execute Script

bash statesync.sh

4. Reset Node

# On some tendermint chains
crossfid unsafe-reset-all

# On other tendermint chains
crossfid tendermint unsafe-reset-all --home $HOME/.crossfid --keep-addr-book

5. Start Services

sudo systemctl start crossfi-node

SNAPSHOT

Deployment Snapshot

1. Install Compression/Decompression Tools

sudo apt install lzma -y

2. Download Snapshot
Filename |
File Size |

SNAPSHOT=$(curl -s https://roomit.xyz/snapshot/testnet/crossfi/ | grep -i "<a href=" | grep lzma | grep -v md5sum | awk -F"=" '{print $2}' |  sed 's/"//g' | sed "s/>//g" | sed "s/ //g")
wget -c https://roomit.xyz/snapshot/testnet/crossfi/${SNAPSHOT} --inet4-only

3. Stop Your Service Blockchain

sudo systemctl stop crossfi-node

Notes : for systemd init blockchain, adjust with your name of service. Example : systemctl stop crossfid

4. Backup State Validator

cp ${HOME}/.crossfid/data/priv_validator_state.json ${HOME}/.crossfid/priv_validator_state.json

4. Reset Node Blockchain

crossfid tendermint unsafe-reset-all --home $HOME/.crossfid --keep-addr-book

5. Extract Data Snapshot

lzma -d -c ${SNAPSHOT} | tar -xv -C $HOME/.crossfid 

6. Restore State Validator

cp ${HOME}/.crossfid/priv_validator_state.json ${HOME}/.crossfid/data/priv_validator_state.json

7. Start Node Blockchain

sudo systemctl start crossfi-node

ENDPOINT PUBLIC

RPC

https://rpc.crossfi.roomit.dev

API

https://api.crossfi.roomit.dev
    

gRPC

grpc.crossfi.roomit.dev:8443

Example Call:

Assume, you have done install grpcurl

grpcurl grpc.crossfi.roomit.dev:8443 list

GENESIS

Deployment Genesis

Stop Your Service Blockchain
sudo systemctl stop crossfi-node

Notes : for systemd init blockchain, adjust with your name of service. Example : systemctl stop crossfid

Download And Deploy
curl -Ls  https://roomit.xyz/genesis/testnet/crossfi/genesis.json > $HOME/.crossfid/config/genesis.json 
Start Your Service Blockchain
sudo systemctl start crossfi-node

ADDRESSBOOK

Deployment Addressbook

Stop Your Service Blockchain
sudo systemctl stop crossfi-node

Notes : for systemd init blockchain, adjust with your name of service. Example : systemctl stop crossfid

Download And Deploy
curl -Ls  https://roomit.xyz/addressbook/testnet/crossfi/addrbook.json > $HOME/.crossfid/config/genesis.json 
Start Your Service Blockchain
sudo systemctl start crossfi-node

PEERS

SEEDS

Seed Peers

Our seeds peer for Crossfi Finance,
you can edit seeds = "" in ${HOME}/.crossfid/config/config.toml
08bc9afd0cac4ae6cf8f1877920b0cc7e58a6f42@seeds.tendermint.roomit.dev:40005

PERSISTENT

Persistent Peers

Our persistent peers for Crossfi Finance,
you can add our persistent persistent_peers = "" in ${HOME}/.crossfid/config/config.toml
b7f6da1a8aea371206b4d234398c4888c0564066@p2p.tendermint.roomit.dev:16605

All Persistent Peers

All Persistent Peers From Roomit Connected Peers
PERSISTENT_PEERS="Data Processing"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PERSISTENT_PEERS\"/" ${HOME}/.crossfid/config/config.toml

PRUNE

Change Prune Parameter

sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
  -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
  $HOME/.crossfid/config/app.toml

PORT

Change Custom Port

If you have conflicted port or running tendermint with 1 environment node. you need change the ports otherwise you have conflicted ports.

PROXY_APP="16505"
RPC="16705" 
PROF_RPC="1105" 
P2P="16605" 
METRICS="16805" 
API="1205" 
GRPC="1305" 
WEBGRPC="1405" 

sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${PROXY_APP}\"%" $HOME/.crossfid/config/config.toml 
sed -i.bak -e "s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${RPC}\"%" $HOME/.crossfid/config/config.toml 
sed -i.bak -e "s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${PROF_RPC}\"%" $HOME/.crossfid/config/config.toml 
sed -i.bak -e "s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${P2P}\"%" $HOME/.crossfid/config/config.toml 
sed -i.bak -e "s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${METRICS}\"%" $HOME/.crossfid/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${API}\"%" $HOME/.crossfid/config/app.toml
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${GRPC}\"%" $HOME/.crossfid/config/app.toml
sed -i.bak -e "s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${WEBGRPC}\"%" $HOME/.crossfid/config/app.toml

CLI

Setup Environment

IMPORTANT! You must setup this environment before used CLI
If you using bash shell
echo "export RPC="http://localhost:$(head -n100 ${HOME}/.crossfid/config/config.toml | grep "[rpc]" | grep "^laddr" | awk -F":" '{print $3}' | tr -d "\"" |  tr "\n" " " |sed "s/ //")"" >> ${HOME}/.bashrc
echo "export UNIT="mpx"" >> ${HOME}/.bashrc
echo "export MONIKER="NODE_DEPLOY_ROOMIT_SCRIPT"" >> ${HOME}/.bashrc
echo "export CHAIN_ID="crossfi-evm-testnet-1"" >> ${HOME}/.zshrc
echo "export PROFILE="PGP_KEY_OF_KEYBASE"" >> ${HOME}/.bashrc
echo "export DETAILS="Describes Your Validator"" >> ${HOME}/.bashrc
echo "export WEBSITE="https://yourwebsite.com"" >> ${HOME}/.bashrc
source ${HOME}/.bashrc
If you using zsh shell
echo "export RPC="http://localhost:$(head -n100 ${HOME}/.crossfid/config/config.toml | grep "[rpc]" | grep "^laddr" | awk -F":" '{print $3}' | tr -d "\"" |  tr "\n" " " |sed "s/ //")"" >> ${HOME}/.zshrc
echo "export UNIT="mpx"" >> ${HOME}/.zshrc
echo "export MONIKER="NODE_DEPLOY_ROOMIT_SCRIPT"" >> ${HOME}/.zshrc
echo "export CHAIN_ID="crossfi-evm-testnet-1"" >> ${HOME}/.zshrc
echo "export PROFILE="PGP_KEY_OF_KEYBASE"" >> ${HOME}/.zshrc
echo "export DETAILS="Describes Your Validator"" >> ${HOME}/.zshrc
echo "export WEBSITE="https://yourwebsite.com"" >> ${HOME}/.zshrc
source ${HOME}/.zshrc

Gas Fees

Default setting for gas fee Crossfi Finance
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5

Keys Management

We assume,You have complete identities. Moniker, Website, Security and Details Your Validator Install jq package for management json format

Ubuntu
apt install jq

CentOS
yum install jq

Arch Linux
pacman -S jq

Add New Key
crossfid keys add mywallet --home ${HOME}/.crossfid 
Recover Key
Recovery key with passpharse
crossfid keys add mywallet --recover --home ${HOME}/.crossfid
Recovery key with passpharse
crossfid keys add mywallet --recover --keyring-backend os --home ${HOME}/.crossfid
List Key
crossfid keys list --home ${HOME}/.crossfid
Delete Key
crossfid keys delete mywallet --home ${HOME}/.crossfid
Export Key
crossfid keys export mywallet --home ${HOME}/.crossfid
Import Key
crossfid keys import mywallet mywallet.backup --home ${HOME}/.crossfid
Show All Balances Address
for mywallet in `crossfid keys list --home ${HOME}/.crossfid --output json| jq -r ".[] .address"`
do
    crossfid q bank balances ${mywallet} --home ${HOME}/.crossfid --chain-id ${CHAIN_ID} --node ${RPC}
done
Show All Balances Address
crossfid q bank balances mywallet_public_address --home ${HOME}/.crossfid --chain-id ${CHAIN_ID} --node ${RPC}

Validator Management

We assume,You have complete identities. Moniker, Website, Security and Details Your Validator Install jq package for management json format

Ubuntu
apt install jq

CentOS
yum install jq

Arch Linux
pacman -S jq

Create New Validator
Before create validator make sure you have balance in your wallet (mywallet).
crossfid tx staking create-validator \
--amount=1000000${UNIT} \
--pubkey=$(crossfid tendermint show-validator --home ${HOME}/.crossfid) \
--moniker="${MONIKER}" \
--identity="${PROFILE}" \
--details="${DETAILS}" \
--website="${WEBSITE}" \
--chain-id=${CHAIN_ID} \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=mywallet \
--node ${RPC} \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y
Edit Validator
Before edit validator make sure you have balance in your wallet (mywallet).
crossfid tx staking edit-validator \
--pubkey=$(crossfid tendermint show-validator --home ${HOME}/.crossfid) \
--moniker="${MONIKER}" \
--identity="${PROFILE}" \
--details="${DETAILS}" \
--website="${WEBSITE}" \
--chain-id=${CHAIN_ID} \
--commission-rate=0.05 \
--from=mywallet \
--node ${RPC} \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y
Edit Validator
crossfid status 2>&1 | jq .ValidatorInfo
Get Status Syncing Block
crossfid status 2>&1 | jq .SyncInfo
Get Peer Own Id
echo $(crossfid tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.crossfid/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Get ALl Peer Node
curl -sS ${RPC}/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
Unjail Validator
crossfid tx slashing unjail \
--from mywallet \
--chain-id ${CHAIN_ID} \
--home ${HOME}/.crossfid \
--node  ${RPC} \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y
Jail Reason
crossfid query slashing signing-info $(crossfid tendermint show-validator) \
--node  ${RPC} \
--home ${HOME}/.crossfid
List All Active Validator
crossfid  q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
List All Inactive Validator
crossfid q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
Show Validator Details
crossfid query staking validator \
$(crossfid keys show \ 
$(crossfid keys list --home ${HOME}/.crossfid --output json| jq -r ".[] .address" | tail -n1) \
--bech val -a) \
--chain-id ${CHAIN_ID} \
--node $RPC

Token Management

Withdraw All Reward From Validator
crossfid tx distribution withdraw-all-rewards \
--from mywallet \
--chain-id ${CHAIN_ID} \
--node $RPC \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y
Withdraw Commision Reward From Validator
crossfid tx distribution withdraw-rewards $(crossfid keys show mywallet --bech val -a) \
--commission \
--from mywallet \
--chain-id ${CHAIN_ID} \
--node $RPC \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y 
Delegate My Token to Own Validator
crossfid  tx staking delegate prefixVALOPExxxxxx 100000${UNIT} \ 
--from mywallet \
--chain-id ${CHAIN_ID} \
--node $RPC \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y
Redelegate Tokens to Another Validator
crossfid tx staking redelegate $(crossfid keys show wallet --bech val -a)  100000${UNIT} \
--from mywallet \
--chain-id ${CHAIN_ID} \
--node $RPC \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y 
Unbound or Unstake Your Tokens
crossfid tx staking unbond $(crossfid keys show wallet --bech val -a) 100000${UNIT} \
--from mywallet \
--chain-id ${CHAIN_ID} \
--node $RPC \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y 
Send tokens to the wallet
crossfid tx bank send wallet  100000${UNIT} \
--from mywallet \
--chain-id ${CHAIN_ID} \
--node $RPC \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y 

Governance Management

We assume,You have complete identities. Moniker, Website, Security and Details Your Validator Install jq package for management json format

Ubuntu
apt install jq

CentOS
yum install jq

Arch Linux
pacman -S jq

List All Proposals
crossfid  query gov proposals
Voting
### vote yes
crossfid tx gov vote 1 yes \
--from mywallet \
--chain-id ${CHAIN_ID} \
--node $RPC \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y 

### vote no
crossfid tx gov vote 1 no \
--from mywallet \
--chain-id ${CHAIN_ID} \
--node $RPC \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y 

### vote abstain
crossfid tx gov vote 1 abstain \
--from mywallet \
--chain-id ${CHAIN_ID} \
--node $RPC \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y 

### vote No With Veto
crossfid tx gov vote 1 nowithveto \
--from mywallet \
--chain-id ${CHAIN_ID} \
--node $RPC \
--home ${HOME}/.crossfid \
--gas auto  --gas-prices 10000000000000mpx   --gas-adjustment 1.5 \
-y   

VALIDATORS LIST

Validator Details Commission Status Jailed Staked

GOVERNANCE

Governance This Month |
Proposal Description Status Voting Start Voting End Total Voted Participant

NETWORK SCAN

Network scan is tools for check node where the node open direct port rpc from internet without proxy.

This data collect from our RPC only https://rpc.crossfi.roomit.dev

P2P Network Moniker RPC Remote IP Status

MAP NODE

IP Address City Region Country Latitude Longitude