Transaction compiler
Closed this issue · 2 comments
many thanks for this work. I moved to something else, otherwise would have liked to contributed more. some things can be seen here, but I couldn't merge them anywhere, and abandoned the effort: https://github.com/LykkeCity/Notary/tree/master/glue, also because upstream moved to NBitcoin exclusively.
The idea was to have something like a transaction compiler or builder to provide an easy to use interface for user-space. The problem is that bitcoin-core requires tremendous amount of expertise to compile transactions. Currently advanced transactions are used only by handful of experts in the world. python-bitcoinlib could be an intermediary layer, but its not quite that (not its purpose probably in any case). Referencing previous inputs alone is not trivial. To move some money one needs to know "where" that money is stored. To arrive at some code which in 3 lines of code moves money from A to B, seems to be not really possible and the way I see it now requires redesign of the entire stack as it relates to UTXO way of accounting itself. NBitcoin to some extent allows to do that with the transaction builder.
NBitcoin likely has it's own p2p layer, data storage, indexes. python-bitcoinlib is a great lib with support for lots of hard stuff, but it doesn't purport to be a full node.
Given bitcoin is a protocol, it seems silly to combine a library with a specific storage engine or API for querying data. Everyone has their own requirements, so the lack of the feature in this library should encourage you to think about what you need, how you want to achieve that (without accruing technical debt)
I could put it another way: NBitcoin is doing too much for you, and probably made you not consider other solutions, like Insight, which both python/C# can talk to.
3 line code to build a transaction? dangerous btc trx are very complicated to sign you should know how it works at the core.