Concordium / concordium-node

The main concordium node implementation.
GNU Affero General Public License v3.0
45 stars 21 forks source link

Integrate new execution engine into the node. #1135

Closed abizjak closed 2 months ago

abizjak commented 3 months ago

Purpose

Integrate new execution engine into the node.

This does not change the protocol semantics yet, it simply integrates the new execution engine to execute existing contracts faster. There will be a followup PR which lowers the transaction costs at migration to P7.

The main change in this PR is handling of the new "artifacts". Since the artifacts are quite different, to avoid maintenance overhead, and to benefit from faster execution, the Wasm execution library only supports the new notion of artifacts. To deal with migration of existing artifacts for existing node runners the approach taken here is to recompile upon load of the artifact.

Since artifacts are cached and compiling to an artifact is mostly on the range of 5ms, with some being larger, this should be acceptable for existing node runners until P7 is in effect.

Depends on

Checklist