-
Notifications
You must be signed in to change notification settings - Fork 859
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Without the --net host option, Docker Besu cannot find peers #5672
Comments
update issue but in mac(m1), must need to build a virtual environment to run the docker cli.
// the other are free license
in boot_node > admin.peers
{
firstEnode: {
localhost: [virtual ip]:30303,
remotehost: [virtual ip]:{random port},
},
secondEnode:{
localhost: [virtual ip]:30303,
remotehost: [virtual ip]:{random port},
}
} so each peers(ex: first and second p2p connection) cannot connect.
|
Thanks for the update - Docker on Mac has some limitations with Localhost, recommend testing/dev with --net. Definitely also recommend updating to the latest version and trying as well. 23.4.4 |
Thanks for the reply. |
We have tweaked nonce behaviors a lot to prevent Denial of Service attacks on Mainnet. Newer versions of Besu should have fixes for this and we even have a new transaction pool type that can handle "future nonce" transactions. This flag has more details: https://besu.hyperledger.org/stable/public-networks/reference/cli/options#tx-pool-limit-by-account-percentage |
I try that(ex tx-pool-limit-by-account-percentage=0.9) |
Have you tried setting the limit to 1 (to allow all future nonce transactions)?
If you are in a private network with known senders, this should stop the nonce gap error you're seeing. If this doesn't work. @fab-10 might have some insight on how to avoid this nonce issue. |
@hardice501 which is your block time and block gas limit? since your TPS is quite high, you need some more tuning:
Let me know if these options solve the nonce issue, otherwise we can debug further. |
What's mean of TPSblock-time2 ?? my besu options is below. besu --node-private-key-file=/Users/songsanghyeon/work/Constructor-Besu-IBFT/Node-1/key --rpc-http-port=8545 --rpc-ws-port=8546 --p2p-port=30303 --genesis-file=/Users/songsanghyeon/work/Constructor-Besu-IBFT/genesis.json --data-path=/Users/songsanghyeon/work/Constructor-Besu-IBFT/Node-1/database --rpc-http-max-active-connections=1000 --rpc-http-enabled --rpc-http-apis=ETH,NET,QBFT,ADMIN,PRIV,EEA,MINER,WEB3,TXPOOL,DEBUG,TRACE --rpc-http-cors-origins=all --rpc-ws-enabled --rpc-ws-host=0.0.0.0 --rpc-ws-apis=ETH,NET,QBFT,ADMIN,PRIV,EEA,MINER,WEB3,TXPOOL,DEBUG --min-gas-price=0 --rpc-ws-max-frame-size=104857600 --Xlayered-tx-pool-layer-max-capacity=50000000000 --Xlayered-tx-pool-max-prioritized=160000 --Xlayered-tx-pool-max-future-by-sender=160000 --host-allowlist="*" caliper options and genesis options: simpleArgs: &simple-args test: java heap size : also I already try to default txpool option. besu --node-private-key-file=/Users/songsanghyeon/work/Constructor-Besu-IBFT/Node-1/key --rpc-http-port=8545 --rpc-ws-port=8546 --p2p-port=30303 --genesis-file=/Users/songsanghyeon/work/Constructor-Besu-IBFT/genesis.json --data-path=/Users/songsanghyeon/work/Constructor-Besu-IBFT/Node-1/database --rpc-http-max-active-connections=1000 --rpc-http-enabled --rpc-http-apis=ETH,NET,QBFT,ADMIN,PRIV,EEA,MINER,WEB3,TXPOOL,DEBUG,TRACE --rpc-http-cors-origins=all --rpc-ws-enabled --rpc-ws-host=0.0.0.0 --rpc-ws-apis=ETH,NET,QBFT,ADMIN,PRIV,EEA,MINER,WEB3,TXPOOL,DEBUG --min-gas-price=0 --rpc-ws-max-frame-size=10485760 --tx-pool-limit-by-account-percentage=1 --tx-pool-max-size=16000 --host-allowlist="*" --graphql-http-enabled=true --revert-reason-enabled=true But, both of options cannot work by nonce error. |
TPSblock-time2 is actually TPS * block-time * 2, markdown interpreted the * in the first command, you are missing the
|
Thank u for comment. But I have same problem in this options.(add --Xlayered-tx-pool=true) and when "Failed tx on simple calling method transfer nonce" error occured(some transaction is pended), How to handling nonce error problem(high TPS) and |
At this point, I think I need to try to reproduce your test locally. |
Description
We are Test Besu 21.10.9 Docker, IBFT2 consensus protocol, on a private network, gas price free with 4 validators.
4 Validators on 1 machine is no problem.
But build docker on each of 4 computers with different ip, bootnode cannot found each peers.
Acceptance Criteria
Steps to Reproduce (Bug)
Expected behavior: [What you expect to happen]
Successfully connected peers
Successfully Ping test
Actual behavior: [What actually happens]
No connection between peers.
Successfully Ping test
Frequency: [What percentage of the time does it occur?]
Always except when adding the --net host option
Ping test always succeeds even without --net host option
Logs (if a bug)
Please post relevant logs from Besu (and the consensus client, if running proof of stake) from before and after the issue.
FullSyncTargetManager | No sync target, waiting for peers: 0
Versions (Add all that apply)
ISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
vmware -v
]Client: Docker Engine - Community
Version: 24.0.2
API version: 1.43
Go version: go1.20.4
Git commit: cb74dfc
Built: Thu May 25 21:51:00 2023
OS/Arch: linux/amd64
Context: default
Additional Information (Add any of the following or anything else that may be relevant)
genesis file:
config option (if not boot_node, include option --bootnodes=${BOOT_NODE_ENODE}):
The text was updated successfully, but these errors were encountered: