storj-archived / sips

Storj Improvement Proposals.
GNU General Public License v3.0
14 stars 11 forks source link

Exchange Report Document #13

Closed tempestb closed 7 years ago

tempestb commented 7 years ago

Greetings Earthman,

Right now there are three developers, including myself, that are working on applications that communicate to the API outside of the existing Storj libraries. We use the CLI tool debug as reference.

Currently, there is a new feature added which involves Reports, specifically Exchange Reports. It appears these are called after every Shard transfer. (Both up and down.) The information that is being passed is unknown, so it would be helpful if there was a document which briefly explained where these values are coming from.

Specifically...

"dataHash": Assume Shard Hash? "reporterId": ??? "farmerId": Assume Farmer Hash? "clientId": ??? "exchangeStart": ??? Start of byte index? Or possibly this is a unix time stamp of some sort? "exchangeEnd": ??? End of byte index? time stamp? "exchangeResultCode": ??? Likely the Farmer response after transfer, but wasn't sure if I need to provide?
"exchangeResultMessage": ??? Same

This is not urgent, but I was told that mirrors rely on this feature, so we would obviously like to support mirroring of shards.

Thanks!

braydonf commented 7 years ago

We also need to define how to turn exchange reports into an average bandwidth metric for each farmer. This is necessary for ideas discussed in SIP6.

braydonf commented 7 years ago

I think this document should also describe the process to get consensus on network and bandwidth statistics.

braydonf commented 7 years ago

Looks like we can finally get around to getting this documented in whole, and how the information will relate and be used. https://github.com/Storj/sips/pull/37