Lightning payment between two nodes I'm struggling to work out how I can setup a channel between two lightning nodes so that I can send a single payment from one node to the other.

I have set up two separate c-lightning nodes connected to two separate bitcoind testnet nodes. 

The steps I've taken are:


Node 1 - lightning-cli connect node2id
Node 2 - lightning-cli connect node1id
Node 1 - lightning-cli fundchannel node2-channelid 10000
Node 2 - lightning-cli fundchannel node1-channelid 10000 (fails with "Peer already CHANNELD_AWAITING_LOCKIN")
Node 2 - lightning-cli invoice 1000 i1 i1 (fails with "No channels have sufficient incoming capacity")


How can I set up two lightning nodes so that I can send payments from one to the other? It seems like only the first node can fund the channel (I have read there is work in progress to allow dual funded channels but can't say I completely grasp that). But then it seems as if the channel is only funded from one side there's no way payments can be made?
They payment is failing because you have opened a channel where node 1 has 10000 sat, and node 2 has 0 sat, and then you are trying to make node 2 pay node 1. 

From what I understand, in point 4 you are attempting to have node 2 ‘add funds’ to the channel you opened in step 3. This is not how a lightning channel works: a lightning channel is a bitcoin UTXO, and you cannot ‘add bitcoins’ to an already existing UTXO. Each channel is defined when it is created, and then resolved when closed (the appropriate balance is sent to each participant). 

Considering your setup, you can make a payment from node 1 to node 2. Once that is done, you’ll be able to make payments from node 2 back to node 1 (until the whole balance is pushed back to one side). 

What you could also do to achieve a similar result is opening a new channel from node 2 to node 1. I’m not familiar with c-lightning, but I know that LND let’s you open two channels with the same peer. As you mentioned, dual-funding is possible but has not yet been implemented.