Thibaut Le Guilly 8ecdf2aa55 Update messaging and serialization (#163)
* Update messaging and serialization

* Replace collection prefixes with bigsize instead of u16

* add test vectors

* Use old serialization format for oracle messages

* Add temporary contract id to offer message

* Rename leftEndPoint to endPoint

* Update test vectors

* Fix forgotten types

* Replace bigsize with u64 in payout curve and numeric outcome

* Update test vectors

* use bigsize for vector prefix in rounding intervals

* Update test vectors setting base as u16

* Update test vector with fix to precision field

* Update test vectors to include temporary contract id in offer message

* Add protocol version to accept message

* Add protocol version to sign message

* Fix test vectors
2022-06-12 08:36:04 -05:00
2021-05-07 15:29:59 -05:00
2019-12-09 12:23:36 -07:00
2021-05-07 15:29:59 -05:00
2021-05-07 15:43:33 -05:00

Discreet Log Contract In Progress Specification

The specifications are currently a work-in-progress and currently being drafted.

Pull requests and comments welcome.

Please see our introduction for what a DLC is and a glossary of terms used in DLCs.

For learning more about DLC have a look at the resources page.

Also, check out the dlc-dev mailing list!

Specification Roadmap

Check out our version 0 milestone!

For more information on works in progress and TODOs, see our pull requests and our v0.1 project dashboard

Future Work

  • DLC Transfers/Updates
  • Option-style DLCs
  • Taproot DLCs
  • Construction and negotiation of DLCs in Lightning (#3)

Implementations

bitcoin-s

The team at Suredbits is working on a implementation of discreet log contracts in bitcoin-s.

  1. Documentation
  2. Interactive DLC Demo

cfd-dlc

The team at CryptoGarage is working on a C++ implementation library. A JavaScript wrapper is also available. This wrapper is currently used as inside the p2pderivatives application.

rust-dlc

@Tibo-lg and others are working on a new Rust DLC implementation

node-dlc and chainify-finance

The team at Atomic Finance is working on two typescript implementation libraries which build on top of cfd-dlc. These libraries are used in the Atomic Finance app which also uses react-native-cfddlc swift module for C++ bindings.

NDLC

@NicolasDorier has created a wip DLC implementation in C# which can be used with BTCPayServer


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

Description
No description provided
Readme 2.9 MiB
Languages
Markdown 100%