Code Monkey home page Code Monkey logo

dolla-consortium / consensus-proposing Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 3.36 MB

"Proposing" means receptioning requests from customers and consortium members and staging these requests packaged into local proposals for being consumed by the consensus. Each of these local proposals once accepted by the consortium will be uniformly transacted on each consortium node. The transactions will then be appended into each node ledgers.

License: BSD 3-Clause "New" or "Revised" License

Haskell 99.66% Shell 0.34%
blockchain consensus-algorithm consensus-protocol haskell cqrs event-sourcing streaming frp reactive-programming seda

consensus-proposing's Introduction

/ Consensus / Proposing

Proposing Section

Section Overview

Proposing means

  • Receptioning requests from customers and consortium members
  • Staging these requests packaged into local proposals for being consumed by the consensus.

Each of these local proposals once accepted by the consortium will be uniformly transacted on each consortium node. The transactions will then be appended into each node ledgers.

A Section is a meaningful Set of Pipelines and Junctions put together.

proposing-overview

  • Receptioning : Client/Server for collecting requests.
  • Detecting Flow Tension : Detect if the local proposal flow is tensed, meaning if the consensus has consumed more local proposals than being staged.
  • Staging : Stage Local Proposal Files for being consumed by the consensus. Local Proposals have the following properties
    • Proposals are never empty
    • Proposals file size < configurable size limit
    • Filename - x.proposal with x the offset of proposal produced
  • Simulating : Simulate the proposing input streams
    • Send dummy requests to Receptioning and simulate the downstream local proposal consumption.
    • 2 available modes
      • Overflowing : Sending more requests than the consortium can consume
      • UnderSupplying : Sending less request than the consortium can consume

DevOps

Zeus : Local Deployment Tool

  • Running only the proposing section in a simulated and local environment.
  • Configuring Microservices via an interactive CLI :
    • Mode of simulation (Overflowing/UnderSupplying)
    • Proposal size limit

Development Tasks (Mac OSX)

consensus-proposing's People

Contributors

nhenin avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

eventuria nhenin

consensus-proposing's Issues

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.