首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >调用web3.eth.personal.unlockAccount抛出错误

调用web3.eth.personal.unlockAccount抛出错误
EN

Stack Overflow用户
提问于 2018-01-15 09:33:26
回答 1查看 1.9K关注 0票数 0

我在web3 1.0.0-beta.27上运行了一个私有区块链,名为: geth -identity“节点”-node最大节点0-datadir path/to/data -networkid 123 -ws-w吻合8546 -wsport "*“控制台。

然后,在一个app.ts文件中我有:

代码语言:javascript
运行
AI代码解释
复制
import * as Web3 from 'web3';

var web3   = new Web3(new Web3.providers.WebsocketProvider('ws://localhost:8546'));

web3.eth.getAccounts().then(accounts => {
    var sender = accounts[0];
    web3.eth.personal.unlockAccount(sender, 'password');
});

但我错了:

代码语言:javascript
运行
AI代码解释
复制
Unhandled rejection Error: Returned error: The method personal_newAccount does not exist/is not available

在网上搜索这个问题,我应该用geth启动--rpcapi="db,eth,net,web3,personal,web3"进程,但是添加这个标志没有帮助,尽管rpc只是一种ipc,对吗?

此外,在geth控制台上,我可以用

代码语言:javascript
运行
AI代码解释
复制
personal.unlockAccount(sender, 'password')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-15 09:45:17

您将personal添加到rpcapi,但正在通过WS进行连接。您需要将它添加到wsapi中。

rpc只是一种ipc,对吗?

3种连接协议是IPC-RPC、JSON-RPC和WS.rpc*配置参数用于JSON (over ),而不是IPC/WS。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48268026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档