mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
add dlt docu snippet
This commit is contained in:
parent
af80bd56ff
commit
88ca30e5fd
67
docu/Concepts/DLT/overview.md
Normal file
67
docu/Concepts/DLT/overview.md
Normal file
@ -0,0 +1,67 @@
|
||||
# DLT-Connector Overview
|
||||
|
||||
What the DLT Connector does roughly.
|
||||
|
||||
- create transaction
|
||||
- receive transactions from iota
|
||||
- warmup, load missing transactions from iota on startup
|
||||
|
||||
## create transaction
|
||||
- called from backend with transaction details
|
||||
- sender user | signing user (in case of contribution)
|
||||
- uuid
|
||||
- account nr | default = 1
|
||||
- community uuid
|
||||
- recipient user
|
||||
- uuid
|
||||
- account nr | default = 1
|
||||
- community uuid
|
||||
- amount
|
||||
- memo
|
||||
- type
|
||||
- createdAt
|
||||
- load or create accounts
|
||||
- compose protobuf transaction
|
||||
- derive correct private key for signing account and sign transaction
|
||||
- validate transaction
|
||||
- write transaction into transaction_recipes table
|
||||
- send transaction to iota
|
||||
- update iota message id in transaction_recipes table
|
||||
- return to backend with iota message id
|
||||
|
||||
|
||||
## receive transactions from iota
|
||||
- listen on all registered community topics on iota
|
||||
- make sure we have everything from milestone
|
||||
- sort per community by iota milestone, createdAt ASC
|
||||
- per message:
|
||||
- deserialize to protobuf object
|
||||
- validate
|
||||
- if valid:
|
||||
- calculate running_hash and account_balance
|
||||
- write into confirmed_transactions
|
||||
- if invalid:
|
||||
- write into invalid_transactions
|
||||
- send request to backend with final transaction data for comparison
|
||||
- sender user | signing user (in case of contribution)
|
||||
- uuid
|
||||
- account nr
|
||||
- community uuid
|
||||
- recipient user
|
||||
- uuid
|
||||
- account nr
|
||||
- community uuid
|
||||
- amount
|
||||
- memo
|
||||
- createdAt
|
||||
- confirmedAt
|
||||
- type
|
||||
- iota message id
|
||||
- balance for createdAt
|
||||
- decay for createdAt
|
||||
|
||||
## warmup, load missing transactions from iota or Chronicle on startup
|
||||
- read all iota message ids from all registered topics
|
||||
- check if already exist
|
||||
- load details for not existing message ids
|
||||
- do for every message [receive](#receive-transactions-from-iota)
|
||||
Loading…
x
Reference in New Issue
Block a user