Open GitGab19 opened 1 month ago
Would sync from a trusted utxo set help? Can be signed by projects contributors https://docs.btcpayserver.org/Docker/fastsync/
Would sync from a trusted utxo set help? Can be signed by projects contributors https://docs.btcpayserver.org/Docker/fastsync/
Totally, I was trying to do the same thing more or less. For me it's fine to use those snapshots 👍 Do you know how frequently are they updated?
Slightly related to this, I think we should ensure the containers start time is correctly managed.
@Shourya742 did some progress on this on PR #26, but during some tests I noticed that if the nodes are not syncing fast enough, the tool fail to run the containers, with errors similar to this one: dependency failed to start: container sv1-node-pool-side is unhealthy
. I think this happens because of the timeout in the healthcheck here: https://github.com/stratum-mining/benchmarking-tool/blob/253b747264558dfe8ed3aa6b500e75b8fc83c1e0/docker-compose-config-a.yaml#L86-L91
A suboptimal way to improve this can be adding these lines in the run-benchmarking-tool script:
# Check for Docker errors and stop containers if an error occurs
if [ $? -ne 0 ]; then
echo "❌ Docker encountered an error. Stopping all running containers..."
docker compose -f "docker-compose-config-${CONFIG_LOWER}.yaml" down
echo ""
echo "❌ Containers stopped due to an error. Please check your configuration and try again."
echo ""
echo "💬 If you continue to experience issues using the tool, feel free to reach out for support at: https://discord.com/channels/950687892169195530/1107964065936060467"
echo ""
exit 1
fi
But I don't like this approach, so I think that something better needs to be done
cc @Shourya742
We are creating and syncing 3 different Bitcoin nodes for our system. If this is not a problem when running testnet4, it become a nightmare when testing on mainnet.
We should find a way to better manage this. I initially thought about using this: https://prunednode.today/ But it seems not updated anymore, so I started syncing a pruned node which can be used to bootstrap our system, so to avoid waiting days and consuming a lot of storage, in a very similar way.