func (s *Store) GetBulk(suffixes []string) ([]string, error) {
	anchorBytes, err := s.store.GetBulk(suffixes...)
	if err != nil {
		return nil, orberrors.NewTransient(fmt.Errorf("failed to get did anchor reference: %w", err))
	}
	anchors := make([]string, len(suffixes))
	for i, a := range anchorBytes {
		if a == nil {
			anchors[i] = ""
		} else {
			anchors[i] = string(a)
		}
	}
	logger.Debugf("retrieved latest anchors%s for suffixes%s", anchors, suffixes)
	return anchors, nil
}
GetBulk retrieves anchors for specified suffixes.
package didanchor
import (
	"errors"
	"fmt"
	"github.com/hyperledger/aries-framework-go/spi/storage"
	"github.com/trustbloc/edge-core/pkg/log"
	"github.com/trustbloc/orb/pkg/didanchor"
	orberrors "github.com/trustbloc/orb/pkg/errors"
)
const nameSpace = "didanchor"
var logger = log.New("didanchor-store")
func New(provider storage.Provider) (*Store, error) {
	store, err := provider.OpenStore(nameSpace)
	if err != nil {
		return nil, fmt.Errorf("failed to open did anchor store: %w", err)
	}
	return &Store{
		store: store,
	}, nil
}
type Store struct {
	store storage.Store
}
func (s *Store) PutBulk(suffixes []string, cid string) error {
	if len(suffixes) == 0 {
		return errors.New("no suffixes provided")
	}
	operations := make([]storage.Operation, len(suffixes))
	for i, suffix := range suffixes {
		op := storage.Operation{
			Key:   suffix,
			Value: []byte(cid),
		}
		operations[i] = op
	}
	err := s.store.Batch(operations)
	if err != nil {
		return orberrors.NewTransient(fmt.Errorf("failed to add cid[%s] to suffixes%s: %w", cid, suffixes, err))
	}
	logger.Debugf("updated latest anchor[%s] for suffixes: %s", cid, suffixes)
	return nil
}