Giter Site home page Giter Site logo

rust-dlc's Introduction

Rust-Dlc

A Rust library for working with Discreet Log Contracts.

A sample is provided as an example usage of this library.

Contributions are welcome. Check the contributing and development documents for more information.

Warning

This library is still in early stage and while test coverage is decent it has not been thoroughly tested in production yet. We thus recommend avoiding using it on main-net at the moment.

Status

The implementation is mainly based on the DLC specifications but is not yet fully compliant with it.

Organization

The library provides several crates to let users chose which functionality they want to utilize within their applications.

dlc

The dlc crate provides basic functionalities for creating, signing and verifying DLC transactions.

dlc-trie

The dlc-trie crate provides data structures for facilitating the storage and retrieval of information related to DLC based on numerical events.

dlc-manager

The dlc-manager crate provides functionalities for handling the creation and processing of DLC, as well as the generation of messages to be exchanged between two parties of a DLC.

dlc-messages

The dlc-messages crate provides data structures and serialization functionalities for messages to be exchanged between DLC peers.

bitcoin-rpc-provider

The bitcoin-rpc-provider crate implements interfaces required by the dlc-manager for interacting with the Bitcoin blockchain and proving wallet functionalities through the bitcoin-core RPC.

p2pd-oracle-client

The p2pd-oracle-client crate implements the oracle interface required by the dlc-manager to interact with an instance of the P2PDerivatives oracle.

sled-storage-provider

The sled-storage-provider crate implements the storage interface required by the dlc-manager to provide persistent storage of data.

Testing related crates

The bitcoin-test-utils, fuzz and mocks crates are used for testing purpose and are not intended to be used externally.

rust-dlc's People

Contributors

tibo-lg avatar benthecarman avatar luckysori avatar holzeis avatar sosaucily avatar jumbojets avatar yancyribbens avatar bonomat avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.