2

ローカル トランザクションの下の Parity TxQueueViewer にステータスとして表示されているトランザクションと同じくらいスタックしてしまったので、助けを求めています。

In queue: Future

以下のスクリーンショットに示すように、tx: 0x0e97a4c

ここに画像の説明を入力

以下のように、tx: 0x0e97a4c をhttps://github.com/ethereumjs/ethereumjs-txで設定し、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});
    }
});

以下の図のように、トランザクションのセットアップとパリティ UI からの送信が成功すると、ノードがトランザクションを同期して伝播し、その後マイニングされることがわかります (上の画像ではマイニングされていることが示されています)。 ここに画像の説明を入力

背景として、Solidity と Javascript を使用し、Truffle と Web3js を利用して、イーサリアムのプロジェクトを開発してきました。TestRPC に対するテスト。いくつかの調査の後、Geth ではなく Parity を選択し、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
  • ステータス「待機中: 将来」とはどういう意味ですか?
  • パリティを使用した何らかのトランザクション リリース メカニズムはありますか?
  • それとも、このタイプのノードに対してトランザクションを正しく設定していませんか?
4

2 に答える 2