return&offlineExchange{}}// offlineExchange implements the Exchange interface but doesn't return blocks.// For use in offline mode.typeofflineExchangestruct{}// Block returns nil to signal that a block could not be retrieved for the// given key.// NB: This function may return before the timeout expires.func(_*offlineExchange)Block(ku.Key,timeouttime.Duration)(*blocks.Block,error){returnnil,errors.New("Block unavailable. Operating in offline mode")}// HasBlock always returns nil.func(_*offlineExchange)HasBlock(blocks.Block)error{returnnil}