diff --git a/accounts/keystore/account_cache.go b/accounts/keystore/account_cache.go
index 8f660e282f57cb1f6265161a22e24f727eb2cde6..a3ec6e9c560685f9a21c36dc811ff0729cf8fc9b 100644
--- a/accounts/keystore/account_cache.go
+++ b/accounts/keystore/account_cache.go
@@ -262,7 +262,7 @@ func (ac *accountCache) scanAccounts() error {
 		switch {
 		case err != nil:
 			log.Debug("Failed to decode keystore key", "path", path, "err", err)
-		case (addr == common.Address{}):
+		case addr == common.Address{}:
 			log.Debug("Failed to decode keystore key", "path", path, "err", "missing or zero address")
 		default:
 			return &accounts.Account{
diff --git a/cmd/puppeth/genesis.go b/cmd/puppeth/genesis.go
index 46268ec11bc402337a4588338bebf13225fee820..ef1f977bf09f36f1cf2e48962c226302c20c5c28 100644
--- a/cmd/puppeth/genesis.go
+++ b/cmd/puppeth/genesis.go
@@ -425,7 +425,7 @@ func newParityChainSpec(network string, genesis *core.Genesis, bootnodes []strin
 	spec.Params.EIP98Transition = math.MaxInt64
 
 	spec.Genesis.Seal.Ethereum.Nonce = types.EncodeNonce(genesis.Nonce)
-	spec.Genesis.Seal.Ethereum.MixHash = (genesis.Mixhash[:])
+	spec.Genesis.Seal.Ethereum.MixHash = genesis.Mixhash[:]
 	spec.Genesis.Difficulty = (*hexutil.Big)(genesis.Difficulty)
 	spec.Genesis.Author = genesis.Coinbase
 	spec.Genesis.Timestamp = (hexutil.Uint64)(genesis.Timestamp)
diff --git a/cmd/puppeth/wizard_genesis.go b/cmd/puppeth/wizard_genesis.go
index 52093975cbe89d7109071065093e57004a4ef714..78f63e1c7a5fe1b91d9e2f9d14afc10ace3cf99c 100644
--- a/cmd/puppeth/wizard_genesis.go
+++ b/cmd/puppeth/wizard_genesis.go
@@ -259,7 +259,7 @@ func (w *wizard) manageGenesis() {
 
 		// Export the native genesis spec used by puppeth and Geth
 		gethJson := filepath.Join(folder, fmt.Sprintf("%s.json", w.network))
-		if err := ioutil.WriteFile((gethJson), out, 0644); err != nil {
+		if err := ioutil.WriteFile(gethJson, out, 0644); err != nil {
 			log.Error("Failed to save genesis file", "err", err)
 			return
 		}
diff --git a/core/state/snapshot/conversion.go b/core/state/snapshot/conversion.go
index 9832225345f4c3e339609e57018dc47b615315f4..4ec229b7acc653c6a7c5786465c9624cc8781cda 100644
--- a/core/state/snapshot/conversion.go
+++ b/core/state/snapshot/conversion.go
@@ -38,7 +38,7 @@ type trieKV struct {
 type (
 	// trieGeneratorFn is the interface of trie generation which can
 	// be implemented by different trie algorithm.
-	trieGeneratorFn func(in chan (trieKV), out chan (common.Hash))
+	trieGeneratorFn func(in chan trieKV, out chan common.Hash)
 
 	// leafCallbackFn is the callback invoked at the leaves of the trie,
 	// returns the subtrie root with the specified subtrie identifier.
@@ -266,7 +266,7 @@ func generateTrieRoot(it Iterator, account common.Hash, generatorFn trieGenerato
 
 // stdGenerate is a very basic hexary trie builder which uses the same Trie
 // as the rest of geth, with no enhancements or optimizations
-func stdGenerate(in chan (trieKV), out chan (common.Hash)) {
+func stdGenerate(in chan trieKV, out chan common.Hash) {
 	t, _ := trie.New(common.Hash{}, trie.NewDatabase(memorydb.New()))
 	for leaf := range in {
 		t.TryUpdate(leaf.key[:], leaf.value)
diff --git a/core/vm/runtime/runtime_test.go b/core/vm/runtime/runtime_test.go
index b185258dadb8ecf3ffa87e1d04972fb8e18d5e94..af69e3333fc2671571fd3211ef1efdc17a3034b6 100644
--- a/core/vm/runtime/runtime_test.go
+++ b/core/vm/runtime/runtime_test.go
@@ -500,7 +500,7 @@ func DisabledTestEipExampleCases(t *testing.T) {
 
 	{
 		code := []byte{
-			byte(vm.PUSH9), 0x00, 0x00, 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, (4 + 8),
+			byte(vm.PUSH9), 0x00, 0x00, 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 4 + 8,
 			byte(vm.JUMPSUB),
 			byte(vm.STOP),
 			byte(vm.BEGINSUB),
@@ -516,7 +516,7 @@ func DisabledTestEipExampleCases(t *testing.T) {
 	// out the trace.
 	{
 		code := []byte{
-			byte(vm.PUSH9), 0x01, 0x00, 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, (4 + 8),
+			byte(vm.PUSH9), 0x01, 0x00, 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 4 + 8,
 			byte(vm.JUMPSUB),
 			byte(vm.STOP),
 			byte(vm.BEGINSUB),
diff --git a/crypto/bls12381/bls12_381_test.go b/crypto/bls12381/bls12_381_test.go
index 51523c9ee7f0d0b01588bc7fe2f467d40671c082..6bf5834105943eb6cc6463ea278284612ea71b81 100644
--- a/crypto/bls12381/bls12_381_test.go
+++ b/crypto/bls12381/bls12_381_test.go
@@ -5,7 +5,7 @@ import (
 	"math/big"
 )
 
-var fuz int = 10
+var fuz = 10
 
 func randScalar(max *big.Int) *big.Int {
 	a, _ := rand.Int(rand.Reader, max)
diff --git a/crypto/signify/signify.go b/crypto/signify/signify.go
index 7ba9705491cf23c31126190c12780b9ca457e3f8..e280f87268ff8571bcb76d919b28477b0c554eb4 100644
--- a/crypto/signify/signify.go
+++ b/crypto/signify/signify.go
@@ -46,7 +46,7 @@ func parsePrivateKey(key string) (k ed25519.PrivateKey, header []byte, keyNum []
 	if string(keydata[:2]) != "Ed" {
 		return nil, nil, nil, errInvalidKeyHeader
 	}
-	return ed25519.PrivateKey(keydata[40:]), keydata[:2], keydata[32:40], nil
+	return keydata[40:], keydata[:2], keydata[32:40], nil
 }
 
 // SignFile creates a signature of the input file.
diff --git a/eth/protocols/snap/sync.go b/eth/protocols/snap/sync.go
index e7720026bfcd700cd43cacfdd9de84b9df62e294..422cdf8f72a06c040b95bcec0bbe3ba0fab9771f 100644
--- a/eth/protocols/snap/sync.go
+++ b/eth/protocols/snap/sync.go
@@ -1494,7 +1494,7 @@ func (s *Syncer) revertTrienodeHealRequest(req *trienodeHealRequest) {
 	// retrievals as not-pending, ready for resheduling
 	req.timeout.Stop()
 	for i, hash := range req.hashes {
-		req.task.trieTasks[hash] = [][]byte(req.paths[i])
+		req.task.trieTasks[hash] = req.paths[i]
 	}
 }
 
diff --git a/eth/tracers/tracer.go b/eth/tracers/tracer.go
index c9f00d7371edf7f6d1acb3539bf3bf441d5c2e05..dba7ce87cf5be050b22113981be0fc8df64276bc 100644
--- a/eth/tracers/tracer.go
+++ b/eth/tracers/tracer.go
@@ -31,7 +31,7 @@ import (
 	"github.com/ethereum/go-ethereum/core/vm"
 	"github.com/ethereum/go-ethereum/crypto"
 	"github.com/ethereum/go-ethereum/log"
-	duktape "gopkg.in/olebedev/go-duktape.v3"
+	"gopkg.in/olebedev/go-duktape.v3"
 )
 
 // bigIntegerJS is the minified version of https://github.com/peterolson/BigInteger.js.
diff --git a/metrics/cpu_syscall.go b/metrics/cpu_syscall.go
index e245453e824f6f9ef60febfb8bc5cc6232866903..106637af5a57195ead648682739475d421a890ec 100644
--- a/metrics/cpu_syscall.go
+++ b/metrics/cpu_syscall.go
@@ -31,5 +31,5 @@ func getProcessCPUTime() int64 {
 		log.Warn("Failed to retrieve CPU time", "err", err)
 		return 0
 	}
-	return int64(usage.Utime.Sec+usage.Stime.Sec)*100 + int64(usage.Utime.Usec+usage.Stime.Usec)/10000 //nolint:unconvert
+	return (usage.Utime.Sec+usage.Stime.Sec)*100 + int64(usage.Utime.Usec+usage.Stime.Usec)/10000 //nolint:unconvert
 }
diff --git a/metrics/exp/exp.go b/metrics/exp/exp.go
index f510b8381ee3f54cc23cda4e067424e8d8a7e575..3ebe8cc68aad358d91bde69685cbc8e79a268a65 100644
--- a/metrics/exp/exp.go
+++ b/metrics/exp/exp.go
@@ -128,7 +128,7 @@ func (exp *exp) publishMeter(name string, metric metrics.Meter) {
 	exp.getInt(name + ".count").Set(m.Count())
 	exp.getFloat(name + ".one-minute").Set(m.Rate1())
 	exp.getFloat(name + ".five-minute").Set(m.Rate5())
-	exp.getFloat(name + ".fifteen-minute").Set((m.Rate15()))
+	exp.getFloat(name + ".fifteen-minute").Set(m.Rate15())
 	exp.getFloat(name + ".mean").Set(m.RateMean())
 }
 
diff --git a/metrics/gauge_float64_test.go b/metrics/gauge_float64_test.go
index 3ee568e7ba09c8c4f14e06c0892543f591c8e16c..02b75580c4e5d8a90877eb89bd8375e7a929648a 100644
--- a/metrics/gauge_float64_test.go
+++ b/metrics/gauge_float64_test.go
@@ -12,27 +12,27 @@ func BenchmarkGuageFloat64(b *testing.B) {
 
 func TestGaugeFloat64(t *testing.T) {
 	g := NewGaugeFloat64()
-	g.Update(float64(47.0))
-	if v := g.Value(); float64(47.0) != v {
+	g.Update(47.0)
+	if v := g.Value(); 47.0 != v {
 		t.Errorf("g.Value(): 47.0 != %v\n", v)
 	}
 }
 
 func TestGaugeFloat64Snapshot(t *testing.T) {
 	g := NewGaugeFloat64()
-	g.Update(float64(47.0))
+	g.Update(47.0)
 	snapshot := g.Snapshot()
 	g.Update(float64(0))
-	if v := snapshot.Value(); float64(47.0) != v {
+	if v := snapshot.Value(); 47.0 != v {
 		t.Errorf("g.Value(): 47.0 != %v\n", v)
 	}
 }
 
 func TestGetOrRegisterGaugeFloat64(t *testing.T) {
 	r := NewRegistry()
-	NewRegisteredGaugeFloat64("foo", r).Update(float64(47.0))
+	NewRegisteredGaugeFloat64("foo", r).Update(47.0)
 	t.Logf("registry: %v", r)
-	if g := GetOrRegisterGaugeFloat64("foo", r); float64(47.0) != g.Value() {
+	if g := GetOrRegisterGaugeFloat64("foo", r); 47.0 != g.Value() {
 		t.Fatal(g)
 	}
 }
diff --git a/node/utils_test.go b/node/utils_test.go
index 44c83e22da753a8b14b4b383caf43c959e413e07..b7474bb706180cb0d78f0f5fec56cd0e7b05042d 100644
--- a/node/utils_test.go
+++ b/node/utils_test.go
@@ -82,11 +82,11 @@ func (f *FullService) Stop() error { return nil }
 
 func (f *FullService) Protocols() []p2p.Protocol {
 	return []p2p.Protocol{
-		p2p.Protocol{
+		{
 			Name:    "test1",
 			Version: uint(1),
 		},
-		p2p.Protocol{
+		{
 			Name:    "test2",
 			Version: uint(2),
 		},
diff --git a/signer/core/api.go b/signer/core/api.go
index 7595d2d484b6b653820b5ec50ad4313e48fde9b9..07e206a74c8798f5f23c99ad6811cf50db97210b 100644
--- a/signer/core/api.go
+++ b/signer/core/api.go
@@ -439,7 +439,7 @@ func (api *SignerAPI) newAccount() (common.Address, error) {
 			continue
 		}
 		if pwErr := ValidatePasswordFormat(resp.Text); pwErr != nil {
-			api.UI.ShowError(fmt.Sprintf("Account creation attempt #%d failed due to password requirements: %v", (i + 1), pwErr))
+			api.UI.ShowError(fmt.Sprintf("Account creation attempt #%d failed due to password requirements: %v", i+1, pwErr))
 		} else {
 			// No error
 			acc, err := be[0].(*keystore.KeyStore).NewAccount(resp.Text)
diff --git a/trie/trie_test.go b/trie/trie_test.go
index ddbdcbbd5b6f74b7cc069826008dbbb7c8db3e4e..87bce9abca2a708403be9a823aaa7b6b398177e0 100644
--- a/trie/trie_test.go
+++ b/trie/trie_test.go
@@ -322,7 +322,7 @@ func TestLargeValue(t *testing.T) {
 
 // TestRandomCases tests som cases that were found via random fuzzing
 func TestRandomCases(t *testing.T) {
-	var rt []randTestStep = []randTestStep{
+	var rt = []randTestStep{
 		{op: 6, key: common.Hex2Bytes(""), value: common.Hex2Bytes("")},                                                                                                 // step 0
 		{op: 6, key: common.Hex2Bytes(""), value: common.Hex2Bytes("")},                                                                                                 // step 1
 		{op: 0, key: common.Hex2Bytes("d51b182b95d677e5f1c82508c0228de96b73092d78ce78b2230cd948674f66fd1483bd"), value: common.Hex2Bytes("0000000000000002")},           // step 2