这项工作大部分是由来自Summa的JamesPrestwich和BarbaraLiau完成。 内容提要:我们发布了一套在NEAR网络上部署EVM智能合约的工具,使其(EVM智能合约)能从NEAR的性能,用户体验以及开发者工具集中受益。它实质上是把EVM作为一个NEAR上的智能合约,从而实现以太坊智能合约的执行环境(ExecutionEnvironment),并通过一个特别实现的provider,使web3.js工具(译者注:以太坊智能合约开发的基础工具库)也能支持NEAR。 通俗来讲,现有的以太坊应用(ETHDApp)无需修改智能合约代码,可直接在NEAR的区块链平台上部署,从而达到性能的大幅升级,并提高C端用户的使用体验。 ![什么?!在NEAR上可直接运行以太坊应用?](https://img.chainnews.com/material/images/28e36d31831e0cf49a42c23f35387183.jpg) 小编:在刚刚结束的ETHDenver,NEAR创始人Illia和以太坊创始人Vitalik,ConsenSys创始人JoeLubin等一起担任开发者大赛的评委 EVM支持及web3.jsprovider 以太坊开发者社区庞大,同时,很多加密技术开发者对以太坊虚拟机(EVM)也都很熟悉。而作为一种专门面向EVM的语言,Solidity自诞生伊始就成为了开发智能合约的主要语言。虽然与Rust和TypeScript等通用语言相比,Solidity具有明显的局限性,但它依旧得到了早期区块链开发者的广泛采用,并且是大量使用的链上开发工具。 相对的,NEAR使用了WebAssembly虚拟机(WASM),这项技术在加密货币乃至更广阔的领域内越来越受欢迎。加密货币领域的大多数项目(例如,以太坊2.0和Polkadot)都在朝着这个方向发展,还有更多的项目正在考虑使用WASM。 尽管我们对WebAssembly的优势坚信不疑,但还是认为有必要帮助开发者简化向WebAssembly过渡的过程,并找到一种方法使现有EVM合约能够在NEAR上运行。为此,我们部署了EVM智能合约。而Parity的以太坊客户端中就有一个使用Rust语言的EVM实现,可轻松地将其编译为WebAssembly,非常方便。 从本质上讲,通过智能合约的方式运行EVM就是简化版的以太坊2.0/宁静(Serenity)执行环境概念,并且不需要任何自定义的交易处理逻辑!你可以在Github上找到EVM合约。 由于大多数以太坊工具都依赖于web3.js,我们实施实现了自定义的web3provider—NearProvider,允许通过Near-web3-provider库中的常见接口直接与以太坊合约进行通信。NearProvider会处理与Near网络的连接,并自动为你转换对象及RPC调用。 接下来,就让我们去仔细瞧瞧是怎么一回事儿吧! 工作原理 首先,要让你的Solidity应用在NEAR的测试网上运行: 如果你还没有一个现成的Truffle项目,那就先创建起来。你可以在这里找到示例: https://github.com/kcole16/near-evm-demo。 第二步,安装NEARshell: npminstall-gnear-shell 第三步,使用NEAR钱包登录: nearlogin 这一步将重定向到NEAR网页钱包,并逐步指导你创建新的钱包账户。你可以输入任何一个你喜欢的accountID。接着,你要通过一笔交易授权CLI使用该帐户,然后输入新创建的accountID以完成登录。 下一步:将NEAR配置为truffle.js中的另一个网络: 以上代码导入了Near-web3-provider,提供了从以太坊RPC到NEAR网络的映射。 接下来,我们会将其指向到包含你NEAR帐户的keyStore,而你将使用它部署你的应用程序(并支付费用)。这里,我使用的是我自己的帐户illia,但你要把它换成你自己的accountId。 就是这么简单,你便可以将应用程序部署到NEAR的EVM上运行了! trufflemigrate–networknear 你可以在区块浏览器中查看交易是否成功: https://explorer.nearprotocol.com 最后一步,将Near-web3-provider插入前端web3代码。如此一来,你便可以使用NEAR钱包,吸引用户并让他们轻松地使用你的应用程序了。 在设置好provider后,你就可以使用Truffle、Web3.js和许多其他标准Solidity开发工具与Near-evm进行交互。虽然这个库尚处于早期阶段,但许多基于Web3的应用程序都可以立即使用。 你可以在这里查看完整示例: https://github.com/kcole16/near-evm-demo NEAREVM已准备就绪,等待为你的项目提供支持!马上开始开发你的应用程序吧。 Resources相关资源 以下是一些有用的资源链接: https://github.com/kcole16/near-evm-demo–完整demo的代码库。 https://github.com/nearprotocol/near-evm–EVM执行环境合约。 https://github.com/nearprotocol/near-web3-provider–用于Web3.js的NearProvider。 https://t.me/joinchat/F3YJ0lcCcZka_GN09MGwJw–加入Telegram开发者社群,实时解决问题。 https://commonwealth.im/near–在论坛上提出你的想法与建议。 作者Illia一龙 来源链接:mp.weixin.qq.com —- 编译者/作者:NEAR中文社区 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
什么?!在 NEAR 上可直接运行以太坊应用?
2020-02-18 NEAR中文社区 来源:火星财经
LOADING...
相关阅读:
- 8月3号以太坊大饼晚间操作策略2020-08-03
- 2gether应用程序将补偿客户被其令牌窃取的120万欧元2020-08-03
- 您现在可以使用Kyber在以太坊区块链上交易莱特币2020-08-03
- 特拉维夫证券交易所推出区块链平台2020-08-03
- 紫盈说币:8.3比特币/以太坊晚间行情分析,以太坊多头强势,晚间有望站2020-08-03