Web3js

Meteor中的Web3空對象伺服器端

  • October 15, 2018

創建了新的--bareMeteor 項目(1.8 版)。

用於meteor npm install --save web3將 web3 從npmjs.org.

在程式碼server.js使用中:

Web3 = require('web3')
console.log(Web3) // returns '{}'

Meteor 項目中沒有添加任何其他內容。客戶端使用符合預期。

工具包:MacOS、Ganache、Truffle、Web3 版本 1

我當然發現這可能是包依賴項中遞歸的結果

這是一個已知的問題?它是一個錯誤嗎?確定此問題的根本原因的最佳方向是什麼?

相關的 SO 問題/主題:

Meteor 伺服器端合約事件監視錯誤

流星伺服器端呼叫乙太坊節點的問題

找不到模組“web3”流星

如何從流星應用程序的伺服器端連接到節點

更新:

在看到許多未解決的問題/問題後,我遇到了一個現有的 github問題進行跟踪。此外還有一個Meteor 論壇文章,我在乙太坊論壇上創建了一個文章

在進一步的測試中,似乎有一個一致的解決方法可以讓requireWeb3 包在 Meteor 的伺服器上工作。

新的和現有的 Meteor 項目的測試程序(版本 1.7/1.8):

  1. 創建一個新的流星項目(可選)或導航到現有項目的目錄。
  2. 在 Meteor 項目目錄中使用meteor npm uninstall --save meteor-node-stubs.
  3. 接下來做:meteor npm install --save web3
  4. 現在重新添加meteor npm install --save meteor-node-stubs
  5. 按照文件進行正常導入並實例化 web 3 對象

web3 實例現在應該在 Meteor 伺服器上按預期工作,您可以在啟動應用程序後使用meteor shell.

衝突依賴包的載入順序似乎存在問題,候選違規包為crypto-browserify.

引用自:https://ethereum.stackexchange.com/questions/60335