From ba8c4c6b1a3ee6740420ac264df1dbceaba4b555 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 29 Sep 2016 16:51:04 +0200 Subject: [PATCH] trie: remove dependency on package crypto Package crypto needs cgo, which is inconvenient for some build configurations. --- trie/trie.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/trie/trie.go b/trie/trie.go index 93e189e2e..55481f4f7 100644 --- a/trie/trie.go +++ b/trie/trie.go @@ -22,7 +22,7 @@ import ( "fmt" "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/crypto/sha3" "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/logger/glog" ) @@ -30,11 +30,14 @@ import ( var ( // This is the known root hash of an empty trie. emptyRoot = common.HexToHash("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421") - // This is the known hash of an empty state trie entry. - emptyState = crypto.Keccak256Hash(nil) + emptyState common.Hash ) +func init() { + sha3.NewKeccak256().Sum(emptyState[:0]) +} + // Database must be implemented by backing stores for the trie. type Database interface { DatabaseWriter