In a magnet URI scheme, a URI contains info hash, trackers and peers. With info hash we can obtain peers from tracker(tracker protocol).
My question is: How can a client obtain complete info hash dictionary with provided peers and info hash? I digged in a little, it uses messages from extension protocol? But does it contact remote peer for info dictionary?
A client/peer that is feed a magnet-URI will connect to the trackers in the URI and/or use the DHT to get a peer-list.
Then it will start to connect to the peers.
When it is connected to a peer/peers, it will first start to download the info-dict using BEP9 - Extension for Peers to Send Metadata Files.
Then it will start to download the files in the torrent.