@mrcnski Done the change on the prepare worker, once the prepare worker part is good I'll do the same for the execute worker. This is based on https://github.com/koute/polkavm/blob/11beebd06276ce9b84f335350138479e714f6caf/crates/polkavm/src/sandbox/linux.rs#L711. ## TODO - [x] Add a check for this capability at startup - [x] Add prdoc mentioning the new Secure Validator Mode (optional) requirement. ## Related Closes #2162 --------- Co-authored-by: Marcin S <marcin@realemail.net>
PVF Host
This is the PVF host, responsible for responding to requests from Candidate Validation and spawning worker tasks to fulfill those requests.
See also:
- for more information: the Implementer's Guide
- for an explanation of terminology: the Glossary
Running basic tests
Running cargo test in the pvf/ directory will run unit and integration
tests.
Note: some tests run only under Linux, amd64, and/or with the
ci-only-tests feature enabled.
See the general Testing instructions for more information on running tests and observing logs.
Running a test-network with zombienet
Since this crate is consensus-critical, for major changes it is highly recommended to run a test-network. See the "Behavior tests" section of the Testing docs for full instructions.
To run the PVF-specific zombienet test:
RUST_LOG=parachain::pvf=trace zombienet --provider=native spawn zombienet_tests/functional/0001-parachains-pvf.toml
Testing on Linux
Some of the PVF functionality, especially related to security, is Linux-only, and some is amd64-only. If you touch anything security-related, make sure to test on Linux amd64! If you're on a Mac, you can either run a VM or you can hire a VPS and use the open-source tool EternalTerminal to connect to it.1
-
Unlike ssh, ET preserves your session across disconnects, and unlike another popular persistent shell, mosh, it allows scrollback. ↩︎