我正在寻求帮助,因为我已经像我的交易一样陷入困境,这些交易在 Parity TxQueueViewer 中显示为本地交易状态:
In queue: Future
如下图所示为 tx: 0x0e97a4c
我正在使用 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 发送成功,如下图所示(如上图所示):
作为一些背景,我一直在使用 Solidity 和 Javascript 并利用 Truffle 和 Web3js 为以太坊开发一个项目。针对 TestRPC 进行测试。经过一番研究,我选择了 Parity 而不是 Geth,并使用 Ropsten 网络运行测试。
我有奇偶校验版本:
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 是否有某种交易释放机制?
- 还是我没有为这种类型的节点正确设置事务?