2

我正在为 Debian (Jessie) 上的测试网 (Ropsten) 运行本地 Parity 节点。我正在使用 web3.py 连接到该节点并创建事务。

我创建了一个新帐户:

parity account new --chain ropsten

我正在使用以下选项运行我的奇偶校验节点

/usr/bin/parity --chain ropsten --no-ui --rpcapi 'eth,web3,personal' --jsonrpc-interface 127.0.0.1 --bootnodes 'enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303,enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303'

当我测试这个节点时,它运行良好,请参见以下 python shell:

Python 3.4.2 (default, Oct  8 2014, 10:45:20) 
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from web3 import Web3, KeepAliveRPCProvider, IPCProvider
>>> web3 = Web3(KeepAliveRPCProvider(host='localhost', port='8545'))
>>> web3.eth.blockNumber
1012932

但是,当我尝试解锁我的帐户时,它会返回 False(当然还有正确的帐户哈希和密码)

>>> web3.personal.unlockAccount('my-account-hash', 'some-password')
False

当我检查它是否真的在我的帐户列表中时,我得到以下空数组:

>>> web3.personal.listAccounts
[]

但是,当我检查奇偶校验时:

parity account list --chain ropsten

它列出了 3 个帐户。为什么它没有显示在 listAccounts 中?我必须以某种方式使该帐户可用吗?

任何想法将不胜感激。

4

1 回答 1

1

据我了解,当您创建具有奇偶校验的帐户时,它创建了一个以太坊帐户并将该密钥和密码存储在奇偶校验的密钥库文件中。此文件可能不同于 web3 调用正在访问的密钥库文件 geth 密钥库文件。在您的情况下,这似乎是最可能的原因。

尝试定位奇偶校验的密钥库文件和 web3 调用所指向的密钥库文件。通常奇偶校验的密钥库将位于
~/.local/share/io.parity.ethereum/keys/
安装目录或主目录中的 geths 之一。
当您找到它们时,您只需手动复制即可获得访问这些密钥的 geth。

于 2017-06-09T10:45:29.380 回答