使用以太坊rpc发送交易

问题描述 投票:0回答:3

如何在以太坊上使用 RPC 发送交易?

在文档中我看到了这个:

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

我在哪里可以找到这个:

“数据”:“0xd46e.......72445675”

有没有简单的库,我可以只输入金额和交易地址?

transactions cryptography blockchain ethereum
3个回答
1
投票

Web3.js 是您可以使用的与以太坊交互的事实上的库。关于如何发送交易有很棒的文档

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

数据字段是包含消息关联数据的字节字符串,或者在合约创建交易的情况下是初始化代码。消息数据是编码方法及其参数值。您可以使用库 ethereumjs-abi 来编码和解码数据字段。


1
投票

我已经为 NodeJSWeb 浏览器 围绕 Web3 编写了几个包装器。

后者有助于抽象连接和合约开发。

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

希望有帮助


0
投票
  1. 如果您只想进行简单的交易,“data”参数不适合您。
  2. 要进行简单的交易,您可以简单地忽略除“from”、“to”和“value”之外的所有参数,并以这种方式调用该方法:

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

  3. 您要求简单的图书馆,只需数量和地址。看来地址是指“收件人”地址。与比特币 rpc 不同,比特币 rpc 只是使用属于钱包的所有地址作为交易源,您应该使用以太坊 rpc 定义准确的“发件人”地址。

© www.soinside.com 2019 - 2024. All rights reserved.