Open matklad opened 3 years ago
cc @olonho @ailisp
@matklad does the contract runtime team want to work on this issue or do you want someone else to work on it?
we haven't reach consensus on it at last meeting, @olonho @matklad let's make a conclusion on this today
Discussed in today's meeting. Summary:
Specific proposal:
wasmer1_vm
and wasmtime_vm
from the set of default features in Cargo.tomlThis issue has been automatically marked as stale because it has not had recent activity in the last 2 months. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.
This issue has been automatically marked as stale because it has not had recent activity in the last 2 months. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.
This issue has been automatically marked as stale because it has not had recent activity in the last 2 months. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.
cc @akhi3030
At the moment, we enable all three vms using default features in near-vm-runner:
https://github.com/near/nearcore/blob/07b4fd45f90570d9c4f306f724cf84499cc519c7/runtime/near-vm-runner/Cargo.toml#L48
The problem with
default
features is that they are impossible to disable. Our current setup is more or less equivalent to just always using all three vm. Indeed, if you remove this default feature, you'll notice thatnear-vm-runner
doesn't even compile, as it misses some importantcfg
s.At the same time, wasm runtimes are very heavy dependencies (take long time to compile, and often use global resources like
#<span class="error">[no_mangle]</span>
functions or signal handlers), so using conditional compilation here makes sense.I think to fix this we need:
cargo test --workspace --features nightly_protocol,nightly_protocol_features,protocol_feature_evm,wasmer0_vm,wasmer1_vm,wasmtime_vm
default = <span class="error">["wasmer0_vm"]</span>
only