Parity
無法在測試網上使用 Parity 和 Web3 解鎖帳戶
我正在為 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 []
任何想法將不勝感激。
下面的 RPC 方法
personal_*
預設是不暴露的。問題設置正確。(儘管今天,正確的 arg 是--jsonrpc-apis 'eth,web3,personal'
)。如果您仍然無法連接,並且您正在使用 IPC,請注意上面的參數僅設置通過 HTTP 的呼叫。如果您使用的是 IPC,則需要改為使用
--ipc-apis 'eth,web3,personal'
。如果您不想公開個人 API,出於安全原因,您可以使用
eth_accounts
RPC 呼叫。>>> web3.eth.accounts ['0x...']
我們發現了問題,我們沒有正確定義密鑰目錄。謝謝您的幫助!