code: async def set_digest(self, dkey, value):
          
          node = Node(dkey)
  
          nearest = self.protocol.router.find_neighbors(node)
          if not nearest:
              log.warning("There are no known neighbors to set key %s",
                          dkey.hex())
              return False
  
          spider = NodeSpiderCrawl(self.protocol, node, nearest,
                                   self.ksize, self.alpha)
          nodes = await spider.find()
          log.info("setting '%s' on %s", dkey.hex(), list(map(str, nodes)))
  
          # if this node is close too, then store here as well
          biggest = max([n.distance_to(node) for n in nodes])
          if self.node.distance_to(node) < biggest:
              self.storage[dkey] = value
          results = [self.protocol.call_store(n, dkey, value) for n in nodes]
          # return true only if at least one store call succeeded
          return any(await asyncio.gather(*results))
docs: Set the given SHA1 digest key (bytes) to the given value in the
          network.