decred / dcrlnd

Decred Lightning Network Daemon ⚡️
MIT License
36 stars 24 forks source link

lntest: Use faster simnet block generator #31

Closed matheusd closed 5 years ago

matheusd commented 5 years ago

This switches the lntest Harness structure to use an adjusted simnet miner so that block generation for integration tests are done without triggering difficulty increases.

The main purpose for this change is to maintain the lowest possible mining difficulty on simnet, so that the full integration test suite can be run without having to perform expensive cpu mining at the full network difficulty. This is specially important in CI environments that might have reduced cpu power available or might suffer throttling and it makes the test suite complete faster.

It accomplishes this by using a newly introduced feature on dcrd's rpctest.VotingWallet to specify a custom mining function written to adjust the timestamp of blocks on simnet so that they are exactly (at least) one second apart which causes the median time of the blockchain to be equal to its target block time and thus do not trigger difficulty increases.

In order to use this new function, the dependencies were bumped so that the latest master version of dcrd is used where appropriate.