We have identified the root cause of the BPX Chain outage that occurred last Saturday, taking down all Windows-based Beacon Chain nodes. A fix has been implemented and a patched release 1.0.1 is now available for download. Please install the hotfix on all Windows-based nodes as soon as possible.
đź’ľ Download Beacon Client:
https://github.com/bpx-chain/bpx-beacon-client/releases
The fixed release works for nodes that were restored using the temporary solution of replacing the database file, as well as for nodes that haven’t followed these steps and remain non-operational. Installing the hotfix immediately restores node functionality without the need to replace the database.
The issue was traced to a bug in the external library chiavdf
used by the Beacon Client. The problem occurred in the function verify_n_wesolowski
, responsible for validating Proof of Time. Under specific conditions, which unfortunately occurred in the BPX Beacon Chain block 412027, this function entered an infinite loop, preventing any return value that the rest of the Beacon Client logic was expecting, causing the node to hang. The bug has been fixed in the latest version of the package (commit).
For educational purposes, we are publishing a code snippet that confirms the nature of the bug. The code includes parameters extracted directly from block 412027 of the BPX Beacon Chain. Running it on the latest version of the chiavdf
library returns True
, while with older versions, the program never completes its execution.
Updating the Beacon Client dependency to the latest, bug-free version of chiavdf
ensures that such an issue will not occur again in the future.
Doesn’t work for me .
The Beacon client is synced but the Execution client shows “Syncing”.
INFO [12-20|06:45:53.927] Forkchoice requested sync to new head number=140,044 hash=4071f0..69d834 finalized=unknown
INFO [12-20|06:46:02.606] Looking for peers peercount=0 tried=48 static=0
INFO [12-20|06:46:04.875] Forkchoice requested sync to new head number=140,045 hash=d3e5ab..4630e2 finalized=unknown
After a while, the Execution Client should connect to peers and complete synchronization. If it doesn’t, you can manually connect it to the official bootnode. Use the “Attach” shortcut in the Start menu or run the command
bpx-geth attach
. Then, paste the following command into the Geth console:admin.addPeer("enode://218aa67fa58287049e6856380e910bdf7d5f3aec6e1384ae53d473745a49aecef7e73eff371fe487aa6dab8185f938a1d294fe94c8027537da8d59b8875359b2@45.90.57.29:30303")
This method can be used. According to the manager, if it still doesn’t work, it is recommended to update the node again. In addition, the exchange can also trade.
Alternatively, you can try opening Execution first and wait for it to prompt you to open a BPX Beacon Client before opening it. Alternatively, we can communicate through other means as I already have some experience.
Thanks for the reply, didn’t work for me.
Still the Execution client shows “Syncing”
INFO [12-21|06:34:02.684] Forkchoice requested sync to new head number=142,484 hash=9ddec3..6097f0 finalized=142,432
ERROR[12-21|06:34:03.955] Beacon backfilling failed err=”retrieved hash chain is invalid: missing parent”
INFO [12-21|06:34:05.085] Looking for peers peercount=1 tried=14 static=1
INFO [12-21|06:34:15.107] Looking for peers peercount=2 tried=30 static=1
INFO [12-21|06:34:17.975] Forkchoice requested sync to new head number=142,485 hash=4b9e9f..18c726 finalized=142,432
ERROR[12-21|06:34:20.031] Beacon backfilling failed err=”retrieved hash chain is invalid: missing parent”
When I was ploting, one of my computers had this situation , but I just used it to plot without paying attention to it. I suggest deleting it and synchronizing it again.
@Admin – My last post was an update for your suggestion, which didn’t help.
Any more solution from u?
@zhuhui – 谢谢, I will try your solution when admin cannot help me anymore.
The Execution Client was likely shut down improperly, possibly due to a power outage. In most cases, the client can recover any lost data, but occasionally issues like this may occur.
To resolve this, stop both clients, delete the entire
~/.bpxchain/execution
folder, and then restart the clients.For future reference: Never stop the Execution Client by closing the console window. Instead, use the Control + C shortcut and wait for the client to save all data to disk and shut down gracefully.
@ Admin
Thankyou for the guidance, the problem has been resolved.
Looking forward to a brighter future for Team BPX.
I don’t know if this is the correct article for such a question, but it is the most recent one. I apologise for the confusion.
Is there any information on approximately how many BPX are in circulation and a rough calculation of how many BPX will be in circulation by 2039 after all the halvings and with the mainnet restart included? I have made a rough calculation based on the estimated data such as daily blocks and also the fixed events like block halvings. A message from the team would still be much appreciated.
This would definitely be interesting information for participants and future investors to play around with.
Currently, approximately 182.1 million BPX are in circulation. After all the halvings, the total supply will reach around 371.7 million BPX.
I appreciate your reply