code: func (s *GlobalStore) Put(addr common.Address, key []byte, data []byte) error {
  	unlock, err := s.lock(addr, key)
  	if err != nil {
  		return err
  	}
  	defer unlock()
  
  	batch := new(leveldb.Batch)
  	batch.Put(indexForHashesPerNode(addr, key), nil)
  	batch.Put(indexForNodesWithHash(key, addr), nil)
  	batch.Put(indexForNodes(addr), nil)
  	batch.Put(indexForHashes(key), nil)
  	batch.Put(indexDataKey(key), data)
  	return s.db.Write(batch, nil)
  }
docs: // Put saves the chunk data for node with address addr.