- package p2p
-
- import (
- "bytes"
- "os"
- "path/filepath"
- "testing"
-
- "github.com/stretchr/testify/assert"
- "github.com/tendermint/tendermint/libs/rand"
- )
-
- func TestLoadOrGenNodeKey(t *testing.T) {
- filePath := filepath.Join(os.TempDir(), rand.RandStr(12)+"_peer_id.json")
-
- nodeKey, err := LoadOrGenNodeKey(filePath)
- assert.Nil(t, err)
-
- nodeKey2, err := LoadOrGenNodeKey(filePath)
- assert.Nil(t, err)
-
- assert.Equal(t, nodeKey, nodeKey2)
- }
-
- //----------------------------------------------------------
-
- func padBytes(bz []byte, targetBytes int) []byte {
- return append(bz, bytes.Repeat([]byte{0xFF}, targetBytes-len(bz))...)
- }
-
- func TestPoWTarget(t *testing.T) {
-
- targetBytes := 20
- cases := []struct {
- difficulty uint
- target []byte
- }{
- {0, padBytes([]byte{}, targetBytes)},
- {1, padBytes([]byte{127}, targetBytes)},
- {8, padBytes([]byte{0}, targetBytes)},
- {9, padBytes([]byte{0, 127}, targetBytes)},
- {10, padBytes([]byte{0, 63}, targetBytes)},
- {16, padBytes([]byte{0, 0}, targetBytes)},
- {17, padBytes([]byte{0, 0, 127}, targetBytes)},
- }
-
- for _, c := range cases {
- assert.Equal(t, MakePoWTarget(c.difficulty, 20*8), c.target)
- }
- }
|