Giter Club home page Giter Club logo

hashblock-exchange's People

Contributors

arthurgreef avatar frankc01 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hashblock-exchange's Issues

Validate no double matching

Just like you have to check for no double spending in UTXO ledgers you need to check for no double matching in event chain ledgers. It is possible for a block to contain two receipt events that both match to the same initiate event. This is not allowed and should be validated.

Use quantity and resource units of measure in CLI commands

Currently we enter prime numbers for units in the CLI.

Instead of: 5:2:3 we should be able to write 5 bag(s) of peanut(s)
Instead of: 2:7:13 we should be able to write 2 $ of USD or $2 of USD
Instead of 2:7:13 1:2:3 we should be able to write ratios like 2 $ of USD/1 bag of peanuts

Ideally we can write a reciprocating event as: $10 of USD @ $2 of USD/1 bag of peanuts

Set up network nodes

FC Create autonomous transaction families by extending build_all to create images. - COMPLETE
FC Push images to docker hub - COMPLETE
FC Update yaml file to pull production sawtooth and the latest hashblock images - UPDATED
FC Create Shell autonomous image - COMPLETE

AG Create hashblock organization in Docker Hub - COMPLETE
AG Enable automatic builds from Docker Hub via Github pushes
AG Deploy images
AG Configure peer nodes
AG Test transactions

Expand transaction vocabulary

We need to add ask/tell, offer/accept, commitment/obligation, give/take vocabulary so that matching can be 2,3, and 4 way.

units-dev exits immediately

Log snippet

Attaching to units-dev, sawtooth-validator-local, units-processor, sawtooth-rest-api-local
sawtooth-validator-local | writing file: /etc/sawtooth/keys/validator.priv
sawtooth-validator-local | writing file: /etc/sawtooth/keys/validator.pub
sawtooth-validator-local | Generating /var/lib/sawtooth/genesis.batch
units-dev exited with code 0

Encrypt and decrypt all data on the chain

The value, and units hashes that are used by the balancing equation to validate a transaction needs to be encrypted so that transactions are secret. The public keys used to identify trading parties should also be anonymized.

For events, consider using the transaction header in TP to get state key

The intent of the inputs/outputs, see Here is to provide a list of addresses that identify to the context manager what address a transaction is authorized to read (inputs) and write (outputs) state.

Issue that comes to mind is that the inputs/outputs of transaction block may contain more than one entry. If this case is true then we would not know which one is the address to use in state management

Define hashblock_events

Setup the consistent framework replete with:

  • Folder structure supporting automated build, test and execution
  • Proto declarations supporting hashblock_chain transaction types and payload content
  • Changes to build_all and run_tests to support hashblock_chain

Is this the puppy?

YO, add me as a contributor via the Settings menu (far right on menu bar)

UOM Vocabulary

Define the data model and vocabulary (verbs) for UOM transactions.

Authorize transactions on the network

Currently anyone can use sawadm to generate keys for signing transactions and batchs on the network. The identity transaction family and the validator policies must be used to add authentication. The validation policy is set to trust now and it should be set to challenge.

Figure out the basic machinery

Using a hijacked version of intkey-java, prove out development options as well as understand how to get custom TP's, etc. into the ecosystem.

List reciprocating events

bin/hashblock events list should list reciprocating events with the balancing equation

<event_id> 5 bags of peanuts * $2 of USD/1 bag of peanuts = $10 of USD

Use prime numbers until we can use unit and resource addresses to look up unit codes. Ideally these codes and events are in an off-chain database for fast reads.

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.