A module is a unit of deployment within a waSCC host runtime, also called an actor. This unit of deployment corresponds 1:1 to a wasm file (though it need not exist as a traditional file on disk). This file must contain an embedded module token (JWT) in order to participate as an actor or capability provider in a waSCC host runtime.

Each module token has a subject which is the public key of the module. This should be used as the single source of truth for unique module identity within a waSCC ecosystem. Module tokens can be re-signed by accounts many times without changing the public key of the module. The only thing that can change the public key of a module is if the private identity key needed to change.

The issuer of a module token is the account’s public key.

To see module signing in action, take a look at the first actor tutorial.