Open ninabreznik opened 4 years ago
Missing in description above -
step 8) confirmHosting has an additional index parameter to identify which encoding is being confirmed.
also, changes described in point 13 have been implemented
(for me) new spec: https://github.com/ninabreznik/service.js/blob/dev/src/simulate-substrate.js
@todo
[ ] other fixes (see https://github.com/playproject-io/datdot-substrate/issues/23 )
1. publisher registers new data
we get merkle root like this https://pastebin.com/QH7egWUX and then submit it to the chain
2. chain emits
SomethingStored
event3. after the event is emitted, users can register for different roles: encoder, hoster, attestor
4. When users registers for any of the roles, chain will check if there is any data that needs hosting and if there is at least one hoster, one encoder and one attestor, then 'New Pin' is emitted
5. new event is emitted (
NewPin
) where encoder and hoster are notified about what feed needs hosting/encoding6. we pair hoster and encoder: encoder compresses data and passes them over to hoster
7. when encoder finishes its job, it notifies the chain (registerEncoding)
8. when hoster gets all the data, it also notifies the chain (confirmHosting)
9. chain emits event:
HostingStarted
10. Publisher can now submitChallenge
11.
Challenge
event is emitted where hoster is notified about the challenges12. Hoster submits proof to the chain
13. If challenges are successful, chain emits new event:
AttestPhase
14. random attester is selected to go grab data from the swarm
15. Attester reports back to the chain (submitAttestation)