Closed ProofOfKeags closed 4 years ago
The plan is to support Bitcoin Cash (BCH) and Bitcoin SegWit (BTC) exclusively. Having a modular approach could work, but I expect that to be too much work for only these two networks whose validation rules mostly overlap.
This is true for now, I'm more just concerned about them diverging in the future and what principled approach for this library is to handle that scenario. I'll proceed for now with both opcode sets projected to the same set. But I expect to revisit this conversation sometime in the near future as the protocols continue to grow.
There is no present or future plan to accommodate future forks of either Bitcoin or Bitcoin Cash or other cryptocurrencies in any of the Haskoin programs. That can change in the future, but for the sake of simplicity you should carry on under this assumption.
As I was going through what I would have to do to add a script validation engine and I was wondering what coins this project wants to support and which ones it doesn't. One of the problems I have encountered as I'm working at SALT is that abstracting over multiple currencies is tough. And the more we want to abstract over them the less likely we'll be able to keep up with any one of them especially as they get increasingly complex?
So wrt to bitcoin cash are we supporting ABC or SV? or both? And which future forks of bitcoin would be qualified for support? The reason I ask is that it affects the design decisions we have to make around the structure of our opcode grammars. Alternatively we could go with a different module for each and not abstract over them generally.