我无法使用@ ledgerhq / web3-subprovider部署智能合约 这是我在ropsten上部署的代码
const LedgerWalletProvider = require('@ledgerhq/web3-subprovider');
const createLedgerSubprovider = LedgerWalletProvider.default;
const TransportNodeHid = require('@ledgerhq/hw-transport-node-hid-singleton').default;
const ProviderEngine = require('web3-provider-engine');
const RpcSubprovider = require('web3-provider-engine/subproviders/rpc');
// const logger = require("@ledgerhq/logs");
const localNode = 'http://127.0.0.1:8545';
// logger.listen(log => console.log(log));
const getTransport = () => TransportNodeHid.create();
const ledger = createLedgerSubprovider(getTransport, {
networkId: 3, paths: ["44'/1'/x'/0/0", "44'/1'/0'/x"], askConfirm: false,
});
const engine = new ProviderEngine();
engine.addProvider(ledger);
engine.addProvider(new RpcSubprovider({ rpcUrl: localNode }));
engine.start();
module.exports = engine;
我的松露配置是
require("dotenv").config();
const gasPrice = require("./get_gas_price");
const Web3 = require("web3");
const web3 = new Web3();
const LedgerProviderRopsten = require('./ledger-provider-ropsten');
const LedgerProviderMainnet = require('./ledger-provider-mainnet');
module.exports = {
networks: {
mainnet: {
provider: () => LedgerProviderMainnet,
network_id: 1,
gasPrice: web3.utils.toWei((gasPrice.fast / 10).toString(), "gwei"),
},
ropsten: {
provider: () => LedgerProviderRopsten,
network_id: 3,
gasPrice: web3.utils.toWei("3", "gwei"),
}
},
compilers: {
solc: {
version: "0.6.8",
settings: {
optimizer: {
enabled: true
}
}
}
}
};
我部署时得到的是
Web3ProviderEngine不支持同步请求。
我还在他们的github页面bug
上放了一个错误