Solidity

單個頁面上的多個 web3 實例

  • November 19, 2017

使用對象的 2 個實例是否正常/可能web3

在我的應用中,使用者可以

  • 通過點擊 UI 上的按鈕觸發新合約的部署。氣體來自屬於應用程序的錢包
  • 在同一頁面上將乙太幣發送到已部署的合約(通過頁面上的按鈕變得簡單,然後合約將令牌發送給使用者)

在這種情況下,是否建議有 2 個web3實例,

  1. 一個使用web3屬於該應用程序的人
  2. 由使用者瀏覽器注入的一種(例如:Metamask)

如果是這樣,是否有 2 個web3實例的命名約定,例如web3Appweb3Browser

這也是一個不尋常的場景嗎?

是的,可以執行 2 個 web3.js 實例。我不知道每個 web3 實例的任何命名約定。

在 github 上的 web3 自述文件(https://github.com/ethereum/web3.js/blob/develop/README.md)中,有一些說明可以執行多個 web3 實例:

web3.js 版本 0.14.0 支持 web3 對象的多個實例。要遷移到此版本,請按照指南進行操作:

var Web3 = require('web3');
var web3 = new Web3();

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