oci/layout/oci_transport.go
func (ref ociReference) blobPath(digest digest.Digest, sharedBlobDir string) (string, error) {
	if err := digest.Validate(); err != nil {
		return "", errors.Wrapf(err, "unexpected digest reference %s", digest)
	}
	blobDir := filepath.Join(ref.dir, "blobs")
	if sharedBlobDir != "" {
		blobDir = sharedBlobDir
	}
	return filepath.Join(blobDir, digest.Algorithm().String(), digest.Hex()), nil
}
func (ref ociReference) blobPath(digest digest.Digest, sharedBlobDir string) (string, error) {
	if err := digest.Validate(); err != nil {
		return "", errors.Wrapf(err, "unexpected digest reference %s", digest)
	}
	blobDir := filepath.Join(ref.dir, "blobs")
	if sharedBlobDir != "" {
		blobDir = sharedBlobDir
	}
	return filepath.Join(blobDir, digest.Algorithm().String(), digest.Hex()), nil
}
// blobPath returns a path for a blob within a directory using OCI image-layout conventions.