go-libp2p dht PutValue错误键无效的记录键类型

时间:2019-08-05 18:09:35

标签: ipfs dht libp2p go-libp2p

我一直在尝试使用>>>cont = ['5', '16SCSE102014', '15/03/19', '16SCSE101350', '15/03/19', '16SCSE101002', '22/03/19'] >>> for i in range(1, record_length * int(cont[0]), record_length): ... # print records ... print(cont[i:(i+record_length)]) ['16SCSE102014', '15/03/19'] ['16SCSE101350', '15/03/19'] ['16SCSE101002', '22/03/19'] [] [] ,但是却在密钥上苦苦挣扎。我如何生成它?

我尝试将dht.PutValuemultihash.EncodeName([]byte(str), "hashing function")sha2-256 ...一起使用,但是当我将其传递给sha2-512时遇到了invalid record keytype错误...

当我在文档中搜索时,发现它正在评估此功能dht.PutValue

  

// SplitKey采用record.SplitKey(mHash.B58string())形式的密钥并将其拆分为   // /$namespace/$path$namespace

我不知道如何用这种形式生成内容,也不知道$path是什么。

我的代码: 创建DHT

  

var dht * kaddht.IpfsDHT

     

newDHT:= func(h host.Host)(routing.PeerRouting,错误){

     

var err error

     

ds,err:= levelds.NewDatastore(“”,nil)

     

dht = kaddht.NewDHT(ctx,h,ds)

     

返回dht,错误

     

}

     

路由:= libp2p.Routing(newDHT)

创建主机

  

host,err:= libp2p.New(ctx,transports,listenAddrs,muxers,security,routing,

散列数据

  

mBHash,err1:= mh.EncodeName([] byte(str),“ sha2-256”)
  mHash,err2:= mh.Cast(mBHash)

放入数据

  

dht.Validator(mHash.B58String(),[] byte(str))

然后我得到

  

无效的记录键类型

0 个答案:

没有答案