# NDLC support
This project is experimental and based on a protocol which is still evolving everyday. Use with caution.
I will take no attempt at maintaining backwards compatibility at this stage.
A DLC can be seen as a smart contract involving two
parties, a future
event, a set of outcomes and a
outcome can be
attested by an
oracle does not need to interact with either party, and its only role is to
attest the outcome of the event.
payoff function determines the two parties' profit or loss depending on which outcome get
oracle roles is to define the
attest a single outcome of the event.
Let's call Alice and Bob the two parties of the contract, and Olivia the oracle.
A DLC will show two transactions on the chain:
- The Funding Transaction
- The Contract Execution Transaction (CET)
Funding Transaction is a transaction built by the two parties of the contract, locking their collateral for the contract.
Contract Execution Transaction (or
CET) is the transaction distributing the locked collateral according to the
payoff function for the outcome attested by the oracle.
The following documentation is also explained in this video.
# How to use
You need to add ndlc's docker fragment to your install with:
BTCPAYGEN_ADDITIONAL_FRAGMENTS="$BTCPAYGEN_ADDITIONAL_FRAGMENTS;opt-add-ndlc" . btcpay-setup.sh -i
You can then use
ndlc-cli.sh to run use ndlc-cli, for example:
ndlc.sh oracle generate MyOwnOracle
Read our documentation on our GitHub repository (opens new window).