func (s *ContextStoreImpl) Get(u string) (*jsonld.RemoteDocument, error) {
	b, err := s.store.Get(u)
	if err != nil {
		return nil, fmt.Errorf("get context from store: %w", err)
	}
	var rd jsonld.RemoteDocument
	if err := json.Unmarshal(b, &rd); err != nil {
		return nil, fmt.Errorf("unmarshal context document: %w", err)
	}
	return &rd, nil
}
Get returns JSON-LD remote document from the underlying storage by context url.
package ld
import (
	"bytes"
	"crypto/sha256"
	"encoding/json"
	"fmt"
	jsonld "github.com/piprate/json-gold/ld"
	"github.com/hyperledger/aries-framework-go/pkg/common/log"
	"github.com/hyperledger/aries-framework-go/pkg/doc/ldcontext"
	"github.com/hyperledger/aries-framework-go/spi/storage"
)
const (
	ContextStoreName = "ldcontexts"
	ContextRecordTag = "record"
)
var logger = log.New("aries-framework/store/ld")
type ContextStore interface {
	Get(u string) (*jsonld.RemoteDocument, error)
	Put(u string, rd *jsonld.RemoteDocument) error
	Import(documents []ldcontext.Document) error
	Delete(documents []ldcontext.Document) error
}
type ContextStoreImpl struct {
	store storage.Store
}
func NewContextStore(storageProvider storage.Provider) (*ContextStoreImpl, error) {
	store, err := storageProvider.OpenStore(ContextStoreName)
	if err != nil {
		return nil, fmt.Errorf("open store: %w", err)
	}
	err = storageProvider.SetStoreConfig(ContextStoreName,
		storage.StoreConfiguration{TagNames: []string{ContextRecordTag}})
	if err != nil {
		return nil, fmt.Errorf("set store config: %w", err)
	}
	return &ContextStoreImpl{store: store}, nil
}