Я пытаюсь перевести некоторые средства между двумя собственными счетами ethereum. У меня есть узел, и я общаюсь с ним по протоколу json-rpc. Я думаю, мне нужно использовать eth_sendTransaction
метод, но я нахожу его довольно запутанным, потому что поле данных должно быть заполнено смарт-контрактом, но я не хочу использовать какой-либо смарт-контракт прямо сейчас, просто простая транзакция заданной суммы между мои эфириум аккаунты.
Должен ли я вызывать eth_sendTransaction
метод? Как заполнить поле данных? Для чего используется поле nonce?
eth_sendTransaction
может использоваться для отправки эфира, для создания контрактов и вызова функции контракта. Все зависит от параметров.
Чтобы просто отправить эфир, вам нужно заполнить поля value
, to
и .from
Для создания контрактов вы оставьте поле to
пустым, но заполните data
.
Для вызова функции контракта вы должны заполнить как to
и data
, так и опционально, value
если вы также хотите передать эфир в контракт.
Ссылаться наeth_sendTransaction
Создает новую транзакцию вызова сообщения или создание контракта, если поле данных содержит код.
Object
- Объект транзакции
from
: DATA
, 20 байт — адрес, с которого отправляется транзакция.to
: DATA
, 20 байт - (необязательно при создании нового контракта) Адрес, на который направлена транзакция.gas
: QUANTITY
- (необязательно, по умолчанию: 90000) Целое число газа, предоставленного для выполнения транзакции. Он вернет неиспользованный газ.gasPrice
: QUANTITY
- (необязательно, по умолчанию: To-Be-Determine) Целое число gasPrice, используемого для каждого оплаченного газаvalue
: QUANTITY
- (необязательно) Целое значение, отправляемое с этой транзакциейdata
: DATA
- Скомпилированный код контракта ИЛИ хеш сигнатуры вызванного метода и закодированных параметров. Подробнее см. ABI контракта Ethereum . nonce
: QUANTITY
- (необязательно) Целое число одноразового номера. Это позволяет перезаписывать ваши собственные ожидающие транзакции, которые используют тот же одноразовый номер.params: [{
"from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
"to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
"gas": "0x76c0", // 30400,
"gasPrice": "0x9184e72a000", // 10000000000000
"value": "0x9184e72a", // 2441406250
"data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
}]