veriblock-pop-cpp
C++11 Libraries for leveraging VeriBlock Proof-Of-Proof blockchain technology.
|
To show that the pop-enabled altchain most likely works, once could screenshots (with supporting links) of:
Here we describe which POP related tests should be added and should pass to be confident that POP security works fine. All tests can be separated to the following categories:
unit tests
BTC functional tests
POP functional tests
View APM get-operation
First thing is to make sure that all original BTC tests pass and work well. On the Unix sytem you can do it with the following command:
Before starting the POP integration it is recommended to fix tests if some of them do not work properly. Here is the full list of the POP unit tests:
e2e_poptx_tests.cpp
pop_reward_tests.cpp
vbk_merkle_tests.cpp
block_validation_tests.cpp
rpc_service_tests.cpp
genesis_block_tests.cpp
forkresolution_tests.cpp
You can see the corresponding changes in the Makefile: https://github.com/VeriBlock/vbk-ri-btc/blob/026fba4e80bc114c68c636e3c9cfc6af855c9c94/src/Makefile.test.include#L117 These tests are available in the vbk/tests/unit
directory.
Original Bitcoin code has functional tests that reside in the test/functional
directory. bitcoind
should be built prior to running functional tests. VBITCOIND_PATH
environment variable should be set to the path to the bitcoind
daemon:
Tests are started with the following command:
These tests validate that all POP functionality works fine. All important parts of the POP security are covered by these tests. Therefore it is important to make sure that all tests pass before starting Mainnet or even Testnet. VeriBlock Python framework should be installed to make these tests run. Follow the VeriBlock Python testing guide here. Now the following POP test runner can be copied to the source code: https://github.com/VeriBlock/vbk-ri-btc/blob/master/test/integration/test_runner.py A node
which acts as an adaptor for bitcoind
has been implemented. This adaptor able to run
, stop
, restart
bitcoind
and execute RPC functions: https://github.com/VeriBlock/alt-integration-cpp/blob/master/pypoptools/pypoptesting/altchain_node_adaptors/vbitcoind_node.py For debugging purposes it is possible to run a single test from the test set:
The result of successfully passing tests should look like this:
Run getoperation and view an e2e pop transaction.
The latest ABFI build can be downloaded through docker