web3-utils.js 755 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. const Web3 = require('web3')
  2. const debug = require('./debug')
  3. const logger = require("./logger")
  4. module.exports = class Web3Utils {
  5. static buildByWs(ws) {
  6. if (!Web3Utils.wsWeb3) {
  7. Web3Utils.wsWeb3 = new Web3(ws)
  8. }
  9. return Web3Utils.wsWeb3
  10. }
  11. static buildByHttp(http) {
  12. if (!Web3Utils.httpWeb3) {
  13. Web3Utils.httpWeb3 = new Web3(http)
  14. }
  15. return Web3Utils.httpWeb3
  16. }
  17. static buildByIpc(ipc) {
  18. if (!Web3Utils.ipcWeb3) {
  19. const net = require('net')
  20. Web3Utils.ipcWeb3 = new Web3(ipc, net)
  21. }
  22. return Web3Utils.ipcWeb3
  23. }
  24. static autoCreate(chain) {
  25. if (debug.isDev()) {
  26. return Web3Utils.buildByHttp(chain.http)
  27. } else {
  28. return Web3Utils.buildByIpc(chain.ipc)
  29. }
  30. }
  31. }