chaintope / tapyrus-core

Tapyrus Core
MIT License
46 stars 17 forks source link

Review command line options #216

Closed Naviabheeman closed 2 years ago

Naviabheeman commented 2 years ago

We still carry some command line options useful only in bitcoin. We may not need them.

azuchi commented 2 years ago

assumevalid (If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification.) - remove option and feature

I think this option useful to speed up IBD on Tapyrus as well.

enablebip61 (enable sending reject messages introduced by BIP61.) - remove the command line option and make this behaviour default.

This means, enable reject message as default?

permitbaremultisig (bare-multisig transactions are classified standard only when this is enabled. Default is true). - is it necessary?

I see. But I don't think there is a clear reason to remove it.

rpcserialversion (use segwit or non-segwit serialisation for raw transaction or block hex returned in non-verbose mode) - remove option and make non-segwit default

I think make non-segwit default is better, so Tapyrus does not adopt segwit.

Naviabheeman commented 2 years ago

My argument is that these command line switches are in bitcoin to enable or disable new features. I guess bitcoin nodes need not start using them as soon as it is available. In tapyrus we follow the default behaviour. So I'm suggesting that we remove the command line switch alone. The feature or node behaviour doesn't change in any of these cases.

This means, enable reject message as default?

the default is true. i.e reject messages are enabled. We can have this option only if we want to allow nodes to disable sending reject messages.

I see. But I don't think there is a clear reason to remove it.

since we allow bare multis as standard by default, is the option to disable it necessary?

I think make non-segwit default is better, so Tapyrus does not adopt segwit.

we removed segwit kind of serialisation from our code base. what remains is only this command line switch and code to use it.

azuchi commented 2 years ago

So I'm suggesting that we remove the command line switch alone. The feature or node behaviour doesn't change in any of these cases.

I see. I agree to remove the following options: