Don't hesitate to reach out to us on IRC at [#lightning-dev @ freenode.net](http://webchat.freenode.net/?channels=%23lightning-dev), [#c-lightning @ freenode.net](http://webchat.freenode.net/?channels=%23c-lightning), or on the mailing list [lightning-dev@lists.linuxfoundation.org](https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev).
c-lightning currently only works on Linux (and possibly Mac OS with some tweaking), and requires a locally running `bitcoind` (version 0.15 or above) that is fully caught up with the network you're testing on. Pruning (prune=n option in bitcoin.conf) is not currently supported.
Wait until `bitcoind` has synchronized with the testnet network. In case you use regtest, make sure you generate at least 432 blocks to activate SegWit.
You can check the status of the channel using `cli/lightning-cli listpeers`, which after 3 confirmations (1 on testnet) should say that `state` is `CHANNELD_NORMAL`; after 6 confirmations you can use `cli/lightning-cli listchannels` to verify that the `public` field is now `true`.
States starting with `ONCHAIND` mean that the channel has been closed and an onchain transaction exists reflecting the resulting balances
*`ONCHAIND_OUR_UNILATERAL` > Closed by you without cooperation of the counterparty
*`ONCHAIND_THEIR_UNILATERAL` > Closed by the counterparty without your cooperation
*`ONCHAIND_MUTUAL` > Negotiated closing by both sides
States starting with `CHANNELD` mean that funds are not available onchain, and from that moment they can only be moved offchain, this is, through the Lightning Network
*`CHANNELD_AWAITING_LOCKIN` > Waiting for confirmation of the channel funding transaction
*`CHANNELD_NORMAL` > Channel is active
The `GOSSIPING` state means that you are connected to a peer but there is no payment channel yet.
The recipient creates an invoice with the expected `<amount>` in millisatoshi (or `"any"` for a donation), a unique `<label>` and a `<description>` the payer will see:
This returns some internal details, and a standard invoice string called `bolt11` (named after the [BOLT #11 lightning spec](https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md)).
lightningd can be configured either by passing options via the command line, or via a configuration file. Command line options will always override the values in the configuration file.
To use a configuration file, create a file named "config" within your ".lightning" directory. Usually this will be ~/.lightning/config
Configuration options are set using a key=value pair on each line of the file, for example:
```
alias=SLEEPYDRAGON
rgb=008000
port=9735
network=testnet
```
For a full list of possible lightningd configuration options, run: