ScaleChain / scalechain

A customizable blockchain for altcoins.
236 stars 65 forks source link

Implement Python-based End-to-End Testing for Wallet Functionality #146

Open Kangmo opened 6 months ago

Kangmo commented 6 months ago

What: Developing end-to-end tests for ScaleChain entails initiating nodes, executing RPCs, transmitting messages through P2P channels, invoking CLIs, and terminating nodes.

Why: The implementation of end-to-end tests is indispensable for maintaining the integrity of the source code, ensuring its reliability, and automating the validation process.

How: Establishing an end-to-end test framework in Python is the first step. This involves incorporating absent RPC commands and P2P messages into ScaleChain. Additionally, crafting a Python-based wallet end-to-end test case is imperative for comprehensive testing coverage.

Kangmo commented 6 months ago

TODO items for the issue:

TODO 1. Integrate regtest mode with updated coin address magic value and enhanced block mining, incorporating support for hidden RPC commands like setmocktime.

TODO 2. Develop essential commands for node management including (1) generatetoaddress, (2) getblockchaininfo, and (3) stop.

TODO 3. Extend functionality by adding wallet test commands such as (1) createwallet, (2) importprivkey, (3) importpubkey, and (4) generateblock.