hashblock / hashblock-exchange Goto Github PK
View Code? Open in Web Editor NEWSawtooth transaction families for an event accounting distributed ledger application
License: MIT License
Sawtooth transaction families for an event accounting distributed ledger application
License: MIT License
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.
A clean model for generating Sawtooth informational events for subscribing
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
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
There are two (2) protos: units (top level) and unit(Proposal, Votes, etc)
When CLI is running it is doing so with the sawtooth-rest-api container. Accessing the rest API should direct to: http://rest-api:8008 as that is how it is mapped.
We need to add ask/tell, offer/accept, commitment/obligation, give/take vocabulary so that matching can be 2,3, and 4 way.
See Address Scheme in Wiki for details
This will change all TP's as well as genesis block and CLI
Setup both which support running, building and testing
Big change effects handler.py and unit tests.
Use church key
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
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.
Run-At
Reduce littering of sawtooth-validator container
Now that we have a runnable TP we can add in the testing framework to progress in earnest with quality
Logging is not very efficient. Take the time .....
To discuss w/Arthur to determine naming conventions
Using REST-API or other...
Having 1 YAML and 1 Config to deploy and configure the network
IE.Quanity * RE.Ratio = RE.Quantity
This equation must balance for quantity values and for each element of the multi-dimensional unit vector.
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
To align with our namespace:
build_all
, run_tests
Setup the consistent framework replete with:
build_all
and run_tests
to support hashblock_chain
YO, add me as a contributor via the Settings menu (far right on menu bar)
Define the data model and vocabulary (verbs) for UOM transactions.
settings
should be named unit
accept
undo
reject
Rule: Can not go from accept to reject... it requires an undo to preceed a re-vote
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.
Connects directly to source push events to trigger the builds
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.
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.
Create a common design paradigm for listing, proposing, voting, initiating and reciprocating
For example:
hashlib.sha512('units'.encode("utf-8")).hexdigest()[0:6]
Both have a "list" object that has no value
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.