本文整理汇总了Golang中github.com/keybase/client/go/libkb.TrackChainLink.GetTrackedUID方法的典型用法代码示例。如果您正苦于以下问题:Golang TrackChainLink.GetTrackedUID方法的具体用法?Golang TrackChainLink.GetTrackedUID怎么用?Golang TrackChainLink.GetTrackedUID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/keybase/client/go/libkb.TrackChainLink
的用法示例。
在下文中一共展示了TrackChainLink.GetTrackedUID方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: condenseRecord
func condenseRecord(l *libkb.TrackChainLink) (*jsonw.Wrapper, error) {
uid, err := l.GetTrackedUID()
if err != nil {
return nil, err
}
trackedKeys, err := l.GetTrackedKeys()
if err != nil {
return nil, err
}
fpsDisplay := make([]string, len(trackedKeys))
for i, trackedKey := range trackedKeys {
fpsDisplay[i] = strings.ToUpper(trackedKey.Fingerprint.String())
}
un, err := l.GetTrackedUsername()
if err != nil {
return nil, err
}
rp := l.RemoteKeyProofs()
out := jsonw.NewDictionary()
out.SetKey("uid", libkb.UIDWrapper(uid))
out.SetKey("keys", jsonw.NewString(strings.Join(fpsDisplay, ", ")))
out.SetKey("ctime", jsonw.NewInt64(l.GetCTime().Unix()))
out.SetKey("username", jsonw.NewString(un))
out.SetKey("proofs", rp)
return out, nil
}
示例2: loadThem
func (e *UntrackEngine) loadThem() (them *libkb.User, remoteLink, localLink *libkb.TrackChainLink, err error) {
var rLink *libkb.TrackChainLink
trackMap := e.arg.Me.IDTable().GetTrackMap()
if links, ok := trackMap[e.arg.Username]; ok && (len(links) > 0) {
rLink = links[len(links)-1]
}
var uid keybase1.UID
uidTrusted := false
if rLink != nil {
if uid, err = rLink.GetTrackedUID(); err != nil {
return
}
uidTrusted = true
}
if uid.IsNil() {
res := libkb.ResolveUID(e.arg.Username)
if err = res.GetError(); err != nil {
return
}
// This is an untrusted uid.
uid = res.GetUID()
if uid.IsNil() {
err = libkb.NewUntrackError("Could not resolve uid for @%s", e.arg.Username)
return
}
}
lLink, err := libkb.LocalTrackChainLinkFor(e.arg.Me.GetUID(), uid, e.G())
if err != nil {
return
}
if rLink == nil && lLink == nil {
err = libkb.NewUntrackError("You are not tracking %s", e.arg.Username)
return
}
if !uidTrusted {
if lLink == nil {
err = libkb.NewUntrackError("Could not verify resolved uid for @%s", e.arg.Username)
return
}
var trackedUsername string
trackedUsername, err = lLink.GetTrackedUsername()
if err != nil {
return
}
if e.arg.Username != trackedUsername {
err = libkb.NewUntrackError("Username mismatch: expected @%s, got @%s", e.arg.Username, trackedUsername)
return
}
uidTrusted = true
}
them = libkb.NewUserThin(e.arg.Username, uid)
remoteLink = rLink
localLink = lLink
return
}