Я работаю с https://github.com/ethereum/wiki/wiki/JSON-RPC
API + curl.
И реализация пользовательского API с использованием этой php-библиотеки: https://github.com/Achse/geth-jsonrpc-php-client .
ниже метод отлично работает для разблокировки перед транзакцией:
$ curl -X POST --data '{"jsonrpc":"2.0","method":"personal_unlockAccount","params":["0x7642b...", "password", 3600],"id":67}' http://localhost:8545
Но я хочу разблокировать аккаунт, используя private key
не password
. Так есть ли способ unlock account
и сделать транзакцию с использованием private key
.
вы можете сгенерировать необработанную транзакцию, как описано здесь, или использовать myetherwallet, чтобы получить подписанную необработанную транзакцию, а затем вызвать
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":[{raw_transaction}],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}
как объяснено здесь
кроме того, как @yogesh упомянул в своем комментарии ниже , сборка Ethereumjs для браузера может использоваться для создания необработанной транзакции (на стороне клиента).
Вам не нужно разблокировать свою учетную запись, если вы знаете свой закрытый ключ. Причина в том, что транзакции подписываются с использованием вашего закрытого ключа, и разблокировка вашей учетной записи необходима для получения вашего закрытого ключа из файла ключей. Поэтому, если вы уже знаете свой закрытый ключ, вам не нужно разблокировать свою учетную запись.
Вы можете использовать myetherwallet.com или ethychat.io для совершения транзакций с использованием вашего закрытого ключа.
Если вы хотите совершать транзакции, используя JSON-RPC и свой закрытый ключ, вам, вероятно, придется создать подписанную транзакцию и отправить ее с помощью eth_sendRawTransaction.
Бадр Беллай
Йогеш Кародия