@cryptotaxi247 / kubo / commits / c307b5494

add convenience method for getting keys including self

License: MIT Signed-off-by: Jeromy <why@ipfs.io>

Jeromy committed Dec 6, 2016 at 13:25 UTC c307b5494ada0f1c227d45f686828e42bf9704fe
2 files changed +12 -10
core/commands/publish.go
+4 -10
@@ -110,17 +110,11 @@ Publish an <ipfs-path> to another public key (not implemented):
110 ctx = context.WithValue(ctx, "ipns-publish-ttl", d)
111 }
112
113 - var k crypto.PrivKey
113 kname, _, _ := req.Option("key").String()
115 - if kname == "self" {
116 - k = n.PrivateKey
117 - } else {
118 - ksk, err := n.Repo.Keystore().Get(kname)
119 - if err != nil {
120 - res.SetError(err, cmds.ErrNormal)
121 - return
122 - }
123 - k = ksk
114 + k, err := n.GetKey(kname)
115 + if err != nil {
116 + res.SetError(err, cmds.ErrNormal)
117 + return
118 }
119
120 output, err := publish(ctx, n, k, path.Path(pstr), popts)
core/core.go
+8
@@ -514,6 +514,14 @@ func (n *IpfsNode) loadID() error {
514 return nil
515 }
516
517 +func (n *IpfsNode) GetKey(name string) (ic.PrivKey, error) {
518 + if name == "self" {
519 + return n.PrivateKey, nil
520 + } else {
521 + return n.Repo.Keystore().Get(name)
522 + }
523 +}
524 +
525 func (n *IpfsNode) LoadPrivateKey() error {
526 if n.Identity == "" || n.Peerstore == nil {
527 return errors.New("loaded private key out of order.")