chaintope / tapyrus-core

Tapyrus Core
MIT License
46 stars 17 forks source link

Enable packages through testmempoolaccept #284

Open azuchi opened 11 months ago

azuchi commented 11 months ago

Similar to Bitcoin, multiple parent-child transactions can be tested using testmempoolaccept RPC.

Naviabheeman commented 8 months ago

292 contains both testmempoolaccept and submitpackage RPCs.

  1. The PR toes not change fee related behaviour. In bitcoin Package transactions are evaluated as one whole entity while checking for fee. A parent transaction can pay the fee of a child. in tapyrus fee id still paid by individual transactions. We need to decide whether to change this and which transaction pays for the package fee: Any one tx in the package/ first/ parent tx / all tx.

  2. Package transportation is not implemented in bitcoin, each transaction is relayed individually. We can implement relay if necessary - add a package header similar to block header. Allow package relay only in well defined cases - for example peers which have dos score 0. The difference between block and package will be that package txs are unconfirmed and are added to mempool as a whole or nothing.