У меня на сервере работает geth . Я создаю веб-сайт php, который действует как кошелек. Теперь я могу создавать адреса. Мне нужно иметь возможность вносить и снимать ETH между адресами на одном узле. Я запускаю geth с помощью приведенной ниже команды.
go-ethereum/build/bin/geth console --rpc --rpcapi="db,eth,net,web3,personal,web3" --rpccorsdomain "*" --syncmode "light"
Как добиться функциональности кошелька на geth через rpc? Есть ли для этого вызов команды или API? Мне трудно понять документацию.
ОБНОВЛЕНИЕ : я хочу перевести ETH с одной учетной записи на другую. Ниже приведены вызовы API, которые я пробовал, и ошибки, которые я получил в браузере, когда я вызываю функцию передачи в своем классе php. Может кто-нибудь, пожалуйста, поправьте меня
{"jsonrpc":"2.0","id":1,"метод":"personal_signAndSendTransaction","params":[[{"from":"0xb60e8dd61c5d32be8058bb8eb970870f07233155","to":"0xd46e8dd67c5d32be8058bb8eb970870f07244567","gas": "0x76c0", "gasPrice": "0x9184e72a000", "value": "0x9184e72a", "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f0724],"passphaser"}
Неустранимая ошибка: Uncaught RPCException: json: невозможно преобразовать массив в значение Go типа eth.SendTxArgs
{"jsonrpc":"2.0","id":1,"метод":"personal_sendTransaction","params":[[{"from":"0xb60e8dd61c5d32be8058bb8eb970870f07233155","to":"0xd46e8dd67c5d32be8058bb8eb970870f07244567","gas": "0x76c0", "gasPrice": "0x9184e72a000", "value": "0x9184e72a", "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f0724],"passphaser"}
Неустранимая ошибка: Uncaught RPCException: метод personal_sendTransaction не существует/недоступен.
{"jsonrpc":"2.0","id":1,"метод":"eth_sendTransaction","params":[{"from":"0xb60e8dd61c5d32be8058bb8eb970870f07233155","to":"0xd46e8dd67c5d32be8058bb8eb970870f07244567","gas":" 0x76c0", "gasPrice": "0x9184e72a000", "value": "0x9184e72a", "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f0724445675"}}
Неустранимая ошибка: Uncaught RPCException: учетная запись заблокирована
Пожалуйста помоги!
В консоли Geth вы можете использовать функцию sendTransaction:
web3.eth.sendTransaction({
from: "0xE618A4B5A516f371Ce26d9A1DBE7839F4e3812GB",
to: "0xE618A4B5A516f371Ce26d9A1DBE7839F4e3812CB",
value: web3.toWei(1, "ether")
})
Вы можете использовать eth_sendtransaction для отправки транзакции в пункт назначения.
В разделе параметры
params: [{
"from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
"to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
"gas": "0x76c0", // 30400
"gasPrice": "0x9184e72a000", // 10000000000000
"value": "0x9184e72a", // 2441406250
"data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
}]
Вы должны вернуть подпись транзакции
{
"id":1,
"jsonrpc": "2.0",
"result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}
Это работает на учетных записях, которые были ранее разблокированы в geth.
geth
клиенте, и вы сможете отправлять части этого эфира на другие адреса.eth_sendTransaction
Нулик
СМЖ
Нулик
Нулик