-
Notifications
You must be signed in to change notification settings - Fork 739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PVF host: Specialize on Linux, support macOS #881
PVF host: Specialize on Linux, support macOS #881
Comments
Due to #882 becoming high-priority for parathreads, we are now forced to specialize on Linux. But we will still support MacOS with e.g. an |
Due to #4718 becoming high-priority for parathreads, we are now forced to provide a secure validator mode only for Linux x86-64 (to start). We will still support MacOS with an `--insecure-validator-i-know-what-i-do` flag. (Naming follows [`interpreted-i-know-what-i-do`](https://github.com/paritytech/substrate/blob//client/cli/src/arg_enums.rs#L58).) See https://github.com/paritytech/polkadot/issues/4718#issuecomment-1484137059 Closes https://github.com/paritytech/polkadot/issues/4720
Now that we use Linux landlock (paritytech/polkadot#7303) we've taken the first step down this path. |
For us at Subspace Windows support is essential for user adoption (tens to hundreds of thousands of consensus nodes), we use Substrate as a library, including in GUI desktop apps and run software on Windows in addition to macOS and Linux. It compiles with MSVC and works just fine (modulo rare minor issues from time to time that we report back and that are getting fixed fairly quickly). So while it is not really officially supported (that was mentioned multiple times), it is important for us that it remains available and working, we also run it in CI all the time and BTW would be great if polkadot-sdk also had Windows in CI just to make sure things at least compile. |
@nazar-pc Thanks for raising the concern. This issue is just about validator nodes, which are (and have been for a long time) Unix-only. They already are not expected to compile on Windows.
If substrate is expected to support Windows then that could be worth doing just for substrate. Can you please raise a separate issue, if there isn't one? |
Will not be done. We are open to merge fixes for Windows, but we will not have any CI job. |
(This is not an actionable issue, just a platform for discussion and linking from other issues)
To my knowledge, we do not support Windows explicitly. Maybe mingw may work, but MSVC almost surely won't work. That's fine since Windows has WSL for those who need to run Polkadot there.
There is quite a bunch of people who are using macOS for development either of Polkadot or parachains. While running Polkadot is possible inside a docker container, it comes with many inconveniences:
polkadot-launch
does not support docker,So therefore we probably want to keep supporting polkadot directly on macOS.
However, PVF host or other parts of wasm execution may want to use special features of Linux for performance, security or other reasons. To name a few:
rlimit
(and the last time I looked I wanted to use cgroups, Linux only feature). And again if there are required facilities, we would have to reimplement everything for macOS again.Thus, it may make sense to specialize our implementation efforts on Linux for production deployments. We can implement good enough fallbacks that would allow deploying simple localnets, but running validators on macOS will be discouraged.
The text was updated successfully, but these errors were encountered: