因此,Acala 将采用一套自行开发的以太坊兼容方案 - Bodhi。这套方案不兼容以太坊 RPC,而是做了一个 JavaScrpt SDK,模拟 Web3 provider,可以把 Polkadot Extension 包装成类似 MetaMask 的扩展。这样现成的以太坊 Dapp 也能用 Polkadot Extension 来和 Acala EVM 交互。 同时 Bodhi 避免了以太坊的一些遗留问题,在兼容以太坊的同时保留了 Substrate 的优势。比如让 Acala 拥有可定制的经济机制、允许用户使用任何支持的代币支付交易费、本地跨链功能、链上治理机制(不再有锁定的资金)、完全可升级(无需进行合约迁移)等。而这些创新是在以太坊上不可能实现的。 不过,这也意味着以太坊上的合约想要部署到 Acala 上,可能还需要对代码进行一些调整来兼容 Acala 的经济模型。 专注于 DeFi 场景和通用的合约平台不同,Acala 更注重 DeFi 场景的优化。部署合约可能也会设置一点门槛,来避免类似 Uniswap 假币泛滥的情况。同时还会整合 Acala 的 DEX、稳定币、Idot 等。 Patract:专注于 Wasm 的合约平台 完善的开发者工具和开发环境之前说过,在波卡上建立智能合约平行链,要面临的一个问题就是缺少好用的开发环境和工具。对此,Moonbeam、Plasm 和 Acala 的方案都是:既然以太坊已经有了成熟的开发工具,那我们就提供一个方法,让开发者可以方便地去用以太坊的现成工具。 而 Patract 则认为 Wasm 虚拟机才是未来,所以专注在 Wasm 合约上。他们的方案是在波卡生态里搭建一整套的开源开发工具套件和开发、测试、发布环境,让开发者可以愉快地开发 Wasm 合约。Wasm 是波卡智能合约模块采用的一项较新的技术,基于 Wasm 的智能合约已经被证明比基于 EVM 的具有更好的性能和可扩展性,也可以使用更高级的 AssemblyScript、Rust、C++ 等高级语言编写更复杂的合约应用。 Patract 做的东西,在开发者端包括: Jupiter:独立的智能合约测试网,提供给合约开发者测试合约链的环境。Ask!:AssemblyScript 版的 Ink!合约框架,吸引TS/JS的开发者,给不愿意使用rust的合约开发者另一个选择。Redspot:Wasm合约开发工作流和脚手架:对标Ethereum生态中的Tuffle/Redhat,让合约开发项目化,自动化的工具。Redspot采用插件化设计,运行开发者添加自己设计的插件丰富Redspot的功能。Europa:Runtime 和合约运行沙盒:对标Ethereum生态中的EthereumJS/Ganache,给合约开发者提供了丰富的调试信息,便于快速开发合约。Elara:实时和可扩展的波卡 API:对标Ethereum中的Infura,给合约项目方提供节点的Endpoint,不用自行搭建节点获取数据。Elara采用了Substrate-archive导出状态数据,可以平行扩展接受千万级访问。Megaclite:零知识证明的底层支持:在Jupiter/Patract链中提供零知识原语支持,可以允许项目方设计zkRollup或其他零知识相关合约。Metis:Ink! 合约标准库:对标Ethereum中的openzeppelin-contracts,给合约开发者提供可复用的轮子,不必从零开始编写合约代码。Himalia:多语言合约 SDK:对标Ethereum中的Web3J,Web3Py等SDK,给合约项目方提供不同语言的环境,丰富的接口与合约进行交互Leda:合约监控台:对标Ethereum生态中各类合约监控设施,让合约项目方随时监控合约的存储情况,代币转移情况,合约调用情况等等。Carpo:专注开发合约的智能WebIDE:对标Ethereum中的Remix,但其将会是对Patract以上合约开发工具的集大成者。Carpo将采用最新的WebIDE技术,使得云端开发无限贴近本地开发,同时完整的云端让开发者无需搭建任何开发环境即可进行开发,开箱即用的Patract工具链给合约开发者提供了一体化开发体验,让开发者的开发、调试、测试和部署的合约过程如丝般顺畅。 (责任编辑:admin) |