Transactions

使用 json-rpc 在兩個乙太坊賬戶之間轉賬

  • September 8, 2016

我正在嘗試在我自己的 2 個乙太坊賬戶之間轉移一些資金。我有一個節點並使用 json-rpc 協議與之通信。我想我需要使用eth_sendTransaction方法,但我覺得它很混亂,因為數據欄位應該填充智能合約,但我現在不想使用任何智能合約,只是一個簡單的交易給定金額之間我的乙太坊賬戶。

我必須呼叫eth_sendTransaction方法嗎?如何填寫數據欄位?nonce 欄位是做什麼用的?

eth_sendTransaction可用於發送乙太幣、創建合約和呼叫合約函式。這完全取決於參數。

  1. 對於僅發送 Ether ,您需要填寫value和欄位。to``from
  2. 要創建契約,您可以to留空但填寫data.
  3. 要呼叫合約函式,您可以同時填寫todatavalue如果您還想將乙太幣轉移到合約中,也可以選擇填寫。

參考eth_sendTransaction

如果數據欄位包含程式碼,則創建新的消息呼叫交易或契約創建。

  1. Object- 交易對象
  • from: DATA, 20 Bytes - 發送交易的地址。
  • to: DATA, 20 Bytes - (創建新合約時可選)交易指向的地址。
  • gas: QUANTITY - (可選,預設值:90000)為交易執行提供的氣體的整數。它將返回未使用的氣體。
  • gasPrice: QUANTITY - (可選, 預設: To-Be-Determined) 用於每個付費gas的gasPrice的整數
  • value: QUANTITY - (可選)與此交易一起發送的值的整數
  • data: DATA - 合約的編譯程式碼或呼叫的方法簽名和編碼參數的雜湊值。詳見乙太坊合約 ABI
  • nonce: QUANTITY - (可選)隨機數的整數。這允許覆蓋您自己的使用相同 nonce 的待處理事務。

例子

params: [{
 "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
 "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
 "gas": "0x76c0", // 30400,
 "gasPrice": "0x9184e72a000", // 10000000000000
 "value": "0x9184e72a", // 2441406250
 "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
}]

引用自:https://ethereum.stackexchange.com/questions/8384