-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathnanoWeb3Provider.js
29 lines (25 loc) · 1.05 KB
/
nanoWeb3Provider.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const Web3 = require("web3");
const ProviderEngine = require("web3-provider-engine");
// eslint-disable-next-line
const LedgerWalletSubproviderFactory = require("ledger-wallet-provider");
const Web3Subprovider = require("web3-provider-engine/subproviders/web3.js");
const FilterSubprovider = require("web3-provider-engine/subproviders/filters.js");
export function nanoWeb3Provider(providerUrl, nanoPath) {
const web3HttpProvider = new Web3.providers.HttpProvider(providerUrl);
const engine = new ProviderEngine();
engine.addProvider(new FilterSubprovider());
engine.addProvider(LedgerWalletSubproviderFactory.default(new Web3(web3HttpProvider), nanoPath));
engine.addProvider(new Web3Subprovider(web3HttpProvider));
engine.on("block", () => {
// console.log("================================");
// console.log(
// "BLOCK CHANGED:",
// `#${block.number.toString("hex")}`,
// `0x${block.hash.toString("hex")}`
// );
// console.log("================================");
});
engine.start();
engine.stop();
return engine;
}