与Websockets一起使用的TruffleHDWalletProvider替代方案

时间:2018-08-08 00:07:20

标签: node.js websocket web3 web3js truffle

我目前正在开发一个需要后端和事件监听的dapp。我已经在rinkeby网络上用一个infura websocket设置了web3js,但是我很难设置我的帐户(使用助记符)到web3js中。

因此,现在可以监听事件了,但是我无法通过肺炎签署交易,而使用truffle-hdwallet-provider则相反。

这是我定义web3js对象的文件

const Web3 = require('web3')
require('dotenv').config()

let web3

// const HDWalletProvider = require('truffle-hdwallet-provider')
// const mnemonic = process.env.mneumonic
// const api_key = process.env.infurakey

// const RinkbeyProvider = new HDWalletProvider(mnemonic, 'https://rinkeby.infura.io/'+api_key)
console.log('Using Rinkbey Provider')
web3 = new Web3(new Web3.providers.WebsocketProvider('wss://rinkeby.infura.io/ws'))
// web3 = new Web3(RinkbeyProvider)

module.exports = {
  web3
}

以前,我使用HDWalletProvider来设置web3对象,但是由于该方法不适用于http(我尝试分叉该软件包,因此无法使其正常工作),我不得不切换到使用常规的websocket构造函数。

我的问题是:如何配置web3以使其与助记符关联的帐户一起使用?是否有执行与truffle-hdwallet-provider类似功能但可与websockets一起使用的软件包?

谢谢。

0 个答案:

没有答案