# Introduction

`sourced` is a command line client for the Source Chain network. Source Chain users can use `sourced` to send transactions to the Source Chain network and query the blockchain data.

{% hint style="info" %}
See [here](https://docs.sourceprotocol.io/nodes-and-validators/sourced-installation-and-setup) for instructions on installing `sourced`.
{% endhint %}

### Working Directory <a href="#working-directory" id="working-directory"></a>

The default working directory for the `sourced` is `$HOME/.source`, which is mainly used to store configuration files and blockchain data. The Source `key` data is saved in the working directory of `sourced`. You can also specify the `sourced` working directory by using the `--home` flag when executing `sourced`.&#x20;

### Connecting to a Full-Node

By default, `sourced` uses `tcp://localhost:26657` as the RPC address to connect to the Source Chain network. This default configuration assumes that the machine executing `sourced` is running as a full-node.

The RPC address can be specified to connect to any full-node with an exposed RPC port by adding the `--node` flag when executing `sourced`

### Global Flags <a href="#global-flags" id="global-flags"></a>

#### GET Commands <a href="#get-commands" id="get-commands"></a>

All GET commands have the following global flags:

| Name, shorthand | Type   | Required | Default Value | Description                          |
| --------------- | ------ | -------- | ------------- | ------------------------------------ |
| --chain-id      | string |          |               | The network Chain ID                 |
| --home          | string |          | $HOME/.source | Directory for config and data        |
| --trace         | string |          |               | Print out full stack trace on errors |
| --log\_format   | string |          | plain         | Logging format (json \| plain)       |

#### POST Commands <a href="#post-commands" id="post-commands"></a>

All POST commands have the following global flags:

| Name, shorthand   | Type   | Required | Default Value          | Description                                                                                                    |
| ----------------- | ------ | -------- | ---------------------- | -------------------------------------------------------------------------------------------------------------- |
| --account-number  | int    |          | 0                      | AccountNumber to sign the tx                                                                                   |
| --broadcast-mode  | string |          | sync                   | Transaction broadcasting mode (sync \| async \| block)                                                         |
| --dry-run         | bool   |          | false                  | Ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it                        |
| --fees            | string |          |                        | Fees to pay along with transaction                                                                             |
| --from            | string |          |                        | Name of private key with which to sign                                                                         |
| --gas             | string |          | 200000                 | Gas limit to set per-transaction; set to "simulate" to calculate required gas automatically                    |
| --gas-adjustment  | float  |          | 1                      | Adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set |
| --gas-prices      | string |          |                        | Gas prices in decimal format to determine the transaction fee                                                  |
| --generate-only   | bool   |          | false                  | Build an unsigned transaction and write it to STDOUT                                                           |
| --help, -h        | string |          |                        | Print help message                                                                                             |
| --keyring-backend | string |          | os                     | Select keyring's backend                                                                                       |
| --ledger          | bool   |          | false                  | Use a connected Ledger device                                                                                  |
| --memo            | string |          |                        | Memo to send along with transaction                                                                            |
| --node            | string |          | tcp\://localhost:26657 | \<host>:\<port> to tendermint rpc interface for this chain                                                     |
| --offline         | string |          |                        | Offline mode (does not allow any online functionality)                                                         |
| --sequence        | int    |          | 0                      | Sequence number to sign the tx                                                                                 |
| --sign-mode       | string |          |                        | Choose sign mode (direct \| amino-json), this is an advanced feature                                           |
| --trust-node      | bool   |          | true                   | Don't verify proofs for responses                                                                              |
| --yes             | bool   |          | true                   | Skip tx broadcasting prompt confirmation                                                                       |
| --chain-id        | string |          |                        | The network Chain ID                                                                                           |
| --home            | string |          | $HOME/.source          | Directory for config and data                                                                                  |
| --trace           | string |          |                        | <p>Print out full stack trace on errors<br></p>                                                                |

### Module Commands <a href="#module-commands" id="module-commands"></a>

| Subcommand                                                                         | Description                                                   |
| ---------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| [bank](https://docs.sourceprotocol.io/command-line-interface-cli/broken-reference) | Bank subcommands for querying accounts and sending coins etc. |
| debug                                                                              | Debug subcommands                                             |
| distribution                                                                       | Distribution subcommands for rewards management               |
| gov                                                                                | Governance and voting subcommands                             |
| keys                                                                               | Keys allows you to manage your local keystore for tendermint  |
| params                                                                             | Query parameters of modules                                   |
| slashing                                                                           | Slashing subcommands                                          |
| staking                                                                            | Staking subcommands for validators and delegators             |
| status                                                                             | Query remote node for status                                  |
| tendermint                                                                         | Tendermint state querying subcommands                         |
| tx                                                                                 | Tx subcommands                                                |
| upgrade                                                                            | Software Upgrade subcommands                                  |
| wasm                                                                               | Interact with smart contracts                                 |
