交易陷入"本地交易"状态"在队列中:未来" - 奇偶校验以太网节点

时间:2017-06-23 11:45:22

标签: ethereum web3js

我正在寻求帮助,因为我在本地交易中以Parity TxQueueViewer身份显示的交易状态为:

In queue: Future

如下图所示为tx:0x0e97a4c

enter image description here

我使用https://github.com/ethereumjs/ethereumjs-tx设置tx:0x0e97a4c并使用https://github.com/ethereum/web3.js/发送,如下所示:

var Web3 = require('web3');
var Transaction = require('ethereumjs-tx');
var data = contract.method.getData(some, data);
console.log("Data: " + data);
var gasEstimate = web3.eth.estimateGas({
    to: web3.env.SENDER_ADDRRESS,
    data: data
});
console.log("GasEstimate: " + gasEstimate);
var nonce = web3.eth.getTransactionCount(process.env.SENDER_ADDRRESS);
console.log("Transation Count: " + nonce);
var rawTx = {
    nonce: web3.toHex(nonce),
    gasPrice: web3.toHex(process.env.GAS_PRICE),
    gasLimit: web3.toHex(gasEstimate),
    to: web3.toHex(process.env.CONTRACT_ADDRESS),
    value: web3.toHex(provider.toWei('1', 'ether')),
    data: data,
    chainId: 3
};
console.log("RawTx: " + JSON.stringify(rawTx));
var tx = new Transaction(rawTx);
console.log(tx.getChainId());
tx.sign(new Buffer(process.env.KEY, 'hex'));
web3.eth.sendRawTransaction("0x".concat(tx.serialize().toString('hex')), function(error, txHash) {
    if (error) {
        console.log(error); // an error occurred
        callback(error);
    }
    else {
        callback(null,{"error":0,"tx":txHash});
    }
});

我知道节点正在同步和传播事务,随后进行挖掘,因为事务设置和从Parity UI发送的事务成功如下图所示(显示为上图中挖掘的): enter image description here

作为一些背景,我一直在使用Solidity和Javascript以及利用Truffle和Web3js为以太坊开发一个项目。针对TestRPC进行测试。经过一些研究,我选择Parity over Geth并使用Ropsten网络进行测试。

我有Parity版本:

Parity/v1.6.8-beta-c396229-20170608/x86_64-macos/rustc1.17.0 

运行:

MacOS Sierra 10.12.5.

我开始与以下内容保持平等:

parity --pruning fast --chain ropsten --warp --mode active --jsonrpc-interface all --jsonrpc-hosts all --allow-ips public
  • 状态是什么"在队列中:未来"意思?
  • Parity是否存在某种事务释放机制?
  • 或者我没有为这种类型的节点正确设置事务?

1 个答案:

答案 0 :(得分:2)

我刚刚通过停止Parity进程并删除Parity的缓存(〜/ .local / share / io.parity.ethereum / cache)解决了这个问题。当事务在本地“卡住”时会发生此问题。一旦此“卡住”事务在本地队列中,则在“卡住”事务传播之前,不会传播来自同一地址的其他事务。