Cross Finance offers an innovative solution addressing critical issues by enhancing efficiency, ensuring data security, and reducing transaction costs. At the core of its ecosystem lies Cross Finance’s blockchain platform, CrossFi Chain, enabling the deployment of various DeFi products.
crossfid keys add
crossfid keys add --recover
crossfid keys list
crossfid keys delete
crossfid keys export
crossfid keys import .backup
crossfid q bank balances $(crossfid keys show -a)
sudo journalctl -u crossfid -f --no-hostname -o cat
sudo systemctl start crossfid
sudo systemctl stop crossfid
sudo systemctl restart crossfid
sudo systemctl status crossfid
sudo systemctl daemon-reload
sudo systemctl enable crossfid
sudo systemctl disable crossfid
crossfid status 2>&1 | jq .SyncInfo
echo $(crossfid tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.mineplex-chain/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
curl -sS http://localhost:657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
crossfid tx staking create-validator \
--amount=000000000000000000mpx \
--moniker="" \
--pubkey=$(crossfid tendermint show-validator) \
--identity="" \
--details="" \
--website="" \
--security-contact= \
--chain-id= \
--commission-rate=0. \
--commission-max-rate=0.20 \
--commission-max-change-rate=0. \
--min-self-delegation=1 \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"
crossfid tx staking edit-validator \
--new-moniker="" \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx" -ycrossfid tx staking edit-validator \
--identity="" \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--details="" \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--commission-rate=0. \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--new-moniker="" \
--identity="" \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--new-moniker="" \
--details="" \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--new-moniker="" \
--commission-rate=0. \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--identity="" \
--details="" \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--identity="" \
--commission-rate=0. \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--details="" \
--commission-rate=0. \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--new-moniker="" \
--identity="" \
--commission-rate=0. \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--new-moniker="" \
--details="" \
--commission-rate=0. \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--identity="" \
--details="" \
--commission-rate=0. \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--commission-rate=0. \
--chain-id= \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"crossfid tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--website="" \
--security-contact= \
--chain-id= \
--commission-rate=0. \
--from= \
--gas="1000000" \
--gas-prices="30000000000mpx"
crossfid status 2>&1 | jq .ValidatorInfo
crossfid q staking validator $(crossfid keys show --bech val -a)
crossfid q slashing signing-info $(crossfid tendermint show-validator)
crossfid tx slashing unjail --broadcast-mode=block --from --chain-id --gas="1000000" --gas-prices="30000000000mpx"
crossfid q staking validators -oj --limit=2000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " " + .description.moniker' | sort -gr | nl
[[ $(crossfid q staking validator $(crossfid keys show --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(crossfid status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "Your key status is ok" || echo -e "Your key status is error"
crossfid q slashing signing-info $(crossfid tendermint show-validator)
crossfid tx distribution withdraw-all-rewards --from --chain-id --gas="1000000" --gas-prices="30000000000mpx"
crossfid tx distribution withdraw-rewards $(crossfid keys show --bech val -a) --commission --from --chain-id --gas="1000000" --gas-prices="30000000000mpx"
crossfid tx staking delegate $(crossfid keys show --bech val -a) 000000000000000000mpx --from --chain-id --gas="1000000" --gas-prices="30000000000mpx"
crossfid tx staking redelegate $(crossfid keys show --bech val -a) 000000000000000000mpx --from --chain-id --gas="1000000" --gas-prices="30000000000mpx"
crossfid tx staking delegate 000000000000000000mpx --from --chain-id --gas="1000000" --gas-prices="30000000000mpx"
crossfid tx staking unbond $(crossfid keys show --bech val -a) 000000000000000000mpx --from --chain-id --gas="1000000" --gas-prices="30000000000mpx"
crossfid tx bank send 000000000000000000mpx --from --chain-id --gas="1000000" --gas-prices="30000000000mpx"
crossfid query gov proposal
crossfid tx gov vote --from --chain-id --gas="1000000" --gas-prices="30000000000mpx"
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/.mineplex-chain/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\"%; s%^address = \"127.0.0.1:8545\"%address = \"0.0.0.0:${CUSTOM_PORT}545\"%; s%^ws-address = \"127.0.0.1:8546\"%ws-address = \"0.0.0.0:${CUSTOM_PORT}546\"%" $HOME/.mineplex-chain/config/app.toml
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.mineplex-chain/config/config.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.mineplex-chain/config/config.toml
crossfid tendermint unsafe-reset-all --home $HOME/.mineplex-chain --keep-addr-book
sudo systemctl stop crossfid && \
sudo systemctl disable crossfid && \
rm /etc/systemd/system/crossfid.service && \
sudo systemctl daemon-reload && \
cd $HOME && \
rm -rf .mineplex-chain && \
rm -rf $(which crossfid)
wget -O $HOME/.mineplex-chain/config/genesis.json "https://snap.crossfi.kynraze.com/genesis.json"
wget -O $HOME/.mineplex-chain/config/addrbook.json "https://snap.crossfi.kynraze.com/addrbook.json"
PEERS=
sed -i -e "s|^persistent_peers *=.*|persistent_peers = "$PEERS"|" $HOME/.mineplex-chain/config/config.toml
Coming Soon
CROSSFI
_NODENAME="
"
echo "export
CROSSFI_NODENAME=$CROSSFI_NODENAME" >> $HOME/.bash_profile
if [ ! $WALLET ]; then
echo "export WALLET=wallet" >> $HOME/.bash_profile
fi
echo "export
CROSSFI_CHAIN_ID=" >> $HOME/.bash_profile
source $HOME/.bash_profile
sudo apt update && sudo apt upgrade -y && sudo apt install curl tar wget unzip clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y
ver="
1.20"
cd $HOME
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile
source ~/.bash_profile
go version
wget https://github.com/crossfichain/crossfi-node/releases/download/v0.3.0-prebuild3/crossfi-node_0.3.0-prebuild3_linux_amd64.tar.gz && tar -xf crossfi-node_0.3.0-prebuild3_linux_amd64.tar.gz
tar -xvf crossfi-node_0.3.0-prebuild3_linux_amd64.tar.gz
chmod +x $HOME/bin/crossfid
mv $HOME/bin/crossfid $HOME/go/bin
rm -rf crossfi-node_0.3.0-prebuild3_linux_amd64.tar.gz $HOME/bin
crossfid version
--long
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"10000000000000mpx\"|" $HOME/.mineplex-chain/config/app.toml
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/.mineplex-chain/config/config.tomlsed -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\"%
; s%^address = \"127.0.0.1:8545\"%address = \"0.0.0.0:${CUSTOM_PORT}545\"%; s%^ws-address = \"127.0.0.1:8546\"%ws-address = \"0.0.0.0:${CUSTOM_PORT}546\"%
"
$HOME/.mineplex-chain/config/app.toml
crossfid config chain-id $CROSSFI_CHAIN_ID crossfid config keyring-backend file crossfid config node tcp://localhost:657
rm -rf testnet ~/.mineplex-chain
git clone https://github.com/crossfichain/testnet.git
mv $HOME/testnet/ $HOME/.mineplex-chain/
crossfid init $CROSSFI_NODENAME
--chain-id
$CROSSFI_CHAIN_ID
wget -O $HOME/.mineplex-chain/config/genesis.json "https://snap.crossfi.kynraze.com/genesis.json"
wget -O $HOME/.mineplex-chain/config/addrbook.json "https://snap.crossfi.kynraze.com/addrbook.json"
PEERS="
"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/
.mineplex-chain/config/config.tomlsed -i -e "s|^seeds *=.*|seeds = \"
\"|" $HOME/
.mineplex-chain/config/config.toml
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/
.mineplex-chain/config/app.tomlsed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/
.mineplex-chain/config/app.tomlsed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/
.mineplex-chain/config/app.tomlsed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/
.mineplex-chain/config/app.toml
sudo tee /etc/systemd/system/
crossfid.service > /dev/null << EOF
[Unit]
Description=
crossfidAfter=network-online.target
[Service]
User=$USER
ExecStart=$(which
crossfid)start --home $HOME/
.mineplex-chainRestart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
curl -o - -L
https://snap.crossfi.kynraze.com/snapshot-latest.tar.lz4| lz4 -c -d - | tar -x -C $HOME/
.mineplex-chain
sudo systemctl daemon-reload
sudo systemctl enable
crossfidsudo systemctl restart
crossfidsudo journalctl -fu
crossfid-o cat
# Update & install lz4(Required)
sudo apt install snapd lz4 -y
# Reset Chain Data
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.mineplex-chain/config/config.toml
sudo systemctl stop crossfid
cp $HOME/.mineplex-chain/data/priv_validator_state.json $HOME/.mineplex-chain/priv_validator_state.json.backup
rm -rf $HOME/.mineplex-chain/data
# Download Data Snapshot
curl -o - -L https://snap.crossfi.kynraze.com/snapshot-latest.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.mineplex-chain
mv $HOME/.mineplex-chain/priv_validator_state.json.backup $HOME/.mineplex-chain/data/priv_validator_state.json
# Restart
sudo systemctl restart crossfid
sudo journalctl -fu crossfid -o cat
systemctl stop crossfid
crossfid tendermint unsafe-reset-all --home $HOME/.mineplex-chain --keep-addr-book
STATE_SYNC_RPC=""
LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height) \
SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000)) \
SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $SYNC_BLOCK_HEIGHT $SYNC_BLOCK_HASH
PEERS=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.mineplex-chain/config/config.toml
sed -i.bak -e "s|^enable *=.*|enable = true|" $HOME/.mineplex-chain/config/config.toml
sed -i.bak -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
$HOME/.mineplex-chain/config/config.toml
sed -i.bak -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
$HOME/.mineplex-chain/config/config.toml
sed -i.bak -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
$HOME/.mineplex-chain/config/config.toml
systemctl restart crossfid && journalctl -fu crossfid -o cat