-
Notifications
You must be signed in to change notification settings - Fork 20.6k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
cmd/puppeth: integrate blockscout #18261
Conversation
fdd0b10
to
adeb320
Compare
That's pretty cool |
It works pretty well and it has a very good interface. Good job! |
@rjl493456442 I want to build my own docker but facing this error. Do you have any idea? Thank you!
|
@hadv It is an upstream issue. I've already opened an issue here blockscout/blockscout#1478 |
yeah, great! Except I cannot run the data node with |
I don't know if there is any difference in whether the network is PoA or PoW. In my case, my implementation has been carried out in a network configured as PoW for a demo, and the truth is that I have not had any problems. |
I'm running a private PoA network with some divert then I need to build my own blockscout docker image and I have to remove compile's |
I didn't have any compilation problems when I added it just two days ago and I also compiled it from source, so it's strange that you're having it. Could you please provide the explorer container log by |
I cannot build the docker image with warning as error option |
@rocammo can you try to run with contract metadata and validator? I enable them but the explorer shutdown out of the blue 😢
|
Btw there is a known issue in the current PR found by @mirooy and @Kimjingoo that now the geth node version in blockscout image is different with the Have to wait the upstream to fix the build issue and then rebuild the |
is this the error?
|
This is exactly the problem I have and they provide a work around for it |
the docker container shutdown suddenly if connect to local rpc/ws endpoint. If I connect to other endpoint it's okay. Seems problem due to running every things on the same docker container |
cmd/puppeth/module_explorer.go
Outdated
echo '(cd ../etherchain-light && npm start &)' >> explorer.sh && \ | ||
echo 'exec /parity/parity --chain=/chain.json --port={{.NodePort}} --tracing=on --fat-db=on --pruning=archive' >> explorer.sh | ||
echo 'geth --cache 512 init /genesis.json' > explorer.sh && \ | ||
echo $'exec geth --networkid {{.NetworkID}} --syncmode "full" --port {{.NodePort}} --bootnodes {{.Bootnodes}} --ethstats \'{{.Ethstats}}\' --cache=512 --rpc --rpccorsdomain "*" --rpcvhosts "*" --ws --wsorigins "*" &' >> explorer.sh && \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should enable debug
rpc api to reading smart contract & internal transaction
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I added it in my local and haven't pushed it. Thanks for catching!
cmd/puppeth/module_explorer.go
Outdated
echo '(cd ../etherchain-light && npm start &)' >> explorer.sh && \ | ||
echo 'exec /parity/parity --chain=/chain.json --port={{.NodePort}} --tracing=on --fat-db=on --pruning=archive' >> explorer.sh | ||
echo 'geth --cache 512 init /genesis.json' > explorer.sh && \ | ||
echo $'exec geth --networkid {{.NetworkID}} --syncmode "full" --port {{.NodePort}} --bootnodes {{.Bootnodes}} --ethstats \'{{.Ethstats}}\' --cache=512 --rpc --rpccorsdomain "*" --rpcvhosts "*" --ws --wsorigins "*" &' >> explorer.sh && \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer to allow user to specify which geth node they want to connect to other than always using localhost
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My original idea is: this embedded geth node is only available for blockscout. Probably if a user wants to connect to a geth node, then they can deploy a new node somehow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it's a good idea. by the way, when I running embedded geth node the docker container suddenly shutdown. I might be wrong somewhere but still dont know the reason but when connect to outside node, it worked properly without any problem.
cmd/puppeth/wizard_explorer.go
Outdated
infos.dbdir = w.readString() | ||
} else { | ||
fmt.Printf("Where should postgres data be stored on the remote machine? (default = %s)\n", infos.dbdir) | ||
infos.dbdir = w.readDefaultString(infos.datadir) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo seems
infos.dbdir = w.readDefaultString(infos.datadir) | |
infos.dbdir = w.readDefaultString(infos.dbdir) |
adeb320
to
575bdeb
Compare
575bdeb
to
cf226af
Compare
Now the upstream project is much stabler. Appreciate for the support from @ayrat555 and I think this PR is review ready :)) |
cf226af
to
34fd1c8
Compare
34fd1c8
to
54e3937
Compare
How to run blockscout after this integration? |
This PR integrate an open-source blockchain explorer
blockscout
into the puppeth.Now puppeth can provide explorer service for PoA based chain and PoW based chain