Giter Club home page Giter Club logo

microcosm's Introduction

microcosm

microcosm allows you to spin up a single, mining Ethereum node that you can use to test:

  1. Smart-contract-based decentralized applications

  2. Code which interacts with an Ethereum blockchain even if it doesn't live on the blockchain

  3. Modifications to Ethereum node implementations

In the first two capacities, it is a complement to Ganache, which diverges from Ethereum clients like geth and parity in its implementation of the JSON-RPC specification.

With microcosm, currently, you get a geth node to test with.

Requirements

The only requirement is Docker.

Getting started

Pull the latest microcosm image from DockerHub:

docker pull fuzzyfrog/microcosm

Create a microcosm container, bind-mounting a volume onto /root:

MICROCOSM_DIR=$(mktemp -d)
docker run \
    -e NUM_ACCOUNTS=<number of accounts to provision> \
    -v $MICROCOSM_DIR:/root \
    fuzzyfrog/microcosm \
    <geth arguments>

If you look in $MICROCOSM_DIR, you will see the microcosm directory. This directory contains the geth data directory as a subdirectory -- $MICROCOSM_DIR/.ethereum.

It also contains the following files:

  1. genesis.json - Genesis file used to initialize the microcosm network being run

  2. init - File denoting that the network initialization was successful

  3. accounts.txt - File listing the addresses of accounts created by microcosm

  4. passwords.txt - File listing the passwords corresponding to each account in accounts.txt

The items in $MICROCOSM_DIR are owned by root. To take ownership of them, from outside the container, run

sudo chown -R $USER:$USER $MICROCOSM_DIR

Now, you will be able to use the IPC socket $MICROCOSM_DIR/geth.ipc as a web3 provider.

For a side-by-side view of the microcosm-generated accounts and passwords, you can run:

pr -w 100 -m -t $MICROCOSM_DIR/accounts.txt $MICROCOSM_DIR/passwords.txt

geth arguments

As indicated above, you can directly pass in arguments for geth when you run the microcosm docker container. For example, if you want to expose the management APIs over the JSON RPC interface, you can run:

docker run -p 8545:8545 -e NUM_ACCOUNTS=1 -v $MICROCOSM_DIR:/root \
    fuzzyfrog/microcosm --rpc --rpcaddr 0.0.0.0 --rpcapi eth,web3

Note: It is important to use --rpcaddr 0.0.0.0 because of how docker handles loopbacks within containers -- using the default of 127.0.0.1 means you will be unable to connect to the RPC API from outside the container.

Deploying microcosm to a kubernetes cluster using Helm

This repository also provides a helm chart that you can use to deploy microcosm to a kubernetes cluster.

This creates a StatefulSet resource provisioned with a 100 GB persistent disk in the standard storage class.

If you are already set up with helm, getting microcosm running is a simple as:

helm install ./helm/

(from this repository's root directory).

To get up and running with helm, follow the instructions here.

Modifying storage

You can deploy a custom storage class to your kubernetes cluster following these instructions.

You can modify the size of your microcosm volume in your custom values.yaml file.

Caveats

  1. If you do not set --networkid in your values file, state will not persist between pod restarts. This is done via the microcosm.networkId parameter. See the helm/values.yaml for an example.

microcosm's People

Contributors

zomglings avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

doc-ai

microcosm's Issues

Make it possible to run container against existing datadir in an idempotent manner

Currently, if you spin up a new microcosm container with a bind mount which contains a pre-existing datadir, the microcosm instance still creates new accounts and incorrectly performs an unlock (since the password file is overwritten).

Correct behaviour is to perhaps add accounts (and append to password file instead of overwriting it).

However, it would still be an improvement if there were a flag which forced microcosm to just use the existing state with no modifications.

This would (in current configuration) require the bind mount to be on container /root instead of /root/.ethereum as the README suggests.

Fix docker tags in README

The README invocations currently start up a container from the latest image, which is out of date.

The quick fix is to make Travis push latest as well as the versioned tags.

Ideally, though, the README should be updated to point at the right tag every time a release is cut.

Microcosm genesis command line tool accepts arguments for flags that aren't present

Regardless of whether or not the flag "-genesisFile" is present, microcosm genesis will accept an argument describing the file location. It will then ignore this argument if the flag is not present.

For example:
microcosm genesis $DATA_DIR/genesis.json -chainID 777 does not fail, and creates the genesis.json file in the local directory. Expected behavior is that this will fail since the -genesisFile flag has not been specified.

Account balance should be specified in Ether

The microcosm command-line tool currently takes a balance argument to its genesis subcommand which determines how much Wei should be allocated to the microcosmic accounts.

However, since the balance parameter is an Int64, this limits the amount of whole Ether available to the accounts.

Rather, the -balance argument should specify balance in Ether, which is converted into big Wei when creating the Gensesis struct.

Unexpected Crash. These are the logs

I was running this in OSX

fatal error: fault
[signal SIGBUS: bus error code=0x2 addr=0x7f3d83eaa888 pc=0x46f9dc]

goroutine 5010 [running]:
runtime.throw(0xf3659a, 0x5)
	/usr/local/go/src/runtime/panic.go:616 +0x81 fp=0xc422e30a98 sp=0xc422e30a78 pc=0x43f8b1
runtime.sigpanic()
	/usr/local/go/src/runtime/signal_unix.go:385 +0x273 fp=0xc422e30ae8 sp=0xc422e30a98 pc=0x455443
runtime.memmove(0xc423676f00, 0x7f3d83eaa888, 0x40)
	/usr/local/go/src/runtime/memmove_amd64.s:184 +0x15c fp=0xc422e30af0 sp=0xc422e30ae8 pc=0x46f9dc
github.com/ethereum/go-ethereum/consensus/ethash.hashimoto(0xc422e30df0, 0x20, 0x20, 0x7fdcaba574cc35b0, 0x3ffff880, 0xc425945020, 0xc422e30ce0, 0x4192fa, 0xc4201d95c0, 0x0, ...)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/consensus/ethash/algorithm.go:366 +0x270 fp=0xc422e30c80 sp=0xc422e30af0 pc=0x9ee450
github.com/ethereum/go-ethereum/consensus/ethash.hashimotoFull(0x7f3d5f5cc008, 0xffffe20, 0xffffe20, 0xc422e30df0, 0x20, 0x20, 0x7fdcaba574cc35b0, 0xc423664fa0, 0x20, 0x20, ...)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/consensus/ethash/algorithm.go:409 +0xb6 fp=0xc422e30cf0 sp=0xc422e30c80 pc=0x9eeb66
github.com/ethereum/go-ethereum/consensus/ethash.(*Ethash).mine(0xc4200be1e0, 0xc4292541b0, 0x0, 0x7fdcaba574cbce93, 0xc4201d95c0, 0xc4201d9620)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/consensus/ethash/sealer.go:130 +0x3a2 fp=0xc422e30f68 sp=0xc422e30cf0 pc=0x9f5792
github.com/ethereum/go-ethereum/consensus/ethash.(*Ethash).Seal.func1(0xc420206d40, 0xc4200be1e0, 0xc4292541b0, 0xc4201d95c0, 0xc4201d9620, 0x0, 0x7fdcaba574cbce93)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/consensus/ethash/sealer.go:72 +0x87 fp=0xc422e30fa8 sp=0xc422e30f68 pc=0x9f8e97
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc422e30fb0 sp=0xc422e30fa8 pc=0x46f011
created by github.com/ethereum/go-ethereum/consensus/ethash.(*Ethash).Seal
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/consensus/ethash/sealer.go:70 +0x1db

goroutine 1 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/node.(*Node).Wait(0xc420386500)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/node/node.go:464 +0x7f
main.geth(0xc4200ec160, 0x18, 0xc4204c1d58)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/cmd/geth/main.go:251 +0x51
github.com/ethereum/go-ethereum/vendor/gopkg.in/urfave/cli%2ev1.HandleAction(0xdb56e0, 0xfc6d08, 0xc4200ec160, 0xc4200ec160, 0xc4204c1f48)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/gopkg.in/urfave/cli.v1/app.go:490 +0xc8
github.com/ethereum/go-ethereum/vendor/gopkg.in/urfave/cli%2ev1.(*App).Run(0xc420214340, 0xc4200300c0, 0xc, 0xc, 0x0, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/gopkg.in/urfave/cli.v1/app.go:264 +0x5ee
main.main()
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/cmd/geth/main.go:239 +0x55

goroutine 6 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.(*nonrecursiveTree).dispatch(0xc4200322a0, 0xc4200321e0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/tree_nonrecursive.go:36 +0xb6
created by github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.newNonrecursiveTree
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/tree_nonrecursive.go:29 +0xf2

goroutine 7 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.(*nonrecursiveTree).internal(0xc4200322a0, 0xc420032240)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/tree_nonrecursive.go:81 +0x7b
created by github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.newNonrecursiveTree
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/tree_nonrecursive.go:30 +0x11e

goroutine 8 [syscall, 9 minutes]:
os/signal.signal_recv(0x0)
	/usr/local/go/src/runtime/sigqueue.go:139 +0xa6
os/signal.loop()
	/usr/local/go/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.0
	/usr/local/go/src/os/signal/signal_unix.go:28 +0x41

goroutine 9 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/core.(*txSenderCacher).cache(0xc420063580)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/tx_cacher.go:63 +0x97
created by github.com/ethereum/go-ethereum/core.newTxSenderCacher
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/tx_cacher.go:55 +0xa4

goroutine 10 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/core.(*txSenderCacher).cache(0xc420063580)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/tx_cacher.go:63 +0x97
created by github.com/ethereum/go-ethereum/core.newTxSenderCacher
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/tx_cacher.go:55 +0xa4

goroutine 11 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/core.(*txSenderCacher).cache(0xc420063580)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/tx_cacher.go:63 +0x97
created by github.com/ethereum/go-ethereum/core.newTxSenderCacher
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/tx_cacher.go:55 +0xa4

goroutine 12 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/core.(*txSenderCacher).cache(0xc420063580)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/tx_cacher.go:63 +0x97
created by github.com/ethereum/go-ethereum/core.newTxSenderCacher
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/tx_cacher.go:55 +0xa4

goroutine 39 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth/fetcher.(*Fetcher).loop(0xc420210340)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/fetcher/fetcher.go:316 +0x7d7
created by github.com/ethereum/go-ethereum/eth/fetcher.(*Fetcher).Start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/fetcher/fetcher.go:178 +0x3f

goroutine 20 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.(*inotify).send(0xc4200f0000, 0xc4200961e0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/watcher_inotify.go:254 +0xae
created by github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.(*inotify).lazyinit
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/watcher_inotify.go:137 +0x17b

goroutine 19 [syscall, 9 minutes]:
syscall.Syscall6(0xe8, 0x6, 0xc420223f6c, 0x1, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/syscall/asm_linux_amd64.s:44 +0x5
github.com/ethereum/go-ethereum/vendor/golang.org/x/sys/unix.EpollWait(0x6, 0xc420223f6c, 0x1, 0x1, 0xffffffffffffffff, 0x0, 0x0, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go:1529 +0x7a
github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.(*inotify).loop(0xc4200f0000, 0xc4200961e0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/watcher_inotify.go:194 +0x8b
created by github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.(*inotify).lazyinit
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/watcher_inotify.go:134 +0x128

goroutine 52 [select, 9 minutes]:
github.com/ethereum/go-ethereum/accounts/keystore.(*watcher).loop(0xc4201fed40)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/accounts/keystore/watch.go:94 +0x4a0
created by github.com/ethereum/go-ethereum/accounts/keystore.(*watcher).start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/accounts/keystore/watch.go:52 +0x5d

goroutine 21 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.(*inotify).send(0xc4200f0000, 0xc4200961e0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/watcher_inotify.go:254 +0xae
created by github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.(*inotify).lazyinit
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/watcher_inotify.go:137 +0x17b

goroutine 53 [select]:
github.com/ethereum/go-ethereum/accounts/keystore.(*KeyStore).updater(0xc420132000)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/accounts/keystore/keystore.go:203 +0xf0
created by github.com/ethereum/go-ethereum/accounts/keystore.(*KeyStore).Subscribe
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/accounts/keystore/keystore.go:190 +0x122

goroutine 54 [sleep]:
time.Sleep(0x3b9aca00)
	/usr/local/go/src/runtime/time.go:102 +0x166
github.com/ethereum/go-ethereum/accounts/usbwallet.(*Hub).updater(0xc42036cb40)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/accounts/usbwallet/hub.go:224 +0x3e
created by github.com/ethereum/go-ethereum/accounts/usbwallet.(*Hub).Subscribe
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/accounts/usbwallet/hub.go:213 +0x122

goroutine 55 [sleep]:
time.Sleep(0x3b9aca00)
	/usr/local/go/src/runtime/time.go:102 +0x166
github.com/ethereum/go-ethereum/accounts/usbwallet.(*Hub).updater(0xc42036cc80)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/accounts/usbwallet/hub.go:224 +0x3e
created by github.com/ethereum/go-ethereum/accounts/usbwallet.(*Hub).Subscribe
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/accounts/usbwallet/hub.go:213 +0x122

goroutine 56 [select, 9 minutes]:
github.com/ethereum/go-ethereum/accounts.(*Manager).update(0xc4202a2000)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/accounts/manager.go:95 +0x1c6
created by github.com/ethereum/go-ethereum/accounts.NewManager
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/accounts/manager.go:68 +0x54c

goroutine 57 [select]:
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/util.(*BufferPool).drain(0xc4202d07e0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:206 +0x152
created by github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/util.NewBufferPool
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:237 +0x171

goroutine 58 [select, 9 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0xc420214820)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:90 +0xff
created by github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:142 +0x49d

goroutine 59 [select]:
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(0xc420214820)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_state.go:101 +0x127
created by github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:143 +0x4bf

goroutine 60 [select, 9 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(0xc420214820)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:804 +0x277
created by github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:149 +0x627

goroutine 61 [select, 9 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mCompaction(0xc420214820)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:751 +0x15d
created by github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:150 +0x649

goroutine 62 [select]:
github.com/ethereum/go-ethereum/ethdb.(*LDBDatabase).meter(0xc4200db4a0, 0xb2d05e00)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/ethdb/database.go:361 +0x19b5
created by github.com/ethereum/go-ethereum/ethdb.(*LDBDatabase).Meter
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/ethdb/database.go:177 +0x1b8

goroutine 63 [select, 9 minutes]:
github.com/ethereum/go-ethereum/core.(*ChainIndexer).updateLoop(0xc420360240)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/chain_indexer.go:272 +0x16c
created by github.com/ethereum/go-ethereum/core.NewChainIndexer
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/chain_indexer.go:108 +0x23b

goroutine 64 [select]:
github.com/ethereum/go-ethereum/core.(*BlockChain).update(0xc4200d2000)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/blockchain.go:1389 +0x12d
created by github.com/ethereum/go-ethereum/core.NewBlockChain
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/blockchain.go:194 +0x91a

goroutine 65 [select]:
github.com/ethereum/go-ethereum/core.(*ChainIndexer).eventLoop(0xc420360240, 0xc4200e4900, 0xc420142360, 0x10bd360, 0xc42022fd20)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/chain_indexer.go:190 +0x266
created by github.com/ethereum/go-ethereum/core.(*ChainIndexer).Start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/chain_indexer.go:133 +0xcf

goroutine 82 [select]:
github.com/ethereum/go-ethereum/core.(*TxPool).loop(0xc420343a40)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/tx_pool.go:281 +0x342
created by github.com/ethereum/go-ethereum/core.NewTxPool
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/core/tx_pool.go:253 +0x4d1

goroutine 83 [select]:
github.com/ethereum/go-ethereum/eth/downloader.(*Downloader).qosTuner(0xc4200b51e0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/downloader.go:1584 +0x33e
created by github.com/ethereum/go-ethereum/eth/downloader.New
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/downloader.go:231 +0x45c

goroutine 84 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth/downloader.(*Downloader).stateFetcher(0xc4200b51e0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/statesync.go:76 +0x146
created by github.com/ethereum/go-ethereum/eth/downloader.New
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/downloader.go:232 +0x47e

goroutine 85 [select]:
github.com/ethereum/go-ethereum/miner.(*worker).update(0xc4200ec840)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/worker.go:251 +0x2ec
created by github.com/ethereum/go-ethereum/miner.newWorker
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/worker.go:158 +0x4ae

goroutine 86 [chan receive]:
github.com/ethereum/go-ethereum/miner.(*worker).wait(0xc4200ec840)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/worker.go:300 +0x30b
created by github.com/ethereum/go-ethereum/miner.newWorker
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/worker.go:160 +0x4d0

goroutine 87 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/miner.(*Miner).update(0xc4201fabe0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/miner.go:81 +0x18e
created by github.com/ethereum/go-ethereum/miner.New
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/miner.go:69 +0x23b

goroutine 88 [select, 9 minutes]:
github.com/ethereum/go-ethereum/p2p/nat.Map(0x10c5960, 0xc420284f40, 0xc420097440, 0xf3507a, 0x3, 0x765f, 0x765f, 0xf43d9c, 0x12)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/nat/nat.go:114 +0x4b9
created by github.com/ethereum/go-ethereum/p2p.(*Server).Start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:435 +0xeda

goroutine 69 [select]:
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/util.(*BufferPool).drain(0xc4203c2000)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:206 +0x152
created by github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/util.NewBufferPool
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:237 +0x171

goroutine 70 [select, 9 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0xc4202141a0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:90 +0xff
created by github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:142 +0x49d

goroutine 71 [select]:
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(0xc4202141a0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_state.go:101 +0x127
created by github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:143 +0x4bf

goroutine 72 [select, 9 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(0xc4202141a0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:804 +0x277
created by github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:149 +0x627

goroutine 73 [select, 9 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mCompaction(0xc4202141a0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:751 +0x15d
created by github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:150 +0x649

goroutine 74 [select, 9 minutes]:
github.com/ethereum/go-ethereum/p2p/discover.(*nodeDB).expirer(0xc4201af320)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/discover/database.go:233 +0x114
created by github.com/ethereum/go-ethereum/p2p/discover.(*nodeDB).ensureExpirer.func1
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/discover/database.go:224 +0x3e

goroutine 75 [select]:
github.com/ethereum/go-ethereum/p2p/discover.(*Table).loop(0xc42036ca00)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/discover/table.go:370 +0x3d2
created by github.com/ethereum/go-ethereum/p2p/discover.newTable
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/discover/table.go:132 +0x450

goroutine 76 [select]:
github.com/ethereum/go-ethereum/p2p/discover.(*udp).loop(0xc4200c0150)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/discover/udp.go:401 +0x543
created by github.com/ethereum/go-ethereum/p2p/discover.newUDP
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/discover/udp.go:260 +0x306

goroutine 77 [IO wait]:
internal/poll.runtime_pollWait(0x7f3d9fa69950, 0x72, 0x0)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42020a418, 0x72, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42020a418, 0xc420324a00, 0x500, 0x500)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).ReadFrom(0xc42020a400, 0xc420324a00, 0x500, 0x500, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:207 +0x17d
net.(*netFD).readFrom(0xc42020a400, 0xc420324a00, 0x500, 0x500, 0xb1df2ccf6dfd884d, 0x628347aacfeb849e, 0xe95cdfc194956301, 0x658c5b0bb66670c5, 0x7bfcbe863195f275)
	/usr/local/go/src/net/fd_unix.go:208 +0x5b
net.(*UDPConn).readFrom(0xc420212348, 0xc420324a00, 0x500, 0x500, 0xc422e37ed8, 0x8044c1, 0xde95e0, 0x0)
	/usr/local/go/src/net/udpsock_posix.go:47 +0x6a
net.(*UDPConn).ReadFromUDP(0xc420212348, 0xc420324a00, 0x500, 0x500, 0x500, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/udpsock.go:106 +0x6f
github.com/ethereum/go-ethereum/p2p/discover.(*udp).readLoop(0xc4200c0150, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/discover/udp.go:536 +0xec
created by github.com/ethereum/go-ethereum/p2p/discover.newUDP
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/discover/udp.go:261 +0x338

goroutine 78 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f3d9fa69540, 0x72, 0x0)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4384ec418, 0x72, 0xc420362700, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4384ec418, 0xffffffffffffff00, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4384ec400, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc4384ec400, 0xc4202c6c20, 0xc420097a38, 0xc420097a38)
	/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc420202148, 0x41899b, 0xc4200979e0, 0x0)
	/usr/local/go/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc420202148, 0x0, 0xc4200979e0, 0xc4202c6c00, 0x2)
	/usr/local/go/src/net/tcpsock.go:259 +0x49
github.com/ethereum/go-ethereum/p2p.(*Server).listenLoop(0xc420386780)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:762 +0x23c
created by github.com/ethereum/go-ethereum/p2p.(*Server).startListening
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:519 +0x159

goroutine 79 [select, 9 minutes]:
github.com/ethereum/go-ethereum/p2p/nat.Map(0x10c5960, 0xc420284f40, 0xc420097440, 0xf3506e, 0x3, 0x765f, 0x765f, 0xf3e2b7, 0xc)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/nat/nat.go:114 +0x4b9
github.com/ethereum/go-ethereum/p2p.(*Server).startListening.func1(0xc420386780, 0xc42020f4d0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:524 +0x8b
created by github.com/ethereum/go-ethereum/p2p.(*Server).startListening
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:523 +0x1ee

goroutine 80 [select]:
github.com/ethereum/go-ethereum/p2p.(*Server).run(0xc420386780, 0x10c58e0, 0xc4384f8640)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:589 +0x59f
created by github.com/ethereum/go-ethereum/p2p.(*Server).Start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:504 +0x78c

goroutine 81 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 98 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 99 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 100 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 101 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 102 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 103 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 104 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 105 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 106 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 107 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 108 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 109 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 110 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 111 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 112 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers.func1(0xc4202d08c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:56 +0x37e
created by github.com/ethereum/go-ethereum/eth.(*Ethereum).startBloomHandlers
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/bloombits.go:54 +0x48

goroutine 113 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*ProtocolManager).txBroadcastLoop(0xc420360300)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/handler.go:757 +0x134
created by github.com/ethereum/go-ethereum/eth.(*ProtocolManager).Start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/handler.go:209 +0xcb

goroutine 114 [chan receive]:
github.com/ethereum/go-ethereum/eth.(*ProtocolManager).minedBroadcastLoop(0xc420360300)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/handler.go:746 +0x59
created by github.com/ethereum/go-ethereum/eth.(*ProtocolManager).Start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/handler.go:213 +0x155

goroutine 115 [select]:
github.com/ethereum/go-ethereum/eth.(*ProtocolManager).syncer(0xc420360300)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/sync.go:145 +0x1ca
created by github.com/ethereum/go-ethereum/eth.(*ProtocolManager).Start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/handler.go:216 +0x177

goroutine 116 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth.(*ProtocolManager).txsyncLoop(0xc420360300)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/sync.go:109 +0x25c
created by github.com/ethereum/go-ethereum/eth.(*ProtocolManager).Start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/handler.go:217 +0x199

goroutine 117 [select, 9 minutes]:
github.com/ethereum/go-ethereum/eth/downloader.(*PublicDownloaderAPI).eventLoop(0xc420218720)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/api.go:63 +0x2f7
created by github.com/ethereum/go-ethereum/eth/downloader.NewPublicDownloaderAPI
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/api.go:49 +0xd7

goroutine 118 [select]:
github.com/ethereum/go-ethereum/eth/filters.(*EventSystem).eventLoop(0xc4384f86e0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/filters/filter_system.go:465 +0x53d
created by github.com/ethereum/go-ethereum/eth/filters.NewEventSystem
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/filters/filter_system.go:146 +0x3fd

goroutine 119 [chan receive, 4 minutes]:
github.com/ethereum/go-ethereum/eth/filters.(*PublicFilterAPI).timeoutLoop(0xc4202a6780)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/filters/api.go:83 +0x124
created by github.com/ethereum/go-ethereum/eth/filters.NewPublicFilterAPI
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/eth/filters/api.go:73 +0x15f

goroutine 120 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f3d9fa69470, 0x72, 0x0)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42094f418, 0x72, 0xc42007c500, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42094f418, 0xffffffffffffff00, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc42094f400, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc42094f400, 0x737365726464416d, 0x702e336265570a3b, 0x657079746f746f72)
	/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*UnixListener).accept(0xc42095e240, 0x6464416d75736b63, 0x65570a3b73736572, 0x6f746f72702e3362)
	/usr/local/go/src/net/unixsock_posix.go:162 +0x32
net.(*UnixListener).Accept(0xc42095e240, 0xc4203fa678, 0xc4203fa670, 0x654c6461702e736c, 0x336265570a3b7466)
	/usr/local/go/src/net/unixsock.go:253 +0x49
github.com/ethereum/go-ethereum/rpc.(*Server).ServeListener(0xc4201ffac0, 0x10c38e0, 0xc42095e240, 0x0, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/ipc.go:30 +0x49
created by github.com/ethereum/go-ethereum/rpc.StartIPCEndpoint
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/endpoints.go:100 +0x2ad

goroutine 121 [chan receive, 9 minutes]:
github.com/ethereum/go-ethereum/cmd/utils.StartNode.func1(0xc420386500)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/cmd/utils/cmd.go:74 +0xee
created by github.com/ethereum/go-ethereum/cmd/utils.StartNode
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/cmd/utils/cmd.go:70 +0xad

goroutine 96 [select, 9 minutes, locked to thread]:
runtime.gopark(0xfc7648, 0x0, 0xf37f13, 0x6, 0x18, 0x1)
	/usr/local/go/src/runtime/proc.go:291 +0x11a
runtime.selectgo(0xc4384eaf50, 0xc420097f20)
	/usr/local/go/src/runtime/select.go:392 +0xe50
runtime.ensureSigM.func1()
	/usr/local/go/src/runtime/signal_unix.go:549 +0x1f4
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:2361 +0x1

goroutine 40 [chan receive, 9 minutes]:
main.startNode.func1(0xc420386500, 0xc420142240)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/cmd/geth/main.go:293 +0x308
created by main.startNode
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/cmd/geth/main.go:278 +0x2c9

goroutine 4918 [select]:
net.(*netFD).connect.func2(0x10c51e0, 0xc4270a70e0, 0xc4228d4600, 0xc420096ae0, 0xc4200969c0)
	/usr/local/go/src/net/fd_unix.go:129 +0xde
created by net.(*netFD).connect
	/usr/local/go/src/net/fd_unix.go:128 +0x286

goroutine 42 [select]:
github.com/ethereum/go-ethereum/miner.(*CpuAgent).update(0xc4201fac30)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/agent.go:81 +0x124
created by github.com/ethereum/go-ethereum/miner.(*CpuAgent).Start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/agent.go:75 +0x52

goroutine 43 [select]:
github.com/ethereum/go-ethereum/miner.(*RemoteAgent).loop(0xc4384ec480, 0xc4201429c0, 0xc42028e0c0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/remote_agent.go:176 +0x3a6
created by github.com/ethereum/go-ethereum/miner.(*RemoteAgent).Start
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/remote_agent.go:86 +0xd2

goroutine 122 [select, 9 minutes]:
net.(*pipe).read(0xc42020a200, 0xc4201ca200, 0x200, 0x200, 0xc42091ba60, 0x456597, 0x200)
	/usr/local/go/src/net/pipe.go:164 +0x1d7
net.(*pipe).Read(0xc42020a200, 0xc4201ca200, 0x200, 0x200, 0x0, 0x200, 0x0)
	/usr/local/go/src/net/pipe.go:147 +0x4d
encoding/json.(*Decoder).refill(0xc42091c000, 0x0, 0xc42091bb98)
	/usr/local/go/src/encoding/json/stream.go:159 +0x132
encoding/json.(*Decoder).readValue(0xc42091c000, 0x0, 0x0, 0x1b483a0)
	/usr/local/go/src/encoding/json/stream.go:134 +0x23d
encoding/json.(*Decoder).Decode(0xc42091c000, 0xdf9180, 0xc4201fe180, 0xc420226501, 0xc4201fe180)
	/usr/local/go/src/encoding/json/stream.go:63 +0x78
encoding/json.(*Decoder).Decode-fm(0xdf9180, 0xc4201fe180, 0xc4201fa3d8, 0xf6afdbe)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/json.go:119 +0x3e
github.com/ethereum/go-ethereum/rpc.(*jsonCodec).ReadRequestHeaders(0xc4201fa3c0, 0x0, 0x0, 0x0, 0xc420226500, 0x0, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/json.go:144 +0xbe
github.com/ethereum/go-ethereum/rpc.(*Server).readRequest(0xc420218800, 0x10ca4c0, 0xc4201fa3c0, 0x1, 0xe4b280, 0xc420208740, 0x10c5220, 0xc4202318f0, 0x424b69)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/server.go:378 +0x5f
github.com/ethereum/go-ethereum/rpc.(*Server).serveRequest(0xc420218800, 0x10c51a0, 0xc420036038, 0x10ca4c0, 0xc4201fa3c0, 0x1b24a00, 0x3, 0x0, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/server.go:163 +0x2ee
github.com/ethereum/go-ethereum/rpc.(*Server).ServeCodec(0xc420218800, 0x10ca4c0, 0xc4201fa3c0, 0x3)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/server.go:219 +0x94
created by github.com/ethereum/go-ethereum/rpc.DialInProc.func1
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/inproc.go:29 +0xbd

goroutine 123 [select, 9 minutes]:
github.com/ethereum/go-ethereum/rpc.(*Client).dispatch(0xc4200c0540, 0x10c98c0, 0xc42020a280)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/client.go:541 +0x3df
created by github.com/ethereum/go-ethereum/rpc.newClient
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/client.go:244 +0x2d0

goroutine 124 [select, 9 minutes]:
net.(*pipe).read(0xc42020a280, 0xc4201ca000, 0x200, 0x200, 0xc4203fad80, 0x456597, 0x200)
	/usr/local/go/src/net/pipe.go:164 +0x1d7
net.(*pipe).Read(0xc42020a280, 0xc4201ca000, 0x200, 0x200, 0x0, 0x200, 0xc4203fafc0)
	/usr/local/go/src/net/pipe.go:147 +0x4d
encoding/json.(*Decoder).refill(0xc42091c1e0, 0x2065736e6563694c, 0x627570207361)
	/usr/local/go/src/encoding/json/stream.go:159 +0x132
encoding/json.(*Decoder).readValue(0xc42091c1e0, 0x0, 0x0, 0xd80520)
	/usr/local/go/src/encoding/json/stream.go:134 +0x23d
encoding/json.(*Decoder).Decode(0xc42091c1e0, 0xdf9180, 0xc4201fe100, 0x4957207475622020, 0xc4203faf10)
	/usr/local/go/src/encoding/json/stream.go:63 +0x78
github.com/ethereum/go-ethereum/rpc.(*Client).read.func1(0xe52da0, 0xc4201fe120, 0xc42020a280, 0x7f3d9fa12470, 0xc42020a280)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/client.go:682 +0x79
github.com/ethereum/go-ethereum/rpc.(*Client).read(0xc4200c0540, 0x10c98c0, 0xc42020a280, 0xc4200965f8, 0xc42003ae00)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/client.go:695 +0x14d
created by github.com/ethereum/go-ethereum/rpc.(*Client).dispatch
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/client.go:517 +0x71

goroutine 4954 [IO wait]:
internal/poll.runtime_pollWait(0x7f3d9fa69130, 0x72, 0xc420901860)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc427791418, 0x72, 0xffffffffffffff00, 0x10bbe00, 0x17ceb70)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc427791418, 0xc428074c00, 0x20, 0x20)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc427791400, 0xc428074ca0, 0x20, 0x20, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc427791400, 0xc428074ca0, 0x20, 0x20, 0xc420097498, 0x0, 0xc420901990)
	/usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42000e1a8, 0xc428074ca0, 0x20, 0x20, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/net.go:176 +0x6a
io.ReadAtLeast(0x7f3d9f9dd8a8, 0xc42000e1a8, 0xc428074ca0, 0x20, 0x20, 0x20, 0xefcbc0, 0x0, 0x7f3d9f9dd8a8)
	/usr/local/go/src/io/io.go:309 +0x86
io.ReadFull(0x7f3d9f9dd8a8, 0xc42000e1a8, 0xc428074ca0, 0x20, 0x20, 0x20, 0xc423432000, 0x0)
	/usr/local/go/src/io/io.go:327 +0x58
github.com/ethereum/go-ethereum/p2p.(*rlpxFrameRW).ReadMsg(0xc420389340, 0x2, 0xc420901cf0, 0x2, 0xc420901c00, 0x424b69, 0xc420946420, 0x60, 0x60, 0xef5060)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/rlpx.go:656 +0xfd
github.com/ethereum/go-ethereum/p2p.readProtocolHandshake(0x10b9b60, 0xc420389340, 0xc4203e8480, 0xc424d07140, 0xc4203e8480, 0x2)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/rlpx.go:145 +0x73
github.com/ethereum/go-ethereum/p2p.(*rlpx).doProtoHandshake(0xc424d07140, 0xc4203e8480, 0xc420097680, 0x0, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/rlpx.go:131 +0xa7
github.com/ethereum/go-ethereum/p2p.(*Server).setupConn(0xc420386780, 0xc42575f360, 0x1, 0xc42575e320, 0xc42000e1a8, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:835 +0x72f
github.com/ethereum/go-ethereum/p2p.(*Server).SetupConn(0xc420386780, 0x10c97a0, 0xc42000e1a8, 0x1, 0xc42575e320, 0x0, 0x10b9c00)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:801 +0x151
github.com/ethereum/go-ethereum/p2p.(*dialTask).dial(0xc424d06f60, 0xc420386780, 0xc42575e320, 0x0, 0xc4203f6790)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:354 +0x118
github.com/ethereum/go-ethereum/p2p.(*dialTask).Do(0xc424d06f60, 0xc420386780)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:297 +0x58
github.com/ethereum/go-ethereum/p2p.(*Server).run.func2.1(0x10b9b00, 0xc424d06f60, 0xc420386780, 0xc420142ea0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x3b
created by github.com/ethereum/go-ethereum/p2p.(*Server).run.func2
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x19a

goroutine 4977 [IO wait]:
internal/poll.runtime_pollWait(0x7f3d5f53ce90, 0x72, 0xc439ec7380)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc427790118, 0x72, 0xffffffffffffff00, 0x10bbe00, 0x17ceb70)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc427790118, 0xc427c36100, 0xd2, 0xd2)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc427790100, 0xc427c361c0, 0xd2, 0xd2, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc427790100, 0xc427c361c0, 0xd2, 0xd2, 0x469330, 0x7f3d9fb386c8, 0xc424a7001f)
	/usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42000e038, 0xc427c361c0, 0xd2, 0xd2, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/net.go:176 +0x6a
io.ReadAtLeast(0x7f3d9f9dd8a8, 0xc42000e038, 0xc427c361c0, 0xd2, 0xd2, 0xd2, 0xd9bd60, 0x43ec01, 0xc427c361c0)
	/usr/local/go/src/io/io.go:309 +0x86
io.ReadFull(0x7f3d9f9dd8a8, 0xc42000e038, 0xc427c361c0, 0xd2, 0xd2, 0xd2, 0x4aa9d3, 0xc427790100)
	/usr/local/go/src/io/io.go:327 +0x58
github.com/ethereum/go-ethereum/p2p.readHandshakeMsg(0x10b9aa0, 0xc427790200, 0xd2, 0xc420231e90, 0x7f3d9f9dd8a8, 0xc42000e038, 0x0, 0x0, 0x7f3d5f402898, 0xc427790100, ...)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/rlpx.go:489 +0xa8
github.com/ethereum/go-ethereum/p2p.initiatorEncHandshake(0x7f3d9f9dd880, 0xc42000e038, 0xc420231e90, 0x7eb155e1d9bc2cfc, 0x26cf8e7419de9b2e, 0xd2eb5336977b3065, 0xa9bb5b42ba749a50, 0x3166b25a16ccabfd, 0x39c794e0e597b708, 0x664f92742fa750c, ...)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/rlpx.go:298 +0x22d
github.com/ethereum/go-ethereum/p2p.(*rlpx).doEncHandshake(0xc424634660, 0xc420231e90, 0xc4204b2aa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/rlpx.go:186 +0x13f
github.com/ethereum/go-ethereum/p2p.(*Server).setupConn(0xc420386780, 0xc4204b2140, 0x1, 0xc4204b2aa0, 0xc42000e038, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:819 +0xbc
github.com/ethereum/go-ethereum/p2p.(*Server).SetupConn(0xc420386780, 0x10c97a0, 0xc42000e038, 0x1, 0xc4204b2aa0, 0x0, 0x45e144)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:801 +0x151
github.com/ethereum/go-ethereum/p2p.(*dialTask).dial(0xc4246343c0, 0xc420386780, 0xc4204b2aa0, 0xc4203fb790, 0xaa63b6)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:354 +0x118
github.com/ethereum/go-ethereum/p2p.(*dialTask).Do(0xc4246343c0, 0xc420386780)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:297 +0x58
github.com/ethereum/go-ethereum/p2p.(*Server).run.func2.1(0x10b9b00, 0xc4246343c0, 0xc420386780, 0xc420142ea0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x3b
created by github.com/ethereum/go-ethereum/p2p.(*Server).run.func2
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x19a

goroutine 5026 [select]:
net.(*netFD).connect.func2(0x10c51e0, 0xc4209290e0, 0xc423fec280, 0xc420097b00, 0xc420096900)
	/usr/local/go/src/net/fd_unix.go:129 +0xde
created by net.(*netFD).connect
	/usr/local/go/src/net/fd_unix.go:128 +0x286

goroutine 4913 [select]:
github.com/ethereum/go-ethereum/consensus/ethash.(*Ethash).Seal(0xc4200be1e0, 0x10c8120, 0xc4200d2000, 0xc4292541b0, 0xc4201d9500, 0xc4384ea7a8, 0x5fb7bf, 0xc42bb2ad80)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/consensus/ethash/sealer.go:77 +0x2fb
github.com/ethereum/go-ethereum/miner.(*CpuAgent).mine(0xc4201fac30, 0xc4204b2a00, 0xc4201d9500)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/agent.go:103 +0x7c
created by github.com/ethereum/go-ethereum/miner.(*CpuAgent).update
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/miner/agent.go:88 +0x5d

goroutine 4989 [IO wait]:
internal/poll.runtime_pollWait(0x7f3d5f53cf60, 0x77, 0xc42093ca80)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc423fed118, 0x77, 0xc426a36700, 0xc426a36718, 0x448c94)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitWrite(0xc423fed118, 0xc426a36700, 0x28, 0x5d08c6)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:94 +0x3d
internal/poll.(*FD).WaitWrite(0xc423fed100, 0xfc6e38, 0x10c51e0)
	/usr/local/go/src/internal/poll/fd_unix.go:440 +0x37
net.(*netFD).connect(0xc423fed100, 0x10c51e0, 0xc420929680, 0x0, 0x0, 0x10baea0, 0xc4395a60e0, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/fd_unix.go:152 +0x299
net.(*netFD).dial(0xc423fed100, 0x10c51e0, 0xc420929680, 0x10c85a0, 0x0, 0x10c85a0, 0xc42095eba0, 0xc426a36938, 0x5eda9e)
	/usr/local/go/src/net/sock_posix.go:142 +0xe9
net.socket(0x10c51e0, 0xc420929680, 0xf3506e, 0x3, 0x2, 0x1, 0x0, 0x0, 0x10c85a0, 0x0, ...)
	/usr/local/go/src/net/sock_posix.go:93 +0x1a6
net.internetSocket(0x10c51e0, 0xc420929680, 0xf3506e, 0x3, 0x10c85a0, 0x0, 0x10c85a0, 0xc42095eba0, 0x1, 0x0, ...)
	/usr/local/go/src/net/ipsock_posix.go:141 +0x129
net.doDialTCP(0x10c51e0, 0xc420929680, 0xf3506e, 0x3, 0x0, 0xc42095eba0, 0x1b48548, 0x0, 0x0)
	/usr/local/go/src/net/tcpsock_posix.go:62 +0xb9
net.dialTCP(0x10c51e0, 0xc420929680, 0xf3506e, 0x3, 0x0, 0xc42095eba0, 0x887b885d06, 0x1b1ff60, 0x37e11ae3d)
	/usr/local/go/src/net/tcpsock_posix.go:58 +0xe4
net.dialSingle(0x10c51e0, 0xc420929680, 0xc423fed080, 0x10be4e0, 0xc42095eba0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:547 +0x375
net.dialSerial(0x10c51e0, 0xc420929680, 0xc423fed080, 0xc4202002e0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:515 +0x22d
net.(*Dialer).DialContext(0xc420142960, 0x10c51a0, 0xc420036038, 0xf3506e, 0x3, 0xc4395a60c0, 0x12, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/dial.go:397 +0x678
net.(*Dialer).Dial(0xc420142960, 0xf3506e, 0x3, 0xc4395a60c0, 0x12, 0x0, 0x0, 0x16, 0xd67f80)
	/usr/local/go/src/net/dial.go:320 +0x75
github.com/ethereum/go-ethereum/p2p.TCPDialer.Dial(0xc420142960, 0xc42575e5a0, 0xc428a7ef60, 0x97909d, 0xd67f80, 0xc4203e8480)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:65 +0xa9
github.com/ethereum/go-ethereum/p2p.(*dialTask).dial(0xc42095eb10, 0xc420386780, 0xc42575e5a0, 0x0, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:349 +0x48
github.com/ethereum/go-ethereum/p2p.(*dialTask).Do(0xc42095eb10, 0xc420386780)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:297 +0x58
github.com/ethereum/go-ethereum/p2p.(*Server).run.func2.1(0x10b9b00, 0xc42095eb10, 0xc420386780, 0xc420142ea0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x3b
created by github.com/ethereum/go-ethereum/p2p.(*Server).run.func2
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x19a

goroutine 4929 [IO wait]:
internal/poll.runtime_pollWait(0x7f3d9fa692d0, 0x77, 0xc42041f200)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc423fec298, 0x77, 0xc4201d4700, 0xc4201d4718, 0x448c94)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitWrite(0xc423fec298, 0xc4201d4700, 0x28, 0x5d08c6)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:94 +0x3d
internal/poll.(*FD).WaitWrite(0xc423fec280, 0xfc6e38, 0x10c51e0)
	/usr/local/go/src/internal/poll/fd_unix.go:440 +0x37
net.(*netFD).connect(0xc423fec280, 0x10c51e0, 0xc4209290e0, 0x0, 0x0, 0x10baea0, 0xc421e6c7e0, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/fd_unix.go:152 +0x299
net.(*netFD).dial(0xc423fec280, 0x10c51e0, 0xc4209290e0, 0x10c85a0, 0x0, 0x10c85a0, 0xc424d070b0, 0xc4201d4938, 0x5eda9e)
	/usr/local/go/src/net/sock_posix.go:142 +0xe9
net.socket(0x10c51e0, 0xc4209290e0, 0xf3506e, 0x3, 0x2, 0x1, 0x0, 0x0, 0x10c85a0, 0x0, ...)
	/usr/local/go/src/net/sock_posix.go:93 +0x1a6
net.internetSocket(0x10c51e0, 0xc4209290e0, 0xf3506e, 0x3, 0x10c85a0, 0x0, 0x10c85a0, 0xc424d070b0, 0x1, 0x0, ...)
	/usr/local/go/src/net/ipsock_posix.go:141 +0x129
net.doDialTCP(0x10c51e0, 0xc4209290e0, 0xf3506e, 0x3, 0x0, 0xc424d070b0, 0x1b48548, 0x0, 0x0)
	/usr/local/go/src/net/tcpsock_posix.go:62 +0xb9
net.dialTCP(0x10c51e0, 0xc4209290e0, 0xf3506e, 0x3, 0x0, 0xc424d070b0, 0x88ec5f86e2, 0x1b1ff60, 0x37e11a72b)
	/usr/local/go/src/net/tcpsock_posix.go:58 +0xe4
net.dialSingle(0x10c51e0, 0xc4209290e0, 0xc423fec200, 0x10be4e0, 0xc424d070b0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:547 +0x375
net.dialSerial(0x10c51e0, 0xc4209290e0, 0xc423fec200, 0xc420200150, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:515 +0x22d
net.(*Dialer).DialContext(0xc420142960, 0x10c51a0, 0xc420036038, 0xf3506e, 0x3, 0xc421e6c7c0, 0x14, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/dial.go:397 +0x678
net.(*Dialer).Dial(0xc420142960, 0xf3506e, 0x3, 0xc421e6c7c0, 0x14, 0x0, 0x0, 0x16, 0xd67f80)
	/usr/local/go/src/net/dial.go:320 +0x75
github.com/ethereum/go-ethereum/p2p.TCPDialer.Dial(0xc420142960, 0xc42575ef00, 0xc420070f60, 0x97909d, 0xd67f80, 0xc4203e8480)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:65 +0xa9
github.com/ethereum/go-ethereum/p2p.(*dialTask).dial(0xc424d06f90, 0xc420386780, 0xc42575ef00, 0x20002, 0xc420070fa4)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:349 +0x48
github.com/ethereum/go-ethereum/p2p.(*dialTask).Do(0xc424d06f90, 0xc420386780)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:297 +0x58
github.com/ethereum/go-ethereum/p2p.(*Server).run.func2.1(0x10b9b00, 0xc424d06f90, 0xc420386780, 0xc420142ea0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x3b
created by github.com/ethereum/go-ethereum/p2p.(*Server).run.func2
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x19a

goroutine 4919 [IO wait]:
internal/poll.runtime_pollWait(0x7f3d5f53cc20, 0x77, 0xc42bb2a900)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4228d4718, 0x77, 0xc4208f1700, 0xc4208f1718, 0x448c94)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitWrite(0xc4228d4718, 0xc4208f1700, 0x28, 0x5d08c6)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:94 +0x3d
internal/poll.(*FD).WaitWrite(0xc4228d4700, 0xfc6e38, 0x10c51e0)
	/usr/local/go/src/internal/poll/fd_unix.go:440 +0x37
net.(*netFD).connect(0xc4228d4700, 0x10c51e0, 0xc4270a7320, 0x0, 0x0, 0x10baea0, 0xc42b126fc0, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/fd_unix.go:152 +0x299
net.(*netFD).dial(0xc4228d4700, 0x10c51e0, 0xc4270a7320, 0x10c85a0, 0x0, 0x10c85a0, 0xc424635320, 0xc4208f1938, 0x5eda9e)
	/usr/local/go/src/net/sock_posix.go:142 +0xe9
net.socket(0x10c51e0, 0xc4270a7320, 0xf3506e, 0x3, 0x2, 0x1, 0x0, 0x0, 0x10c85a0, 0x0, ...)
	/usr/local/go/src/net/sock_posix.go:93 +0x1a6
net.internetSocket(0x10c51e0, 0xc4270a7320, 0xf3506e, 0x3, 0x10c85a0, 0x0, 0x10c85a0, 0xc424635320, 0x1, 0x0, ...)
	/usr/local/go/src/net/ipsock_posix.go:141 +0x129
net.doDialTCP(0x10c51e0, 0xc4270a7320, 0xf3506e, 0x3, 0x0, 0xc424635320, 0x1b48548, 0x0, 0x0)
	/usr/local/go/src/net/tcpsock_posix.go:62 +0xb9
net.dialTCP(0x10c51e0, 0xc4270a7320, 0xf3506e, 0x3, 0x0, 0xc424635320, 0x887d14dd2f, 0x1b1ff60, 0x37e11a236)
	/usr/local/go/src/net/tcpsock_posix.go:58 +0xe4
net.dialSingle(0x10c51e0, 0xc4270a7320, 0xc4228d4680, 0x10be4e0, 0xc424635320, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:547 +0x375
net.dialSerial(0x10c51e0, 0xc4270a7320, 0xc4228d4680, 0xc4202164a0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:515 +0x22d
net.(*Dialer).DialContext(0xc420142960, 0x10c51a0, 0xc420036038, 0xf3506e, 0x3, 0xc42b126fa0, 0x13, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/dial.go:397 +0x678
net.(*Dialer).Dial(0xc420142960, 0xf3506e, 0x3, 0xc42b126fa0, 0x13, 0x7f3d9fa6a380, 0xc426541500, 0x10b9440, 0xc42a7a04b0)
	/usr/local/go/src/net/dial.go:320 +0x75
github.com/ethereum/go-ethereum/p2p.TCPDialer.Dial(0xc420142960, 0xc42575e640, 0xc420227760, 0x979152, 0xc420246770, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:65 +0xa9
github.com/ethereum/go-ethereum/p2p.(*dialTask).dial(0xc4246352f0, 0xc420386780, 0xc42575e640, 0x0, 0x76)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:349 +0x48
github.com/ethereum/go-ethereum/p2p.(*dialTask).Do(0xc4246352f0, 0xc420386780)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:297 +0x58
github.com/ethereum/go-ethereum/p2p.(*Server).run.func2.1(0x10b9b00, 0xc4246352f0, 0xc420386780, 0xc420142ea0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x3b
created by github.com/ethereum/go-ethereum/p2p.(*Server).run.func2
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x19a

goroutine 4855 [select]:
net.(*netFD).connect.func2(0x10c51e0, 0xc4271d46c0, 0xc427790180, 0xc4201d8900, 0xc4201d88a0)
	/usr/local/go/src/net/fd_unix.go:129 +0xde
created by net.(*netFD).connect
	/usr/local/go/src/net/fd_unix.go:128 +0x286

goroutine 4920 [select]:
net.(*netFD).connect.func2(0x10c51e0, 0xc4270a7320, 0xc4228d4700, 0xc420097aa0, 0xc420097a40)
	/usr/local/go/src/net/fd_unix.go:129 +0xde
created by net.(*netFD).connect
	/usr/local/go/src/net/fd_unix.go:128 +0x286

goroutine 4990 [select]:
net.(*netFD).connect.func2(0x10c51e0, 0xc420929680, 0xc423fed100, 0xc4248cc240, 0xc4248cc1e0)
	/usr/local/go/src/net/fd_unix.go:129 +0xde
created by net.(*netFD).connect
	/usr/local/go/src/net/fd_unix.go:128 +0x286

goroutine 4854 [IO wait]:
internal/poll.runtime_pollWait(0x7f3d9fa69200, 0x77, 0xc42093b980)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc427790198, 0x77, 0xc422e34700, 0xc422e34718, 0x448c94)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitWrite(0xc427790198, 0xc422e34700, 0x28, 0x5d08c6)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:94 +0x3d
internal/poll.(*FD).WaitWrite(0xc427790180, 0xfc6e38, 0x10c51e0)
	/usr/local/go/src/internal/poll/fd_unix.go:440 +0x37
net.(*netFD).connect(0xc427790180, 0x10c51e0, 0xc4271d46c0, 0x0, 0x0, 0x10baea0, 0xc43a0ce020, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/fd_unix.go:152 +0x299
net.(*netFD).dial(0xc427790180, 0x10c51e0, 0xc4271d46c0, 0x10c85a0, 0x0, 0x10c85a0, 0xc42095e2d0, 0xc422e34938, 0x5eda9e)
	/usr/local/go/src/net/sock_posix.go:142 +0xe9
net.socket(0x10c51e0, 0xc4271d46c0, 0xf3506e, 0x3, 0x2, 0x1, 0x0, 0x0, 0x10c85a0, 0x0, ...)
	/usr/local/go/src/net/sock_posix.go:93 +0x1a6
net.internetSocket(0x10c51e0, 0xc4271d46c0, 0xf3506e, 0x3, 0x10c85a0, 0x0, 0x10c85a0, 0xc42095e2d0, 0x1, 0x0, ...)
	/usr/local/go/src/net/ipsock_posix.go:141 +0x129
net.doDialTCP(0x10c51e0, 0xc4271d46c0, 0xf3506e, 0x3, 0x0, 0xc42095e2d0, 0x1b48548, 0x0, 0x0)
	/usr/local/go/src/net/tcpsock_posix.go:62 +0xb9
net.dialTCP(0x10c51e0, 0xc4271d46c0, 0xf3506e, 0x3, 0x0, 0xc42095e2d0, 0x85d8db3cb0, 0x1b1ff60, 0x37e11bcdc)
	/usr/local/go/src/net/tcpsock_posix.go:58 +0xe4
net.dialSingle(0x10c51e0, 0xc4271d46c0, 0xc427790000, 0x10be4e0, 0xc42095e2d0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:547 +0x375
net.dialSerial(0x10c51e0, 0xc4271d46c0, 0xc427790000, 0xc4203643c0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:515 +0x22d
net.(*Dialer).DialContext(0xc420142960, 0x10c51a0, 0xc420036038, 0xf3506e, 0x3, 0xc43a0ce000, 0x12, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/dial.go:397 +0x678
net.(*Dialer).Dial(0xc420142960, 0xf3506e, 0x3, 0xc43a0ce000, 0x12, 0x0, 0x7f3d9fb39458, 0x0, 0x4188cc)
	/usr/local/go/src/net/dial.go:320 +0x75
github.com/ethereum/go-ethereum/p2p.TCPDialer.Dial(0xc420142960, 0xc42575f7c0, 0x988f8b, 0xc4271d56e0, 0xd67d80, 0xc4228d4800)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:65 +0xa9
github.com/ethereum/go-ethereum/p2p.(*dialTask).dial(0xc42095e270, 0xc420386780, 0xc42575f7c0, 0x45ddbb, 0xc4201fadc8)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:349 +0x48
github.com/ethereum/go-ethereum/p2p.(*dialTask).Do(0xc42095e270, 0xc420386780)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:297 +0x58
github.com/ethereum/go-ethereum/p2p.(*Server).run.func2.1(0x10b9b00, 0xc42095e270, 0xc420386780, 0xc420142ea0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x3b
created by github.com/ethereum/go-ethereum/p2p.(*Server).run.func2
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x19a

goroutine 4991 [IO wait]:
internal/poll.runtime_pollWait(0x7f3d5f53ccf0, 0x77, 0xc424adb680)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc423fed218, 0x77, 0xc422e33700, 0xc422e33718, 0x448c94)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitWrite(0xc423fed218, 0xc422e33700, 0x28, 0x5d08c6)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:94 +0x3d
internal/poll.(*FD).WaitWrite(0xc423fed200, 0xfc6e38, 0x10c51e0)
	/usr/local/go/src/internal/poll/fd_unix.go:440 +0x37
net.(*netFD).connect(0xc423fed200, 0x10c51e0, 0xc420929920, 0x0, 0x0, 0x10baea0, 0xc4395a6120, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/fd_unix.go:152 +0x299
net.(*netFD).dial(0xc423fed200, 0x10c51e0, 0xc420929920, 0x10c85a0, 0x0, 0x10c85a0, 0xc42095ec60, 0xc422e33938, 0x5eda9e)
	/usr/local/go/src/net/sock_posix.go:142 +0xe9
net.socket(0x10c51e0, 0xc420929920, 0xf3506e, 0x3, 0x2, 0x1, 0x0, 0x0, 0x10c85a0, 0x0, ...)
	/usr/local/go/src/net/sock_posix.go:93 +0x1a6
net.internetSocket(0x10c51e0, 0xc420929920, 0xf3506e, 0x3, 0x10c85a0, 0x0, 0x10c85a0, 0xc42095ec60, 0x1, 0x0, ...)
	/usr/local/go/src/net/ipsock_posix.go:141 +0x129
net.doDialTCP(0x10c51e0, 0xc420929920, 0xf3506e, 0x3, 0x0, 0xc42095ec60, 0x1b48548, 0x0, 0x0)
	/usr/local/go/src/net/tcpsock_posix.go:62 +0xb9
net.dialTCP(0x10c51e0, 0xc420929920, 0xf3506e, 0x3, 0x0, 0xc42095ec60, 0x887e49245d, 0x1b1ff60, 0x37e119983)
	/usr/local/go/src/net/tcpsock_posix.go:58 +0xe4
net.dialSingle(0x10c51e0, 0xc420929920, 0xc423fed180, 0x10be4e0, 0xc42095ec60, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:547 +0x375
net.dialSerial(0x10c51e0, 0xc420929920, 0xc423fed180, 0xc420200320, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:515 +0x22d
net.(*Dialer).DialContext(0xc420142960, 0x10c51a0, 0xc420036038, 0xf3506e, 0x3, 0xc4395a6100, 0x15, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/dial.go:397 +0x678
net.(*Dialer).Dial(0xc420142960, 0xf3506e, 0x3, 0xc4395a6100, 0x15, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:320 +0x75
github.com/ethereum/go-ethereum/p2p.TCPDialer.Dial(0xc420142960, 0xc42575e8c0, 0xc4200717c0, 0x97ab66, 0xc424d06900, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:65 +0xa9
github.com/ethereum/go-ethereum/p2p.(*dialTask).dial(0xc42095ec30, 0xc420386780, 0xc42575e8c0, 0xc42024a5b0, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:349 +0x48
github.com/ethereum/go-ethereum/p2p.(*dialTask).Do(0xc42095ec30, 0xc420386780)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:297 +0x58
github.com/ethereum/go-ethereum/p2p.(*Server).run.func2.1(0x10b9b00, 0xc42095ec30, 0xc420386780, 0xc420142ea0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x3b
created by github.com/ethereum/go-ethereum/p2p.(*Server).run.func2
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x19a

goroutine 4917 [IO wait]:
internal/poll.runtime_pollWait(0x7f3d9fa69060, 0x77, 0xc424adbe00)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4228d4618, 0x77, 0xc420916700, 0xc420916718, 0x448c94)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitWrite(0xc4228d4618, 0xc420916700, 0x28, 0x5d08c6)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:94 +0x3d
internal/poll.(*FD).WaitWrite(0xc4228d4600, 0xfc6e38, 0x10c51e0)
	/usr/local/go/src/internal/poll/fd_unix.go:440 +0x37
net.(*netFD).connect(0xc4228d4600, 0x10c51e0, 0xc4270a70e0, 0x0, 0x0, 0x10baea0, 0xc42b126f80, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/fd_unix.go:152 +0x299
net.(*netFD).dial(0xc4228d4600, 0x10c51e0, 0xc4270a70e0, 0x10c85a0, 0x0, 0x10c85a0, 0xc424635290, 0xc420916938, 0x5eda9e)
	/usr/local/go/src/net/sock_posix.go:142 +0xe9
net.socket(0x10c51e0, 0xc4270a70e0, 0xf3506e, 0x3, 0x2, 0x1, 0x0, 0x0, 0x10c85a0, 0x0, ...)
	/usr/local/go/src/net/sock_posix.go:93 +0x1a6
net.internetSocket(0x10c51e0, 0xc4270a70e0, 0xf3506e, 0x3, 0x10c85a0, 0x0, 0x10c85a0, 0xc424635290, 0x1, 0x0, ...)
	/usr/local/go/src/net/ipsock_posix.go:141 +0x129
net.doDialTCP(0x10c51e0, 0xc4270a70e0, 0xf3506e, 0x3, 0x0, 0xc424635290, 0x1b48548, 0x0, 0x0)
	/usr/local/go/src/net/tcpsock_posix.go:62 +0xb9
net.dialTCP(0x10c51e0, 0xc4270a70e0, 0xf3506e, 0x3, 0x0, 0xc424635290, 0x8876edc8be, 0x1b1ff60, 0x37e11a1db)
	/usr/local/go/src/net/tcpsock_posix.go:58 +0xe4
net.dialSingle(0x10c51e0, 0xc4270a70e0, 0xc4228d4580, 0x10be4e0, 0xc424635290, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:547 +0x375
net.dialSerial(0x10c51e0, 0xc4270a70e0, 0xc4228d4580, 0xc420216460, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/dial.go:515 +0x22d
net.(*Dialer).DialContext(0xc420142960, 0x10c51a0, 0xc420036038, 0xf3506e, 0x3, 0xc42b126f60, 0x13, 0x0, 0x0, 0x0, ...)
	/usr/local/go/src/net/dial.go:397 +0x678
net.(*Dialer).Dial(0xc420142960, 0xf3506e, 0x3, 0xc42b126f60, 0x13, 0x1, 0x0, 0x0, 0x100000001)
	/usr/local/go/src/net/dial.go:320 +0x75
github.com/ethereum/go-ethereum/p2p.TCPDialer.Dial(0xc420142960, 0xc42575e500, 0xc424dd3301, 0xc4384e57a8, 0x0, 0x4a)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:65 +0xa9
github.com/ethereum/go-ethereum/p2p.(*dialTask).dial(0xc424635260, 0xc420386780, 0xc42575e500, 0xc4203882a0, 0x0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:349 +0x48
github.com/ethereum/go-ethereum/p2p.(*dialTask).Do(0xc424635260, 0xc420386780)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/dial.go:297 +0x58
github.com/ethereum/go-ethereum/p2p.(*Server).run.func2.1(0x10b9b00, 0xc424635260, 0xc420386780, 0xc420142ea0)
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x3b
created by github.com/ethereum/go-ethereum/p2p.(*Server).run.func2
	/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/p2p/server.go:570 +0x19a

goroutine 4992 [select]:
net.(*netFD).connect.func2(0x10c51e0, 0xc420929920, 0xc423fed200, 0xc4248cc360, 0xc4248cc300)
	/usr/local/go/src/net/fd_unix.go:129 +0xde
created by net.(*netFD).connect
	/usr/local/go/src/net/fd_unix.go:128 +0x286```

Helm StatefulSet should be scalable

Right now, the individual geth nodes will not talk to each other (empty admin.peers) when StatefulSet is scaled.

The Helm release should also deploy a bootnode and the geth nodes should be configured to use the bootnode for node discovery.

Command line arguments in docker entrypoint

Currently, the entrypoint script (docker/fiat-lux.sh) only takes one argument -- the positional argument specifying the number of accounts to create.

Ideally, it should allow various configuration options from the command line in excess of this. For example:

  1. Which APIs geth should expose over HTTP

  2. How much balance the accounts start with

Perhaps the best way to achieve this is to add a simple command line argument parser to the entrypoint script.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.