EWASM&WebAssembly
0xweb3q
rust、blockchain、smarcontract、evm、move、wasmtime
展开
-
EVM Transcompiler
将EVM1字节码反编译成ewasm字节码。EVM字节码作为输入,并返回一个与ewasm兼容的字节码,它可以像普通的ewasm合约一样执行。然而,当执行它时,必须确保主机函数处理状态中的字节码(如codeCopy和externalCodeCopy)必须始终引用未转换的EVM1字节码。反编译器被实现为一个合约或一个在特定地址的预编译合约。...翻译 2022-01-14 11:00:05 · 483 阅读 · 0 评论 -
Ethereum Environment Interface (EEI)——以太坊环境接口
以太坊环境接口将核心以太坊API暴露给ewasm。以太坊模块将以以太坊客户端的本地语言实现。所有参数和返回都被限制为32或64位整数。不允许使用浮点数。(注:返回值被限制为32和64,这是由于WebAssembly限制的)数据类型我们定义了以下以太坊数据类型:- bytes:长度不受限制的字节数组- address:一个160位的数字,在内存中表示为20字节长的小endian无符号整数- u128:一个128位的数字,在内存中表示为16字节长的小endian无符号整数- u25翻译 2021-12-03 16:17:39 · 829 阅读 · 0 评论 -
EWASM Backwards Compatibility——向后兼容性
向后兼容性https://ewasm.readthedocs.io/en/mkdocs/backwards_compatibility/(希望有经验的可以帮忙修改一下,看完一小节才发现,好难啊)当前实现与evm1兼容的方法是支持两个指令集,同时可以将evm1格式代码转换为ewasm。这种方法在处理EVM1代码时给客户提供了可选性。终端既可以只实现一个ewasm vm,也可以转换所有ev...翻译 2019-01-23 14:49:36 · 492 阅读 · 0 评论 -
EWASM Comparison with Other Architectures ——框架对比
与其他架构比较https://ewasm.readthedocs.io/en/mkdocs/comparison/#good_2WASM优点:有限的非决定论(limited well defined non-determinism) 性能良好 可移植 前景广泛 AST字节码使计量与虚拟机分离变得容易缺点:还不稳定LLVM IR优点:久经考验 庞大的社区 ...翻译 2019-01-23 16:21:28 · 384 阅读 · 0 评论 -
EWASM Contract Interface (ECI) ——合约接口
Ewasm合约接口(ECI)https://ewasm.readthedocs.io/en/mkdocs/contract_interface/ECI指定合约模块的结构。 线格式每个合约都必须以Webassembly二进制编码格式存储(简而言之,是WASM字节码)。 导入合约只能导入在以太坊环境接口或EEI中指定的符号。在实践中,这意味着一个ewasm模块指定的...翻译 2019-01-24 08:49:26 · 914 阅读 · 0 评论 -
EWASM Gas Costs——gas 计算
https://ewasm.readthedocs.io/en/mkdocs/determining_wasm_gas_costs/本文件目的是描述如何确定ewasm指令的gas成本。每个WASM操作码都分配一个适当的Intel IA-32(x86)操作码(或者是一系列操作码)。这些操作码具有固定的周期计数(Intel称为latency)。我们正在从Haswell架构(家族:06,型号3C...翻译 2019-02-28 09:06:03 · 576 阅读 · 0 评论