首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rinkeby的问题解锁

Rinkeby的问题解锁
EN

Ethereum用户
提问于 2018-03-20 05:45:41
回答 3查看 1.2K关注 0票数 0

当我试图解锁在MetaMask上创建的帐户时,我得到了"405方法不允许“错误。以下是代码:

代码语言:javascript
复制
string privateKey = "0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
string senderAddress = "0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

var account = new Account(privateKey);
var web3 = new Web3(account, "https://rinkeby.infura.io/<token>");

var password = "xxxxxxx"; // where does this come from? the meta mask password???

// error on the line below
var unlockResult = await web3.Personal.UnlockAccount.SendRequestAsync(senderAddress, password, new HexBigInteger(120));

我做错了什么?“密码”从何而来?

EN

回答 3

Ethereum用户

回答已采纳

发布于 2018-03-21 05:40:53

事实上,我在代码中有私钥,这意味着我不需要解锁我的帐户。

我只要去做任何我需要做的事后,帐户是开放的。

归功于尼瑟姆的奥瑟·胡安·布兰科。

票数 0
EN

Ethereum用户

发布于 2018-03-20 06:03:02

在本例中,密码用于解锁密钥存储库文件,该文件存储在计算机上(节点正在运行)。通常它驻留在keystore子文件夹下的ethereum客户端文件夹中。Metamask不以这种方式存储密钥存储,而是使用浏览器数据。

如果您不想解锁您的钱包,您需要在某个地方创建另一个帐户,在创建帐户后默认情况下生成keystore文件(带有密码)。

或者您可以使用您的MetaMask帐户和Export Private Key进一步使用一些web3py (例如)来生成您自己的密钥存储文件:

代码语言:javascript
复制
web3.personal.importRawKey(self, private_key, passphrase)

将给定的private_key添加到节点的密钥链中,并使用给定的密码进行加密。返回导入帐户的地址。

生成密钥库文件后,只需将其放入客户端文件夹中的keystore文件夹中,客户端就会自动检测到它,下次尝试用正确的密码解锁帐户时,它应该会像预期的那样工作。

票数 0
EN

Ethereum用户

发布于 2018-03-20 06:53:13

如果在RPC上启用了personal api,则需要密码。但是,呋喃不启用这个RPC,因为如果启用它,它将是一个很大的安全问题。

相反,您需要发送一个已签名的事务。

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

https://ethereum.stackexchange.com/questions/43272

复制
相关文章

相似问题

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