Solidity
單個頁面上的多個 web3 實例
使用對象的 2 個實例是否正常/可能
web3
?在我的應用中,使用者可以
- 通過點擊 UI 上的按鈕觸發新合約的部署。氣體來自屬於應用程序的錢包
- 在同一頁面上將乙太幣發送到已部署的合約(通過頁面上的按鈕變得簡單,然後合約將令牌發送給使用者)
在這種情況下,是否建議有 2 個
web3
實例,
- 一個使用
web3
屬於該應用程序的人- 由使用者瀏覽器注入的一種(例如:Metamask)
如果是這樣,是否有 2 個
web3
實例的命名約定,例如web3App
和web3Browser
?這也是一個不尋常的場景嗎?
是的,可以執行 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();