From 4f2242eb71b0397f507e4c3e2e700bd8eab0c366 Mon Sep 17 00:00:00 2001 From: Roy Crihfield Date: Fri, 22 Sep 2023 01:49:25 +0800 Subject: [PATCH] add "small2" and refactor --- chaindata/{util => }/chaindata_test.go | 12 +++-- chaindata/data/small2/000002.ldb | Bin 0 -> 58659 bytes chaindata/data/small2/ancient/chain/FLOCK | 0 .../small2/ancient/chain/bodies.0000.cdat | 0 .../data/small2/ancient/chain/bodies.cidx | Bin 0 -> 6 bytes .../data/small2/ancient/chain/bodies.meta | 1 + .../data/small2/ancient/chain/diffs.0000.rdat | 0 .../data/small2/ancient/chain/diffs.meta | 1 + .../data/small2/ancient/chain/diffs.ridx | Bin 0 -> 6 bytes .../small2/ancient/chain/hashes.0000.rdat | 0 .../data/small2/ancient/chain/hashes.meta | 1 + .../data/small2/ancient/chain/hashes.ridx | Bin 0 -> 6 bytes .../small2/ancient/chain/headers.0000.cdat | 0 .../data/small2/ancient/chain/headers.cidx | Bin 0 -> 6 bytes .../data/small2/ancient/chain/headers.meta | 1 + .../small2/ancient/chain/receipts.0000.cdat | 0 .../data/small2/ancient/chain/receipts.cidx | Bin 0 -> 6 bytes .../data/small2/ancient/chain/receipts.meta | 1 + chaindata/small/chain.go | 2 +- chaindata/small2/chain.go | 9 ++++ chaindata/util/chaindata.go | 41 ++++++++++++++---- 21 files changed, 56 insertions(+), 13 deletions(-) rename chaindata/{util => }/chaindata_test.go (76%) create mode 100644 chaindata/data/small2/000002.ldb create mode 100644 chaindata/data/small2/ancient/chain/FLOCK create mode 100644 chaindata/data/small2/ancient/chain/bodies.0000.cdat create mode 100644 chaindata/data/small2/ancient/chain/bodies.cidx create mode 100644 chaindata/data/small2/ancient/chain/bodies.meta create mode 100644 chaindata/data/small2/ancient/chain/diffs.0000.rdat create mode 100644 chaindata/data/small2/ancient/chain/diffs.meta create mode 100644 chaindata/data/small2/ancient/chain/diffs.ridx create mode 100644 chaindata/data/small2/ancient/chain/hashes.0000.rdat create mode 100644 chaindata/data/small2/ancient/chain/hashes.meta create mode 100644 chaindata/data/small2/ancient/chain/hashes.ridx create mode 100644 chaindata/data/small2/ancient/chain/headers.0000.cdat create mode 100644 chaindata/data/small2/ancient/chain/headers.cidx create mode 100644 chaindata/data/small2/ancient/chain/headers.meta create mode 100644 chaindata/data/small2/ancient/chain/receipts.0000.cdat create mode 100644 chaindata/data/small2/ancient/chain/receipts.cidx create mode 100644 chaindata/data/small2/ancient/chain/receipts.meta create mode 100644 chaindata/small2/chain.go diff --git a/chaindata/util/chaindata_test.go b/chaindata/chaindata_test.go similarity index 76% rename from chaindata/util/chaindata_test.go rename to chaindata/chaindata_test.go index 6fa3f3c..0583364 100644 --- a/chaindata/util/chaindata_test.go +++ b/chaindata/chaindata_test.go @@ -1,15 +1,16 @@ -package util_test +package chaindata_test import ( "testing" "github.com/ethereum/go-ethereum/core/rawdb" + "github.com/ethereum/go-ethereum/core/state" "github.com/cerc-io/eth-testing/chaindata/util" ) func testReadChainData(t *testing.T, name string) { - ChainDataPath, AncientDataPath := util.ChainDataPaths(name) + ChainDataPath, AncientDataPath := util.GetChainData(name) kvdb, ldberr := rawdb.NewLevelDBDatabase(ChainDataPath, 1024, 256, "vdb-geth", true) if ldberr != nil { @@ -33,10 +34,15 @@ func testReadChainData(t *testing.T, name string) { if header == nil { t.Fatalf("unable to read canonical header at height %d", height) } + sdb := state.NewDatabase(edb) + _, err = sdb.OpenTrie(header.Root) + if err != nil { + t.Fatal(err) + } } func TestReadChainData(t *testing.T) { - for _, name := range []string{"small"} { + for _, name := range []string{"small", "small2"} { t.Run(name, func(t *testing.T) { testReadChainData(t, name) }) } } diff --git a/chaindata/data/small2/000002.ldb b/chaindata/data/small2/000002.ldb new file mode 100644 index 0000000000000000000000000000000000000000..5770fee11862bebce20fc5debb9a7f97cb20579c GIT binary patch literal 58659 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