Live video on the AT Protocol
1package spid
2
3import (
4 "bytes"
5
6 "github.com/bluesky-social/indigo/repo"
7 "github.com/ipfs/go-cid"
8 "github.com/multiformats/go-multihash"
9)
10
11func GetCID(record repo.CborMarshaler) (*cid.Cid, error) {
12 builder := cid.NewPrefixV1(cid.DagCBOR, multihash.SHA2_256)
13 buf := bytes.NewBuffer(nil)
14 err := record.MarshalCBOR(buf)
15 if err != nil {
16 return nil, err
17 }
18 c, err := builder.Sum(buf.Bytes())
19 if err != nil {
20 return nil, err
21 }
22 return &c, nil
23}