The Taubyte WebAssembly Virtual Machine (TVM) serves as a crucial component in the execution layer of any Taubyte-based Cloud Computing Network. In addition, it is commonly utilized in testing scenarios, particularly when building plugins, or as we like to call them, satellites. For more details, check out Orbit.
You can easily install TVM by using the following command:
go get github.com/taubyte/vm
TVM is composed of several components:
backend/
: Houses backends that implement thevm.Backend
interface. For more information, refer to interfaces.context/
: Implements thevm.Context
interface, which defines the execution context of a WebAssembly module.resolvers/
: Contains resolvers that implement thevm.Resolver
. The resolver is utilized to translate a module name into a multiaddress.loader/
: Implements thevm.Loader
interface, which combines the resolver and various backends. Once a module name is resolved within a given context, the loader will loop over available backends until the module is found.service/
: Implements a WebAssembly service capable of provisioning runtimes. It adheres to thevm.Service
specification.
To extend the capabilities of the Taubyte VM, you can use Orbit. If you require more direct access to the Taubyte node (odo), you can derive inspiration from the Core Plugins.
This project is licensed under the BSD 3-Clause License. For more details, please refer to the LICENSE file.
Join our Discord community if you need assistance or want to engage with us!