go-bt
go-bt copied to clipboard
The go-to Bitcoin Transaction (BT) Go library.
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.1 to 1.8.1. Commits b747d7c Bump github.com/stretchr/objx from 0.4.0 to 0.5.0 (#1283) 181cea6 impr: CallerInfo should print full paths to the terminal (#1201) cf1284f Allow mock expectations...
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.0 to 1.8.1. Commits b747d7c Bump github.com/stretchr/objx from 0.4.0 to 0.5.0 (#1283) See full diff in compare view [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with...
Building for 32bit in TinyGo for a web-assembly build, comparing an `int` to `0xffffffff` leads to the following build error: `github.com/libsv/go-bt/[email protected]/bscript/script.go:412:9: 0xffffffff (untyped int constant 4294967295) overflows int` I have...
There are 3 conflicting examples in this repo for the same transaction. Package module names don't match the filestructure... unintuitive and messy. Generally needs harmonising with the readme so its...
Currently through our code we have references to `opcode` and `opCode`, in both internal var names and error types. This inconstency should be address before releasing v2, to prevent it...
The following locking/unlocking script combo fail on our interpreter, but pass on others: ``` Locking script: 017b0300000000000003000000000000615779577957795779577957795779577952007600a26976529f699454958c6b6c766b796c766b796c766b796c766b796c756b6b6b6b75757575757575756c6c6c6c53795f007600a26976529f695195946b6c766b796c7587696152795279527953007600a26976539f699451958c6b6c766b796c756b7575756c011600539500937600a26976569f695195946b6c766b796c759c696152795279527953517600a26976539f699451958c6b6c766b796c756b7575756c011600539551937600a26976569f695195946b6c766b796c759c696152795279527953527600a26976539f699451958c6b6c766b796c756b7575756c011600539552937600a26976569f695195946b6c766b796c759c6975757575615779577957795779577957795779577952517600a26976529f699454958c6b6c766b796c766b796c766b796c766b796c756b6b6b6b75757575757575756c6c6c6c53795f517600a26976529f695195946b6c766b796c7587696152795279527953007600a26976539f699451958c6b6c766b796c756b7575756c011651539500937600a26976569f695195946b6c766b796c759c696152795279527953517600a26976539f699451958c6b6c766b796c756b7575756c011651539551937600a26976569f695195946b6c766b796c759c696152795279527953527600a26976539f699451958c6b6c766b796c756b7575756c011651539552937600a26976569f695195946b6c766b796c759c697575757558795c799c777777777777777777777777777777777777 Unlocking script: 000000000000017b0300000003000000 ```
The following locking and unlocking script combo pass on python but fail on our interpreter. ```python from bitcoinx import Script, TxOutput, Tx, TxInput, TxInputContext, InterpreterLimits, MinerPolicy prev_locking_script = Script.from_hex('510140000000000061587961007901687f7700005279517f75007f77007901fd8763615379537f75517f77007901007e81517a7561537a75527a527a5379535479937f75537f77527a75517a67007901fe8763615379557f75517f77007901007e81517a7561537a75527a527a5379555479937f75557f77527a75517a67007901ff8763615379597f75517f77007901007e81517a7561537a75527a527a5379595479937f75597f77527a75517a67615379517f75007f77007901007e81517a7561537a75527a527a5379515479937f75517f77527a75517a6868685179517a75517a75517a75517a7561517a7561610079007982775179517951947f755179549451947f77007981527951799454945194517a75517a75517a75517a7561517951797f75537a75527a527a610000537953797f770079537a75527a527a00527a75517a756161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a7561597a75587a587a587a587a587a587a587a587a6161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a75618161587a75577a577a577a577a577a577a577a61005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a7561577a75567a567a567a567a567a567a6161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a75618161567a75557a557a557a557a557a615c796100792097dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff0262102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382210ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800206c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810201008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c011179011179855679aa616100790079517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01007e81517a756157795679567956795679537956795479577995939521414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff0061517951795179517997527a75517a5179009f635179517993527a75517a685179517a75517a7561527a75517a517951795296a0630079527994527a75517a68537982775279827754527993517993013051797e527e53797e57797e527e52797e5579517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7e56797e0079517a75517a75517a75517a75517a75517a75517a75517a75517a75517a75517a75517a756100795779ac517a75517a75517a75517a75517a75517a75517a75517a75517a7561517a7561695f79011179ac69607959007600a26976529f695295946b6c766b796c766b796c75517a517a7587635e7959517600a26976529f695295946b6c766b796c766b796c75517a517a758767006864607959517600a26976529f695295946b6c766b796c766b796c75517a517a7587635e7959007600a26976529f695295946b6c766b796c766b796c75517a517a758767006867516869607959007600a26976529f695295946b6c766b796c766b796c75517a517a75876358007600a26976529f695295946b6c766b796c766b796c75007a517a755e79a26958007600a26976529f695295946b6c766b796c766b796c75007a517a755e7994587a75577a577a577a577a577a577a577a58007600a26976529f695295946b6c766b796c766b796c75007a517a757558517600a26976529f695295946b6c766b796c766b796c75007a517a755e7993567a75557a557a557a557a557a58517600a26976529f695295946b6c766b796c766b796c75007a517a75756758517600a26976529f695295946b6c766b796c766b796c75007a517a755e79a26958517600a26976529f695295946b6c766b796c766b796c75007a517a755e7994567a75557a557a557a557a557a58517600a26976529f695295946b6c766b796c766b796c75007a517a757558007600a26976529f695295946b6c766b796c766b796c75007a517a755e7993587a75577a577a577a577a577a577a577a58007600a26976529f695295946b6c766b796c766b796c75007a517a757568616158007600a26976529f695295946b6c766b796c766b796c75517a517a7500798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a75616159007600a26976529f695295946b6c766b796c766b796c75007a517a75610079009c6301006700796800798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a7561517a75617e6159517600a26976529f695295946b6c766b796c766b796c75517a517a7500798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a75617e6159517600a26976529f695295946b6c766b796c766b796c75007a517a75610079009c6301006700796800798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a7561517a75617e5579615179007982775480517951797e0051807e517a75517a75617e517a75616100795d79007958806152790079827700517902fd009f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a75675179030000019f6301fd615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f6301fe615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179090000000000000000019f6301ff615279585179517951938000795179827751947f75007f77517a75517a75517a75617e517a7568686868007953797e517a75517a75517a75617e517a75517a75610079aa615f79007982775179517958947f7551790128947f77517a75517a756187777777777777777777777777777777777777776a2102d0de0aaeaefad02b8bdc8a01a1b8b11c696bd3d66a2c5f10780d95b7df42645c01642102eec2540661b0c39d271570742413bd02932dd0093493fd0beced0b7f93addec4004700000000') unlocking_script...
Currently, `OP_RETURN` after genesis are handled using a special case error code, `ErrOK`, which results in some pretty funky and unintuitive code. So for example, on `OP_RETURN`, we check to...
Greetings first of all thank you for creating this awesome library. I just started diving into Bitcoin development (and Golang) recently and this library, on top of others, is a...