将 WASM 文件导入 React 应用程序以将其部署在 NEAR 区块链上

Import WASM file into react app to deploy it on the NEAR Blockchain

我正在开发与 NEAR 协议交互的应用程序的前端。我正在创建的工作流程是:

  1. 用户登录
  2. 创建子账户
  3. 为子账户部署智能合约。

第 1 部分和第 2 部分工作正常。 对于第 3 部分,我有以下代码。

//Deploy the contract. 
    let response;
    try {
      response = await subaccount.deployContract(wasamContract);
    }catch(err){
      console.log("Error deploying the contract: ", err)
    }
    console.log("Contract deployed: ", response)

并使用以下方法导入 wasm 文件:

import wasamContract from "../../assets/main.wasm";

但是我在导入文件时遇到错误。

./src/assets/main.wasm
Module parse failed: magic header not detected
File was processed with these loaders:
 * ./node_modules/file-loader/dist/cjs.js
You may need an additional loader to handle the result of these loaders.
Error: magic header not detected

那么如何导入上述代码中使用的wasm文件呢?

这个例子应该能帮到你,它是一个实验性的应用程序,可以将智能合约部署到任何注册的账户

https://github.com/metanear/metanear-web/blob/cea99d6ccd89b733eef3b8d879f86668fa2f7e3c/src/Home.js#L93-L109