以太坊RPC,发送交易

  • 本文关键字:交易 RPC 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. "数据"参数不适合您,如果您只想进行简单的交易。
  2. 要进行简单的交易,您可以简单地忽略所有参数,除了"从","到"one_answers" value",并以这种方式调用该方法:

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

  3. 您要求提供简单的库,其中只有数量和地址。看来,您的意思是"到"地址。与仅使用所有地址的比特币RPC不同,属于钱包作为交易来源,您应该用以太坊RPC定义"从"地址定义"准确"。

我已经为nodejs和web浏览器编写了几个包装器。

后一个有助于抽象连接和合同开发。

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);
}

希望它heps

最新更新