1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-08-06 19:44:01 +08:00

transitioned ipfs2 -> ipfs

This commit is contained in:
Juan Batiz-Benet
2014-11-18 02:39:48 -08:00
parent ad3f3e003f
commit 5aaa45db9a
38 changed files with 4 additions and 4 deletions

79
core/commands/resolve.go Normal file
View File

@ -0,0 +1,79 @@
package commands
import (
"errors"
cmds "github.com/jbenet/go-ipfs/commands"
)
var resolveCmd = &cmds.Command{
Helptext: cmds.HelpText{
Tagline: "Gets the value currently published at an IPNS name",
ShortDescription: `
IPNS is a PKI namespace, where names are the hashes of public keys, and
the private key enables publishing new (signed) values. In resolve, the
default value of <name> is your own identity public key.
`,
LongDescription: `
IPNS is a PKI namespace, where names are the hashes of public keys, and
the private key enables publishing new (signed) values. In resolve, the
default value of <name> is your own identity public key.
Examples:
Resolve the value of your identity:
> ipfs name resolve
QmatmE9msSfkKxoffpHwNLNKgwZG8eT9Bud6YoPab52vpy
Resolve te value of another name:
> ipfs name resolve QmbCMUZw6JFeZ7Wp9jkzbye3Fzp2GGcPgC3nmeUjfVF87n
QmatmE9msSfkKxoffpHwNLNKgwZG8eT9Bud6YoPab52vpy
`,
},
Arguments: []cmds.Argument{
cmds.StringArg("name", false, false, "The IPNS name to resolve. Defaults to your node's peerID."),
},
Run: func(req cmds.Request) (interface{}, error) {
n, err := req.Context().GetNode()
if err != nil {
return nil, err
}
var name string
if n.Network == nil {
return nil, errNotOnline
}
if len(req.Arguments()) == 0 {
if n.Identity == nil {
return nil, errors.New("Identity not loaded!")
}
name = n.Identity.ID().String()
} else {
name = req.Arguments()[0]
}
output, err := n.Namesys.Resolve(name)
if err != nil {
return nil, err
}
// TODO: better errors (in the case of not finding the name, we get "failed to find any peer in table")
return output, nil
},
Marshalers: cmds.MarshalerMap{
cmds.Text: func(res cmds.Response) ([]byte, error) {
output := res.Output().(string)
return []byte(output), nil
},
},
}