簡體   English   中英

ethereum rpc,發送交易

[英]ethereum rpc , send transaction

如何在ethereum上使用RPC發送事務。

在文檔上我看到了這個:

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

我在哪里找到這個:

data“:”0xd46e ....... 72445675

是否有任何簡單的庫我只能輸入金額和交易地址?

Web3.js是您可以使用的與以太坊交互的事實上的庫。 有很多關於如何發送交易的文檔

web3.eth.sendTransaction(transactionObject [, callback])

數據字段是包含消息的關聯數據的字節字符串,或者在合同創建事務的情況下是初始化代碼。 消息數據是編碼方法及其參數值。 您可以使用庫ethereumjs-abi對數據字段進行編碼和解碼。

  1. 如果您只想進行簡單的交易,“data”參數不適合您。
  2. 要進行簡單的事務,您可以簡單地忽略除“from”,“to”和“value”之外的所有參數,並以這種方式調用方法:

    params: [{ "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155", "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567", "value": "0x9184e72a", // 2441406250 }]

  3. 您只需要金額和地址就可以找到簡單的庫。 看來你的意思是“地址”。 與比特幣rpc不同,比特幣rpc只使用所有地址屬於錢包作為交易來源,你應該用ethereum rpc定義精確的“從”地址。

我在Web3上NodeJSWeb瀏覽器編寫了幾個包裝

后者有助於抽象連接和合同開發。

const { connect, useConnection, sendTransaction } = require("web3-wrap");

try {
    if(window.web3){
        await useConnection(window.web3);
    }
    else {
        await connect();
    }

    const receipt = await sendTransaction({
        to: "0x1234...",
        value: 10 // amount to transfer, in wei
    });
    console.log("Receipt:", receipt);
}
catch(err){
    console.error(err && err.message || err);
}

希望它好起來

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM