1.Background
PBSS and PebbleDB was supported since v1.3.1-beta and promoted it since v1.3.5 on BSC. Since then, lots of nodes have been upgraded to PBSS + PebbleDB mode, so far everything is good.
As we have announced before, we will mainly support PBSS + PebbleDB mode, the support for Hash or LevelDB will be limited after the end of Mar 2024.
PBSS + PebbleDB is a big change, it brings many benefits to BSC. This post tries to give brief introduction and answer some common questions on how to migrate your node to PBSS + PebbleDB.
1.1.About PBSS
PBSS stands for Path-Based-Storage-Scheme, which was already enabled since BSC v1.3.1-beta. It is used to optimize the MPT trie tree access, to improve its efficiency and also brings the inline state prune. There is a brief introduction on v1.3.1-beta release page
1.2.About PebbleDB
Currently, BSC uses LevelDB as its default underlying database, but the project is no longer maintained, there are many opens issues and the latest commit is more than 1 years ago. So BSC would switch to PebbleDB in long term, same as what Go-Ethereum has done.
2.FAQs
Q1:What Is The Current Status?
PBSS & PebbleDB have already been supported on BSC mainnet since v1.3.1-beta, but we officially start to promote it since v1.3.5.
Lots of BSC nodes have already been upgraded to PBSS + PebbleDB mode and have been running for several months. Now we have more confidence on its quality and we think it is time for the whole BSC community to use it.
Q2: Will BSC Stop Supporting Hash Based And LevelDB?
BSC uses PBSS + PebbleDB as the default and primary mode, we will mainly put our resource on supporting PBSS + PebbleDB. And for HashBased, LevelDB mode, it still can work, but the support of stability, performance, compatibility will be limited.
Q3: How To Try PBSS & PebbleDB?
Right now, you may try the latest stable release v1.3.12 for PBSS + PebbleDB mode. As it is already the default mode, you don’t need extra configuration to use PBSS + PebbleDB.
- a.Sync from genesis, it will be PBSS + PebbleDB by default. But it is not recommended, as it could take lots of time to get your node synced.
- b.Sync based snapshot: we have updated the snapshot of PBSS + PebbleDB on bsc-snapshots. Just download it and sync based on it, then your node will be PBSS + PebbleDB mode.
Q4: Can BSC Support Archive Node After PBSS?
PBSS does not support archive mode, for Archive node, you may need to run BSC-Erigon.
3.Conclusion
If you have any other questions, you may simply reply this page or fire an issue on bsc repo.