ethereum / go-ethereum

Go implementation of the Ethereum protocol
https://geth.ethereum.org
GNU Lesser General Public License v3.0
46.67k stars 19.65k forks source link

private network from 1.14 #30015

Open garyng2000 opened 2 weeks ago

garyng2000 commented 2 weeks ago

given that 1.14 has removed everything except POS, I followed the recommended below

https://geth.ethereum.org/docs/fundamentals/kurtosis

to start new private network. And notice two issues so far:

the command to start from the page seems to be wrong(extra `)

kurtosis run github.com/kurtosis-tech/ethereum-package --args-file ./network_params.yaml` --image-download always

after removing it, it starts but failed as followed(package issue?), so what is the proper way to running a private network ?

root@hqprdubada:/mnt/data3/ethereum# kurtosis run github.com/kurtosis-tech/ethereum-package --args-file ./private3151908.yaml --image-download always

INFO[2024-06-17T11:25:38-07:00] Creating a new enclave for Starlark to run inside... INFO[2024-06-17T11:25:40-07:00] Enclave 'timid-shore' created successfully There was an error interpreting Starlark code Error occurred while validating /kurtosis-data/repositories/kurtosis-tech/ethereum-package/kurtosis.yml Caused by: The package name in kurtosis.yml must match the location it is in. Package name is 'github.com/ethpandaops/ethereum-package' and kurtosis.yml is found here: 'github.com/kurtosis-tech/ethereum-package' INFO[2024-06-17T11:25:41-07:00] ==================================================== INFO[2024-06-17T11:25:41-07:00] || Created enclave: timid-shore || INFO[2024-06-17T11:25:41-07:00] ==================================================== Name: timid-shore UUID: b082f559d2cc Status: RUNNING Creation Time: Mon, 17 Jun 2024 11:25:38 PDT Flags:

========================================= Files Artifacts ========================================= UUID Name

========================================== User Services ========================================== UUID Name Ports Status

s1na commented 2 weeks ago

The package was moved just recently. Please use kurtosis run https://github.com/ethpandaops/ethereum-package .... I will update the docs.

garyng2000 commented 2 weeks ago

thanks, that package works. a side question, how do I configure the 'persistent storage' and expose the port ? I noticed that it is using the docker engine but not familiar with how to configure it(only know docker-compose/kube).

s1na commented 2 weeks ago

thanks, that package works. a side question, how do I configure the 'persistent storage' and expose the port ? I noticed that it is using the docker engine but not familiar with how to configure it(only know docker-compose/kube).

The relevant ports are already exposed to your localhost. You can see those when it prints the list of services after bootstrapping the enclave.

As for persistent storage, I see that there is a flag for it in ethereum-package. It's a top-level boolean persistent: true. Please try that, but from the docs it seems like support might be not ideal.

garyng2000 commented 2 weeks ago

while the services are started successfully, the rpc endpint always give me reset by peer error(even with the correct localhost:port), like below

curl -X POST -H "Content-Type: application/json" --data '{"method":"eth_blockNumber","params":[],"id":1,"jsonrpc":"2.0"}' http://127.0.0.1:54589

while if I get into the container via the shell command(which seems to be missing the 'service' command in the doc), and do geth attach inside(both socket or http) and it worked as expected

also the kurtosis service logs also shows nothing even though if I do the raw 'docker logs ' shows me the logs

garyng2000 commented 2 weeks ago

another question is how to control the stability of the port mapping use, as each time I start(after bring down the kurtosis enclave), I get a set of different external ports

garyng2000 commented 2 weeks ago

I faintly remember on linux, I have to define the host-gateway(in docker-compose), would this be the reason

extra_hosts:

s1na commented 1 week ago

another question is how to control the stability of the port mapping use, as each time I start(after bring down the kurtosis enclave), I get a set of different external ports

It seems like this feature is WIP. https://github.com/ethpandaops/ethereum-package/pull/677