【发布时间】:2021-02-27 06:39:41
【问题描述】:
我正在尝试使用 Rust 的 Web3 JavaScript 库,但我被卡住了。该库的标准用法开头是:
// In Node.js use: const Web3 = require('web3');
let web3 = new Web3(Web3.givenProvider || "ws://localhost:8545");
您应该导入的模块是一个构造函数,它还具有一些其他属性。我应该绑定此 API 的 Rust 代码如下所示:
#[wasm_bindgen(module = "web3")]
extern "C" {
type Web3;
#[wasm_bindgen(constructor)]
fn new(_: &Provider) -> Web3;
type Provider;
static givenProvider: Provider;
}
最终输出 import { Web3, givenProvider } from 'web3'; 并尝试运行 new Web3(...) 失败。它应该执行类似import * as Web3 from 'web3';、运行new Web3(...) 和引用Web3.givenProvider 的操作。
如何让 wasm-bindgen 输出这样的代码?
【问题讨论】:
标签: rust webassembly wasm-bindgen