Как я могу реализовать пользовательское средство подписи транзакций (которое будет разблокировать учетные записи на лету) и указать паритетному клиенту использовать его?
Я не хочу разблокировать все учетные записи при запуске (и всегда держать их разблокированными. Вместо этого я хочу установить некоторую логику для разблокировки учетной записи при каждой транзакции, скажем:
if (isDay && accountAddress in [addr1, addr2, addr3])
unlockAccount and signTransaction
else
rejectTransaction
Я рассматриваю модуль подписи JSONRPC как возможный вариант, но не могу подключиться к пользовательскому интерфейсу Parity Signer с помощью веб-сокетов.
Connect Error: Error: Server responded with a non-101 status: 403
Response Headers Follow:
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
server: Parity/SignerUI
content-length: 524
content-type: text/html
connection: close
Parity использует параметр командной строки, чтобы разблокировать определенные учетные записи:
Пример:
--unlock 0x001fc7d7e506866aeab82c11da515e9dd6d32c25 --password password.txt
Вы можете разблокировать учетную запись через RPC.
curl --data '{"method":"personal_unlockAccount","params":["0x8f0227d45853a50eefd48dd4fec25d5b3fd2295e","hunter2",null],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:8545
Подробнее см. https://wiki.parity.io/JSONRPC-personal-module#personal_unlockaccount .
Эдвард Ручевиц
q9f
Микко Отамаа
--unlock
разблокирует только перечисленные аккаунтыЭдвард Ручевиц
Эдвард Ручевиц
Микко Отамаа
web3.personal.unlockAccount()
с тайм-аутом. См. ethereum.stackexchange.com/a/12188/620, но @5chdn необходимо уточнить, может ли Parity разблокировать учетную запись без веб-интерфейса. Geth знает, но я не уверен в Parity.q9f
Эдвард Ручевиц
signer_requestsToConfirm
?)signer_confirmRequest
илиsigner_rejectRequest
выполняется автоматически. Не уверен, как его использовать (снова обновил мой ответ).