diff --git a/Gopkg.lock b/Gopkg.lock index 2245ec99..1d5e1b6c 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -24,7 +24,7 @@ packages = [ "store", "types", - "wire" + "wire", ] revision = "1a1373cc220e402397ad536aee6b8f5b068914c6" version = "v0.21.0" @@ -71,7 +71,7 @@ "params", "rlp", "rpc", - "trie" + "trie", ] revision = "dea1ce052a10cd7d401a5c04f83f371a06fe293c" version = "v1.8.11" @@ -81,7 +81,7 @@ packages = [ "log", "log/level", - "log/term" + "log/term", ] revision = "4dc7be5d2d12881735283bcab7352178e190fc71" version = "v0.6.0" @@ -106,7 +106,7 @@ "proto", "protoc-gen-gogo/descriptor", "sortkeys", - "types" + "types", ] revision = "1adfc126b41513cc696b209667c8656ea7aac67c" version = "v1.0.0" @@ -118,7 +118,7 @@ "ptypes", "ptypes/any", "ptypes/duration", - "ptypes/timestamp" + "ptypes/timestamp", ] revision = "925541529c1fa6821df4e44ce2723319eb2be768" version = "v1.0.0" @@ -134,7 +134,7 @@ name = "github.com/hashicorp/golang-lru" packages = [ ".", - "simplelru" + "simplelru", ] revision = "0fb14efe8c47ae851c0034ed7a448854d3d34cf3" @@ -177,7 +177,7 @@ "leveldb/opt", "leveldb/storage", "leveldb/table", - "leveldb/util" + "leveldb/util", ] revision = "c4c61651e9e37fa117f53c5a906d3b63090d8445" @@ -187,7 +187,7 @@ packages = [ ".", "edwards25519", - "extra25519" + "extra25519", ] revision = "d8387025d2b9d158cf4efb07e7ebf814bcce2057" @@ -216,7 +216,7 @@ "libs/log", "libs/pubsub", "libs/pubsub/query", - "types" + "types", ] revision = "5ff65274b84ea905787a48512cc3124385bddf2f" version = "v0.22.2" @@ -231,7 +231,7 @@ "openpgp/errors", "poly1305", "ripemd160", - "salsa20/salsa" + "salsa20/salsa", ] revision = "a49355c7e3f8fe157a85be2f77e6e269a0f89602" @@ -246,7 +246,7 @@ "idna", "internal/timeseries", "trace", - "websocket" + "websocket", ] revision = "d0887baf81f4598189d4e12a37c6da86f0bba4d0" @@ -266,7 +266,7 @@ "unicode/bidi", "unicode/cldr", "unicode/norm", - "unicode/rangetable" + "unicode/rangetable", ] revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0" version = "v0.3.0" @@ -301,7 +301,7 @@ "stats", "status", "tap", - "transport" + "transport", ] revision = "d11072e7ca9811b1100b80ca0269ac831f06d024" version = "v1.11.3" @@ -327,6 +327,24 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "df6cfdfe013b00b662a5b9ebd45319d0c114859e865b3034b0e984f15e698b45" + input-imports = [ + "github.com/cosmos/cosmos-sdk/store", + "github.com/cosmos/cosmos-sdk/types", + "github.com/ethereum/go-ethereum/common", + "github.com/ethereum/go-ethereum/common/math", + "github.com/ethereum/go-ethereum/consensus", + "github.com/ethereum/go-ethereum/consensus/ethash", + "github.com/ethereum/go-ethereum/consensus/misc", + "github.com/ethereum/go-ethereum/core", + "github.com/ethereum/go-ethereum/core/state", + "github.com/ethereum/go-ethereum/core/types", + "github.com/ethereum/go-ethereum/core/vm", + "github.com/ethereum/go-ethereum/ethdb", + "github.com/ethereum/go-ethereum/params", + "github.com/ethereum/go-ethereum/rlp", + "github.com/ethereum/go-ethereum/rpc", + "github.com/ethereum/go-ethereum/trie", + "github.com/tendermint/tendermint/libs/db", + ] solver-name = "gps-cdcl" solver-version = 1 diff --git a/README.md b/README.md index e9ab4627..731db7a1 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ __**WARNING:**__ Ethermint is under VERY ACTIVE DEVELOPMENT and should be treate - [Hard Spoon](https://blog.cosmos.network/introducing-the-hard-spoon-4a9288d3f0df) enablement: This is the ability to take a token from the Ethereum mainnet and "spoon" (shift) the balances over to another network. This feature is intended to make it easy for applications that require more transactions than the Ethereum main chain can provide to move their code over to a compatible chain with much more capacity. - Web3 Compatibility: In order enable applications to be moved over to an ethermint chain existing tooling (i.e. web3 compatable clients) need to be able to interact with `ethermint`. -### Implementation Steps +### Implementation - [x] Have a working implementation that can parse and validate the existing ETH Chain and persist it in a Tendermint store - [ ] Benchmark this implementation to ensure performance @@ -31,6 +31,14 @@ $ make tools deps build $ make tools deps install ``` +### Using Ethermint to parse Mainnet Ethereum blocks + +There is an included Ethereum Mainnet blockchain file in `data/blockchain` that provides an easy way to run the demo of parsing Mainnet Ethereum blocks. The dump in `data/` only includes up to block `97638`. To run this, type the following command: + +```bash +$ go run main.go copied.go +``` + ### Community The following chat channels and forums are a great spot to ask questions about Ethermint: diff --git a/blockchain b/data/blockchain similarity index 100% rename from blockchain rename to data/blockchain diff --git a/main.go b/main.go index ccfddfd3..c97b6ff7 100644 --- a/main.go +++ b/main.go @@ -28,7 +28,7 @@ import ( ) var cpuprofile = flag.String("cpuprofile", "", "write cpu profile `file`") -var blockchain = flag.String("blockchain", "blockchain", "file containing blocks to load") +var blockchain = flag.String("blockchain", "data/blockchain", "file containing blocks to load") var ( // TODO: Document...