我想使用Web3接口和恩弗拉节点将ETH从一个帐户发送到另一个帐户。我尝试了如下所示,并得到了错误405()。错误:无效的JSON RPC响应:"“
我在Rinkeby测试网络上测试它。这就是我初始化Web3和处理事务的方式。
$(document).ready(function () {
const Web3 = require('web3');
const web3 = new Web3(new Web3.providers.HttpProvider('https://rinkeby.infura.io/<Access_Token>'));
$(".btn-send").click(function () {
web3.eth.sendTransaction(
{
to: '0xae8cE2D0B2015Aeb62189822C7eEae2f60B011e5',
from: '0x5ada788989dCa813cBE82eD8bB8d54e1b43327A7',
value: web3.toWei("1", "ether")
},
function (error, transactionHash) {
if (!error) {
console.log("send successfully");
} else {
console.log("Error: " + error);
}
}
);
});
});
发布于 2018-05-29 22:09:44
405错误意味着Infura不支持基础JSON方法。恩弗拉只阻止对恩弗拉没有意义的方法,比如那些需要因弗拉来存储私钥的方法。显然,web3.eth.sendTransaction
调用eth_sendTransaction
方法(该方法要求服务器保存密钥)。您需要使用web3方法来调用eth_sendRawTransaction
,以便事务签名在本地进行。
发布于 2018-06-13 17:45:35
您必须使用人员奇偶/geth节点来创建脱机事务。在那之后,你可以用恩弗拉发送这个交易。文档链接:如何用web3js发送事务
https://ethereum.stackexchange.com/questions/49811
复制相似问题