Skip to content

Instantly share code, notes, and snippets.

@mrosset
Created February 10, 2019 13:07
Show Gist options
  • Save mrosset/0d1342dd89d050944685d4e87e0b4252 to your computer and use it in GitHub Desktop.
Save mrosset/0d1342dd89d050944685d4e87e0b4252 to your computer and use it in GitHub Desktop.
offline ipfs multihash verification
func CoreHashOnly(path Path) (string, error) {
node, err := core.NewNode(context.TODO(), &core.BuildCfg{Online: false}) // NilRepo: true})
if err != nil {
return "", err
}
fd, err := os.Open(path.String())
if err != nil {
return "", err
}
defer fd.Close()
adder, err := coreunix.NewAdder(context.TODO(), node.Pinning, node.Blockstore, node.DAG)
if err != nil {
return "", err
}
file := files.NewReaderFile(fd)
if err != nil {
return "", err
}
fn, err := adder.AddAllAndPin(file)
if err != nil {
return "", err
}
return fn.Cid().String(), nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment