Transactions not being mined on Quorum QBFT Chain - blockchain

I am deploying the smart contract on Quorum QBFT Chain using Nethereum ,but transaction being not mined yet stucking in mining.
at this statement
var IndtransactionReceipt = await web3.TransactionManager.TransactionReceiptService.PollForReceiptAsync(IndcontractDeployTx);
my genesis file
Transaction pending ..
Expecting transaction should be mined.

Related

How new transaction will get recorded when all bitcoins are mined

I am new to blockchain and learning about bitcoin & blockchain. As I understood that miners discovered new BLOCK and get the rewards as bitcoin and these BLOCKS are used to keep record of various transactions.
I also learned that there is a cap on max number of bitcoins (21 million) can be mined. This means there won't be any BLOCK left to record any new transaction. Does it mean that once all bitcoins are mined the blockchain will not be operational and no further transactions can be done.
No, after the completion of the bitcoin emission, miners will receive a reward from the fee for each transaction included in the block. This fee will need to be included in transactions.

Difference between "submitted" and "finished" transactions in Substrate blockchain framework?

I run a private network of 6 nodes using substrate node-template v3.0.0. During tests, I noticed a difference between "submitted" and "finished" transactions when sending at a constant transaction rate to the blockchain.
I have sent valid transactions (picture) and there is very big difference between "submitted" and "finished" transactions, what does "submitted" and "finished" transactions actually mean ?
Prometheus queries are respectively:
substrate_sub_txpool_submitted_transactions
substrate_sub_txpool_validations_finished
Also there aren't any invalid transactions.

Hyperledger Sawtooth Unmet Dependencies Transactions

Sawtooth Transaction headers have a dependencies field and which is an array of transaction headers that need to be added to the ledger before this transaction is processed.
Where are transactions with unmet dependencies stored? Are they stored in the node that first received them or stored in every node in the network?
The Validator stores incoming transactions in the pending queue. The Validator consumes the transaction from the pending queue for execution. Execution of the Transaction is done either when a Block is created or Block is validated. Addition of a Transaction to the Block is triggered by the consensus engine action.
A Transaction is broadcasted to other Validators part of that network as and when they arrive. It is removed from the pending queue if either the Transaction is evaluated, either failed or successful. If a Transaction is successful it should be either during the Block creation or the Block validation. If the created Block fails to be committed because of the consensus process, these Transactions are added back to the pending queue. There was nothing wrong with the Transaction as such, it just happened to be not part of the Block that is committed. A Transaction in other terms completely removed from the pending queue in successful case when it is committed to a Block.
When I say Transaction is pended at the Validator, of-course what is received is a Batch. Dependency check is done by the Validator when it considers a Transaction be added to the Block.
Hope this answers the question. Please add specific question if you're facing any issue or want to know in detail.

How does ethereum handle duplicate transaction in different world state which means one tx is valid and the other not?

step1: I create a smart contract call transaction TX and send it to ethereum.
step2: The TX is validated and broadcast to other nodes.
step3: Evm execute the TX failed(maybe because solidity function return err, and so on).
step4: Someone else changed the contract state, my previous TX is valid now.
My question is , if I resend the TX now, would it be executed or discarded as a
duplicate transaction?
If ethereum does not do duplicate check, one transaction may cycle in p2p network?
Each transaction has a nonce. You must increment the nonce each time you send a transaction.
So in your scenario, let's say the first transaction had a nonce of 5. That transaction failed. The next transaction you send must have nonce 6. So you can't simply rebroadcast the same transaction—it will be rejected as having an invalid nonce—but you can make a new transaction that is identical except for an incremented nonce. That one will be eligible to be mined into a block.

Ethereum Pending Transaction

I am trying to send a transaction.
eth.sendTransaction({from: eth.accounts[0], to: eth.accounts[1], value: web3.toWei(5, "ether")})
eth.sendTransaction({from: eth.accounts[0], to: eth.accounts[1], value: web3.toWei(5, "ether")})
INFO [08-25|21:14:21] Submitted transaction
fullhash=0xe1b58ddcb6d8c3f3a8308e0eb275f10c0c3b7bd8807cd24ff6a315a3917ab2a5
recipient=0x939f34bc9253a62927871c889bcf62f398d264a6 INFO
[08-25|21:14:29] Submitted transaction
fullhash=0x33ca6bb00a70de13bd8b1fdec5d0a7995ad09a90e416ac8ab686fc650a324331
recipient=0x939f34bc9253a62927871c889bcf62f398d264a6 INFO
[08-25|21:14:57] Updated mining threads threads=1
INFO [08-25|21:14:57] Transaction pool price threshold updated
price=18000000000 INFO [08-25|21:14:57] Starting mining operation
INFO [08-25|21:14:57] Commit new mining work
number=1 txs=2 uncles=0 elapsed=73.574ms
But when i run
eth.pendingTransactions
i am able to see the list of above sent transactions
SO my question is
When will the transactions be mined?
P.S.- i am running it on my local machine(private blockchain)
Thanks in advance :)
If you are using private blockchain then you can run miner.start() function using the console. After that it will take 5-6 min and miner will be ready to pick your transaction and automatically coinbase account balance will be increased.
Some time if you send very less gas and gasprice with your transaction with your transaction then may be transaction gets stuck. So please send enough gas with your transaction. It will get executed.
You can also send gas and gasprice in your command as below--
eth.sendTransaction({from: eth.coinbase, to: "0x154230ed91d1e711e56b9c0f88b5ba5fd2bghjgf", value: web3.toWei(5, "ether"),gas:21000,gasPrice:web3.toWei(45,"wei")})
Hope this will help