我一直在尝试使用>>>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.PutValue
与multihash.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))
然后我得到
无效的记录键类型