Initial clients implementation assumptions and milestones #6
Description
Also I think we won't use web3 in CLI at all. I'd rather use eth_call via EtherScan HTTP API. That's why I specified Bash as a viable solution. All we need to do in the first version is:
- compute hash of the file (e.g. use sha512sum)
- send a HTTP requests to EtherScan (eth_call - get signers of computed hash)
- use curl - send a HTTP requests to domain addresses (e.g. example.com/signhash.txt) - use curl
- send a HTTP requests to EtherScan (eth_call - get signers of computed hash)
I didn't know that's possible. However, just using web3 with infura
http provider by default might be a more future-proof solution. That way any web3 provider can be used, eg. local node or testrpc for testing. Also I'm not aware if signing a binary using just etherscan is possible, I assume not. I imagine that's an essential functionality anyway for a cli, so that's another benefit of starting with web3 right away.
Regarding milestones, my take on that is:
Milestone 1:
- Get signers of a file
- Verify signers
- Return first signer details, with verified / unverified feedback
Milestone 2:
- Sign a binary using given private key
What do you think? If that's ok let's create issues for that in signhash-cli
repo.