BitgesellOfficial / BitgesellOfficial/bitgesell
Generate tx_valid.json file with valid transactions data
- Dominant language
- C++
- Stars
- 29
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
### Description
`src/test/data/tx_valid.json` contains data for various transactions that are simulated during the unit test execution.
Because of the different hashing algorithm used (keccak instead of double sha256) in BGL, this file has to be regenerated
for tests section to pass.
The test section is commented out and located in `src/test/transaction_tests.cpp`
### Solution direction
The only differences should be only hashing algorithm used for txs (keccak) and that transactions are required to be segwit ('new' type).
- Uncomment test section in transaction_tests.cpp;
- Build and run unit test executable and see the section failing;
- Create a simple transaction data that will pass the test (there are keccak3 utils/online tools, etc.)
- Fix transaction data that can be fixed, include new testing data if removed some to keep test robust enough;
### Acceptance criteria
- transaction_tests.cpp is running BOOST_AUTO_TEST_CASE(tx_valid) properly;
- there are numerous test cases defined in the json file (maybe fewer than in original one, but not by order of magnitude);
Contributor guide
Research direction
Start by uncommenting the transaction test section in src/test/transaction_tests.cpp, then build and run the unit test executable to see the failures. Review src/test/data/tx_valid.json and regenerate or add numerous valid SegWit transaction entries using the keccak hashing behavior. Done means BOOST_AUTO_TEST_CASE(tx_valid) runs successfully with a substantial set of transaction cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- blockchain, cryptography, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100