New Release - Nimble 1.0.13
Today we’re releasing a new version of our Bitcoin library, Nimble. This release adds script debugging, reduced fee rates, and block header parsing.
Install it from NPM or from github. If you have any questions or feedback, please reach out in the nimble channel in the Atlantis Slack or open an issue on Github.
We will be integrating it into the Run SDK starting in v0.7. You can try it today on the Run homepage using the browser console.
Benefits
Feature: New evalScript function for debugging scripts
You can now use nimble to debug Bitcoin scripts locally.
1 | const prevtxHex = '010000000001e8030000000000001976a9141f5a3321324238f2abea3fd26dfb03493d72863188ac00000000' |
This outputs
1 | success: false |
The return of evalScript
is an object with various properties to help debug. The stackTrace
property in particular stores an array of [chunk, stack, altStack]
where each element is a single step of the script.
Feature: Lower default fee rate to 50 sats/kb
Bitcoin SV nodes are now accepting 50 sats/kb by default. While some miners are accepting rates even lower, we believe it’s best as a default to ensure as many nodes as possible receive your transactions. You can configure this rate lower by setting nimble.feePerKb
.
Feature: Use 1-sat outputs in Transaction
Bitcoin SV nodes are now accepting 1-satoshi outputs. We default to that now in the Transaction
class for P2PKH outputs. We also removed the calculateDust
function because this logic no longer is used in Bitcoin nodes.
Feature: New readBlockHeader() function
For light clients and bitcoin services, we added a function to decode block headers.
1 | const genesisBlock = '0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A29AB5F49FFFF001D1DAC2B7C0101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000' |