wasm虚拟机相关接口定义实现

本文详细介绍了WebAssembly虚拟机的执行流程,包括加载模块和执行智能合约的接口定义。通过wasm_interface_impl类实现了虚拟机的核心功能,确保了智能合约在虚拟机上的顺利运行。
摘要由CSDN通过智能技术生成

1、执行流程

controller::push_transaction()  // 事务

  -> transaction_context::exec()  // 事务

    -> transaction_context::dispatch_action() // 通过便利transaction中的各个action来分发执行

      -> apply_context::exec() // action

        -> apply_context::exec_one() // action 执行具体的智能合约

          -> controller::get_wasm_interface()->apply() // 进入虚拟机开始执行对应智能合约

            -> wasm_interface_impl::get_instantiated_module()->apply() // 加载智能合约并执行

              -> wavm_instantiated_module::apply() // 具体模块开始接收调用

                -> wavm_instantiated_module::call() // 开始执行具体函数

                  -> Runtime::invokeFunction() // 进入到wasm运行时库开始执行具体函数

2、接口定义

wasm_interface_impl wasm虚拟机实现类

2.1 加载模块实现

std::unique_ptr<wasm_instantiated_module_interface> &get_instantiated_module(const digest_type &code_id,const shared_string &code,transaction_co
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值