/mediachain/node/manifest protocol for peer manifest retrieval
include manifests in RegisterPeer
API:
/manifest api for getting/setting the node manifests
/manifest/self api for producing a node manifest body for signing with mcid
/manifest/{peerId} for retrieving peer manifests
Follow-up: Process manifests in mcdir and provide query interface
Example:
# Create and sign a manifest for our node
$ curl -s http://localhost:9002/manifest/self > /tmp/mf.json
$ mcid sign blockstack:vyzobot.id /tmp/mf.json > /tmp/smf.json
Enter passphrase:
# Set the node manifests; accepts a list in ndjson
$ curl --data-binary @/tmp/smf.json http://localhost:9002/manifest
OK
# Get the node manifests
$ curl http://localhost:9002/manifest
{"entity":"blockstack:vyzobot.id","keyId":"Qmcvnd3Jn41DwSjaZcVXpTpX873czeSAAf3PcyyULdvFZc","body":{"node":{"peer":"QmeBkfxcaBfA9pvzivRwhF2PM7sXpp4HHQbp7jfTkRCWEa","publisher":"4XTTMADSKQUN3jkeZngbtuE35w9y5YnDTicVTeeji7N2Npkey"}},"timestamp":"1484079198","signature":"S+7EYCqiguyhT2oQf2BW6cRLR8xyBXb3tVqQBlSswDJQQs54gH1zEs6xBKHLqDhQzADSkAUFjBLkKQLDaNOBAg=="}
# Get manifests from a remote peer
$ curl http://127.0.0.1:9002/manifest/QmSbgwkKxtrBFDoGGwoKqH7soYiL64xpMK5oEYdiRnQGJp
{"entity":"blockstack:vyzobot.id","keyId":"Qmcvnd3Jn41DwSjaZcVXpTpX873czeSAAf3PcyyULdvFZc","body":{"node":{"peer":"QmSbgwkKxtrBFDoGGwoKqH7soYiL64xpMK5oEYdiRnQGJp","publisher":"4XTTMGkYEx5trQX5VV32S82gguRMtVFQL5UDnZNHzyNEHKBeZ"}},"timestamp":"1484151436","signature":"DLGU4cQtvv+2pOgDkwjocZgC66E9d5ckbdYRSFzt6Xdm4sN5Vuz0ZnbtGzAXZoh47QrDZCQS9YR4MWaR6momBA=="}
Adds support for manifests in mcnode [#14] [#99]
Protocol:
/mediachain/node/manifest
protocol for peer manifest retrievalRegisterPeer
API:
/manifest
api for getting/setting the node manifests/manifest/self
api for producing a node manifest body for signing withmcid
/manifest/{peerId}
for retrieving peer manifestsFollow-up: Process manifests in mcdir and provide query interface
Example: