为了账号安全,请及时绑定邮箱和手机立即绑定

如何从头开始计算 CID?

如何从头开始计算 CID?

Go
湖上湖 2023-01-03 14:03:46
出于测试目的,我需要能够在 Go 中生成一个(正式的)有效 CID,即一个假 CID!该函数可以被赋予一个字节序列、内容类型、CID 版本等。我试图通过挖掘代码库来理解 CID 是如何构建的,但无法真正找到我的方法。
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

有点不确定你所说的“内容类型”是什么意思,因为我不相信 IPFS 关心但它看起来像go-cid是你想要的:


从头开始创建 CID

import (

  cid "github.com/ipfs/go-cid"

  mc "github.com/multiformats/go-multicodec"

  mh "github.com/multiformats/go-multihash"

)


// Create a cid manually by specifying the 'prefix' parameters

pref := cid.Prefix{

  Version: 1,

  Codec: mc.Raw,

  MhType: mh.SHA2_256,

  MhLength: -1, // default length

}


// And then feed it some data

c, err := pref.Sum([]byte("Hello World!"))

if err != nil {...}


fmt.Println("Created CID: ", c)


查看完整回答
反对 回复 2023-01-03
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号