switch to fast base58 library
License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
Steven Allen committed
Jan 24, 2018 at 16:05 UTC
d82b5272b93e052eaf847d87453648ba8816be73
4 files changed
+31
-16
core/commands/dht.go
+16
-5
@@ -15,7 +15,7 @@ import (
15
16
routing "gx/ipfs/QmRijoA6zGS98ELTDbGsLWPZbVotYsGbjp3RbXcKCYBeon/go-libp2p-routing"
17
notif "gx/ipfs/QmRijoA6zGS98ELTDbGsLWPZbVotYsGbjp3RbXcKCYBeon/go-libp2p-routing/notifications"
18
- b58 "gx/ipfs/QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf/go-base58"
18
+ b58 "gx/ipfs/QmWFAMPqsEyUX7gDUsRVmMWz59FxSpJ1b2v6bJ1yYzo7jY/go-base58-fast/base58"
19
peer "gx/ipfs/Qma7H6RW8wRrfZpNSXwxYGcd1E149s42FpWNpDNieSVrnU/go-libp2p-peer"
20
cid "gx/ipfs/QmcZfnkapfECQGcLZaf9B79NRg7cRa9EnZh4LSbkCzwNvY/go-cid"
21
"gx/ipfs/QmceUdzxkimdYsgtX733uNgzf1DLHyBKN6ehGSp85ayppM/go-ipfs-cmdkit"
@@ -69,9 +69,13 @@ var queryDhtCmd = &cmds.Command{
69
events := make(chan *notif.QueryEvent)
70
ctx := notif.RegisterForQueryEvents(req.Context(), events)
71
72
- k := string(b58.Decode(req.Arguments()[0]))
72
+ id, err := peer.IDB58Decode(req.Arguments()[0])
73
+ if err != nil {
74
+ res.SetError(cmds.ClientError("invalid peer ID"), cmdkit.ErrClient)
75
+ return
76
+ }
77
74
- closestPeers, err := dht.GetClosestPeers(ctx, k)
78
+ closestPeers, err := dht.GetClosestPeers(ctx, string(id))
79
if err != nil {
80
res.SetError(err, cmdkit.ErrNormal)
81
return
@@ -773,9 +777,16 @@ func escapeDhtKey(s string) (string, error) {
777
parts := path.SplitList(s)
778
switch len(parts) {
779
case 1:
776
- return string(b58.Decode(s)), nil
780
+ k, err := b58.Decode(s)
781
+ if err != nil {
782
+ return "", err
783
+ }
784
+ return string(k), nil
785
case 3:
778
- k := b58.Decode(parts[2])
786
+ k, err := b58.Decode(parts[2])
787
+ if err != nil {
788
+ return "", err
789
+ }
790
return path.Join(append(parts[:2], string(k))), nil
791
default:
792
return "", errors.New("invalid key")
core/commands/id.go
+3
-3
@@ -13,7 +13,6 @@ import (
13
e "github.com/ipfs/go-ipfs/core/commands/e"
14
15
identify "gx/ipfs/QmNRN4eZGmY89CRC4T5PC4xDYRx6GkDKEfRnvrT65fVeio/go-libp2p/p2p/protocol/identify"
16
- b58 "gx/ipfs/QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf/go-base58"
16
kb "gx/ipfs/QmYe9YR9fibxCaExayDXUAN7eX7Q4N7jsMcPs8KgpGdiEV/go-libp2p-kbucket"
17
"gx/ipfs/Qma7H6RW8wRrfZpNSXwxYGcd1E149s42FpWNpDNieSVrnU/go-libp2p-peer"
18
ic "gx/ipfs/QmaPbCnUMBohSGo3KnxEa2bHqyJVVeEEcwtqJAYxerieBo/go-libp2p-crypto"
@@ -72,8 +71,9 @@ EXAMPLE:
71
72
var id peer.ID
73
if len(req.Arguments()) > 0 {
75
- id = peer.ID(b58.Decode(req.Arguments()[0]))
76
- if len(id) == 0 {
74
+ var err error
75
+ id, err = peer.IDB58Decode(req.Arguments()[0])
76
+ if err != nil {
77
res.SetError(cmds.ClientError("Invalid peer id"), cmdkit.ErrClient)
78
return
79
}
core/core.go
+6
-2
@@ -59,7 +59,6 @@ import (
59
goprocess "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess"
60
mamask "gx/ipfs/QmSMZwvs3n4GBikZ7hKzT17c3bk65FmyZo2JqtJ16swqCv/multiaddr-filter"
61
logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
62
- b58 "gx/ipfs/QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf/go-base58"
62
addrutil "gx/ipfs/QmUBVwiWc4Xv1U8qky2eZab7UqfJ1WFmCKVGjFfdDkxr8W/go-addr-util"
63
pnet "gx/ipfs/QmUvHSZFyrZSRDUKzfE2ASstVUKtSbUCK24TTkWK73iZfc/go-libp2p-pnet"
64
mssmux "gx/ipfs/QmVniQJkdzLZaZwzwMdd3dJTvWiJ1DQEkreVy6hs6h7Vk5/go-smux-multistream"
@@ -672,7 +671,12 @@ func (n *IpfsNode) loadID() error {
671
return errors.New("no peer ID in config! (was 'ipfs init' run?)")
672
}
673
675
- n.Identity = peer.ID(b58.Decode(cid))
674
+ id, err := peer.IDB58Decode(cid)
675
+ if err != nil {
676
+ return fmt.Errorf("peer ID invalid: %s", err)
677
+ }
678
+
679
+ n.Identity = id
680
return nil
681
}
682
package.json
+6
-6
@@ -395,12 +395,6 @@
395
"name": "protobuf",
396
"version": "0.0.0"
397
},
398
- {
399
- "author": "whyrusleeping",
400
- "hash": "QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf",
401
- "name": "go-base58",
402
- "version": "0.0.0"
403
- },
398
{
399
"author": "whyrusleeping",
400
"hash": "QmfCtHMCd9xFvehvHeVxtKVXJTMVTuHhyPRVHEXetn87vL",
@@ -515,6 +509,12 @@
509
"hash": "QmWBug6eBS7AxRdCDVuSY5CnSit7cS2XnPFYJWqWDumhCG",
510
"name": "go-msgio",
511
"version": "0.0.3"
512
+ },
513
+ {
514
+ "author": "mr-tron",
515
+ "hash": "QmWFAMPqsEyUX7gDUsRVmMWz59FxSpJ1b2v6bJ1yYzo7jY",
516
+ "name": "go-base58-fast",
517
+ "version": "0.1.1"
518
}
519
],
520
"gxVersion": "0.10.0",