Есть ли документация и примеры использования личного API через JSON-RPC?
Однако не сказано, каким будет метод в JSON-RPC.
Спецификация Ethereum JSON-RPC https://github.com/ethereum/wiki/wiki/JSON-RPC не содержит личных API, поскольку персональные API являются расширением Geth .
Спецификация JSON-RPC представляет то, что должен реализовать совместимый клиент Ethereum.
@BokkyPooBah ссылается на другие полезные ответы, в которых упоминаются риски управления учетными записями через JSON-RPC и, вероятно, причина, по которой спецификация не поддерживает их реализацию всеми совместимыми клиентами (такими как cpp-ethereum, pyethapp).
Причина, по которой «персональные» методы не перечислены в спецификации JSON-RPC, заключается в том, что они не являются «официальными» методами API, т. е. они не обязательно реализованы во всех клиентах.
То, что вам нужно, — это API управления клиентом GO-Ethereum , который включает в себя «личные» команды. Обратите внимание, что это относится только к geth и не обязательно поддерживается одинаковым образом для всех клиентов.
Как правило, не рекомендуется предоставлять доступ к этим командам через RPC, поскольку локальные приложения могут обмениваться данными через IPC, а RPC может быть доступен удаленным, возможно, неавторизованным клиентам, а поскольку он передается через незашифрованный HTTP, пароли должны обрабатываться с осторожностью.
Если вы уверены, что знаете, что делаете, вы можете включить RPC-доступ к командам управления, используя --rpcapi
флаг в geth.
Как только они включены, вы можете получить к ним доступ так же, как и к любому методу через RPC, например:
curl -X POST --data '{"jsonrpc":"2.0","method":"personal_unlockAccount","params":["0x4bb96091ee9d802ed039c4d1a5f6216f90f81b01","myPassword"],"id":1}' localhost:8545`
Ответы на ваш вопрос доступны в следующих вопросах и ответах:
БайронП
БайронП
конфиденциальностьisahumanright.eth
Тьяден Хесс