> For the complete documentation index, see [llms.txt](https://docs.cryptonode.id/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cryptonode.id/en/testnet/crossfi/cheat-sheet.md).

# Cheat Sheet

If you use our auto-installation, we've included several scripts under `./scripts` folder like:

```sh
./list_keys_testnet.sh
./check_balance_testnet.sh
./create_validator_testnet.sh
./unjail_validator_testnet.sh
./check_validator_testnet.sh
./start_crossfi_testnet.sh
./check_log_testnet.sh
```

Here's other useful commands you might need

## ⚙️Service operations <a href="#service-operations" id="service-operations"></a>

{% tabs %}
{% tab title="Check logs" %}

```sh
sudo journalctl -fu crossfi-testnet
```

{% endtab %}

{% tab title="Reload daemon" %}

```bash
sudo systemctl daemon-reload
```

{% endtab %}

{% tab title="Enable service" %}

```sh
sudo systemctl enable crossfi-testnet
```

{% endtab %}

{% tab title="Disable service" %}

```sh
sudo systemctl disable crossfi-testnet
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Start service" %}

```sh
sudo systemctl start crossfi-testnet
```

{% endtab %}

{% tab title="Stop service" %}

```sh
sudo systemctl stop crossfi-testnet
```

{% endtab %}

{% tab title="Restart service" %}

```sh
sudo systemctl status crossfi-testnet
```

{% endtab %}

{% tab title="Check service status" %}

```sh
sudo systemctl status crossfi-testnet
```

{% endtab %}
{% endtabs %}

## 🖥️Node operations

{% tabs %}
{% tab title="Overall status" %}

```
crossfid status | jq
```

{% endtab %}

{% tab title="Node info" %}

```
crossfid status 2>&1 | jq .NodeInfo
```

{% endtab %}

{% tab title="Sync info" %}

```
crossfid status 2>&1 | jq .SyncInfo
```

{% endtab %}
{% endtabs %}

## 🗝️Key Management

{% tabs %}
{% tab title="Add new wallet" %}

```
crossfid keys add $WALLET
```

{% endtab %}

{% tab title="Restore wallet" %}

```
crossfid keys add $WALLET --recover
```

{% endtab %}

{% tab title="List all wallet" %}

```
crossfid keys list
```

{% endtab %}

{% tab title="Check balance" %}

```
crossfid q bank balances $(crossfid keys show $WALLET -a)
```

{% endtab %}
{% endtabs %}

## 💱Transaction operations

Withdraw all rewards

{% code overflow="wrap" %}

```
crossfid tx distribution withdraw-all-rewards --from $WALLET --chain-id crossfi-evm-testnet-1 --gas auto --gas-adjustment 1.5 --gas-prices 10000000000000mpx
```

{% endcode %}

Self delegate

{% code overflow="wrap" %}

```
crossfid tx staking delegate $(crossfid keys show $WALLET --bech val -a) 1000000mpx --from $WALLET --chain-id crossfi-evm-testnet-1 --gas auto --gas-adjustment 1.5 --gas-prices 10000000000000mpx -y
```

{% endcode %}

Unbond

{% code overflow="wrap" %}

```
crossfid tx staking unbond $(crossfid keys show $WALLET --bech val -a) 1000000mpx --from $WALLET --chain-id crossfi-evm-testnet-1 --gas auto --gas-adjustment 1.5 --gas-prices 10000000000000mpx -y
```

{% endcode %}

Transfer token

{% code overflow="wrap" %}

```
crossfid tx bank send $WALLET_ADDRESS <TO_WALLET_ADDRESS> 1000000mpx --gas auto --gas-adjustment 1.5 --gas-prices 10000000000000mpx -y
```

{% endcode %}

## ✅Validator operations

Create validator

{% code overflow="wrap" %}

```sh
crossfid tx staking create-validator \
--amount 1000000mpx \
--from $WALLET \
--commission-rate 0.1 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--pubkey $(crossfid tendermint show-validator) \
--moniker "$MONIKER" \
--identity "put your keybase pgp here" \
--details "anything you want to say here" \
--chain-id crossfi-evm-testnet-1 \
--gas auto --gas-adjustment 1.5 --gas-prices 10000000000000mpx \
-y
```

{% endcode %}

{% hint style="info" %}
Can follow this guide to get your keybase pgp : <https://docs.harmony.one/home/network/validators/managing-a-validator/adding-a-validator-logo>
{% endhint %}

Edit validator

{% code overflow="wrap" %}

```sh
crossfid tx staking edit-validator \
--commission-rate 0.1 \
--new-moniker "$MONIKER" \
--identity "put your keybase pgp here" \
--details "anything you want to say here" \
--from $WALLET \
--chain-id crossfi-evm-testnet-1 \
--gas auto --gas-adjustment 1.5 --gas-prices 10000000000000mpx \
-y
```

{% endcode %}

{% hint style="info" %}
You can leave any field blank if you don't want to change it
{% endhint %}

Unjail Validator

```bash
crossfid tx slashing unjail \
--from $WALLET \
--chain-id crossfi-evm-testnet-1 \
--gas auto --gas-adjustment 1.5 --gas-prices 10000000000000mpx -y 
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cryptonode.id/en/testnet/crossfi/cheat-sheet.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
