Metamask
使用純 JS/HTML 設置呼叫 Metamask
我是前端 Web3 的新手,我正在嘗試使用一個簡單的 SIGN 按鈕來呼叫元遮罩來簽署“消息”。我似乎無法讓它工作。我使用的是純 HTML/JS,沒有任何框架,如 React 等。
這段程式碼:
function sign(){ window.web3 = new Web3(web3.currentProvider); console.log(web3.version); web3.eth.sign(("dinosaur"), owner, console.log); }
返回:
錯誤:返回錯誤:無法簽署數據;沒有私鑰
這另一個嘗試:
function sign(){ web3.eth.personal.sign('message to sign', owner) .then(signature => { // whatever }); }
返回:
未擷取(承諾)錯誤:返回錯誤:不支持方法personal_sign。
我在 Chrome 中使用 localhost ganache 和 metamask 連接到 ganache 並使用以下命令啟動 web3:
web3 = new Web3(new Web3.providers.HttpProvider(provider));
有任何想法嗎?
我遇到的問題是我使用 chrome 中的 file:// 提供 html 和 js 文件。Metamask 不支持這裡,所以我必須使用以下步驟安裝 HTTP 伺服器:
1> 在您的系統中安裝 Node.js。
2> 在 CMD 中,執行命令 npm install http-server -g
3> 在 CMD 中導航到您的文件夾的特定路徑並執行命令 http-server
4> 轉到您的瀏覽器並輸入 localhost:8080。您的應用程序應該在那裡執行。
在這個 Metamask 出現之後