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 addcrossfid keys add --recovercrossfid keys listcrossfid keys deletecrossfid keys exportcrossfid keys import .backup
crossfid q bank balances $(crossfid keys show -a)
sudo journalctl -u crossfid -f --no-hostname -o catsudo systemctl start crossfidsudo systemctl stop crossfidsudo systemctl restart crossfidsudo systemctl status crossfidsudo systemctl daemon-reloadsudo systemctl enable crossfidsudo systemctl disable crossfidcrossfid status 2>&1 | jq .SyncInfoecho $(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 .ValidatorInfocrossfid 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 "exportCROSSFI_NODENAME=$CROSSFI_NODENAME" >> $HOME/.bash_profileif [ ! $WALLET ]; thenecho "export WALLET=wallet" >> $HOME/.bash_profilefiecho "exportCROSSFI_CHAIN_ID=" >> $HOME/.bash_profilesource $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 $HOMEwget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"sudo rm -rf /usr/local/gosudo 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_profilesource ~/.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.gztar -xvf crossfi-node_0.3.0-prebuild3_linux_amd64.tar.gzchmod +x $HOME/bin/crossfidmv $HOME/bin/crossfid $HOME/go/binrm -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-chaingit clone https://github.com/crossfichain/testnet.gitmv $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=$USERExecStart=$(whichcrossfid)start --home $HOME/.mineplex-chainRestart=on-failureRestartSec=3LimitNOFILE=65535
[Install]WantedBy=multi-user.targetEOF
curl -o - -Lhttps://snap.crossfi.kynraze.com/snapshot-latest.tar.lz4| lz4 -c -d - | tar -x -C $HOME/.mineplex-chain
sudo systemctl daemon-reloadsudo systemctl enablecrossfidsudo systemctl restartcrossfidsudo journalctl -fucrossfid-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