Skip to content

ElementsProject/elements

master
Switch branches/tags
Code

Latest commit

efdb2f4 getblockchaininfo: remove incorrect fields 'signblock_asm' and 'signblock_hex' from rpc response (James Dorfman)

Pull request description:

  Fixes #1109.

  To summarize, there are currently two similar sets of fields in the `getblockchaininfo` RPC response which purport to describe the network's current blocksigning script:

  ```
  $ elements-cli getblockchaininfo
  {
    "chain": "liquidv1",
    "blocks": 1808648,
    ...
    "signblock_asm": "11 026a2a106ec32c8a1e8052e5d02a7b0a150423dbd9b116fc48d46630ff6e6a05b9 02791646a8b49c2740352b4495c118d876347bf47d0551c01c4332fdc2df526f1a 02888bda53a424466b0451627df22090143bbf7c060e9eacb1e38426f6b07f2ae1 02aee8967150dee220f613de3b239320355a498808084a93eaf39a34dcd6202485 02d46e9259d0a0bb2bcbc461a3e68f34adca27b8d08fbe985853992b4b104e2741 02e9944e35e5750ab621e098145b8e6cf373c273b7c04747d1aa020be0af40ccd6 02f9a9d4b10a6d6c56d8c955c547330c589bb45e774551d46d415e51cd9ad51163 033b421566c124dfde4db9defe4084b7aa4e7f36744758d92806b8f72c2e943309 0353dcc6b4cf6ad28aceb7f7b2db92a4bf07ac42d357adf756f3eca790664314b6 037f55980af0455e4fb55aad9b85a55068bb6dc4740ea87276dc693f4598db45fa 0384001daa88dabd23db878dbb1ce5b4c2a5fa72c3113e3514bf602325d0c37b8e 039056d089f2fe72dbc0a14780b4635b0dc8a1b40b7a59106325dd1bc45cc70493 0397ab8ea7b0bf85bc7fc56bb27bf85e75502e94e76a6781c409f3f2ec3d112219 03b00e3b5b77884bf3cae204c4b4eac003601da75f96982ffcb3dcb29c5ee419b9 03c1f3c0874cfe34b8131af34699589aacec4093399739ae352e8a46f80a6f6837 15 OP_CHECKMULTISIG",
    "signblock_hex": "5b21026a2a106ec32c8a1e8052e5d02a7b0a150423dbd9b116fc48d46630ff6e6a05b92102791646a8b49c2740352b4495c118d876347bf47d0551c01c4332fdc2df526f1a2102888bda53a424466b0451627df22090143bbf7c060e9eacb1e38426f6b07f2ae12102aee8967150dee220f613de3b239320355a498808084a93eaf39a34dcd62024852102d46e9259d0a0bb2bcbc461a3e68f34adca27b8d08fbe985853992b4b104e27412102e9944e35e5750ab621e098145b8e6cf373c273b7c04747d1aa020be0af40ccd62102f9a9d4b10a6d6c56d8c955c547330c589bb45e774551d46d415e51cd9ad5116321033b421566c124dfde4db9defe4084b7aa4e7f36744758d92806b8f72c2e943309210353dcc6b4cf6ad28aceb7f7b2db92a4bf07ac42d357adf756f3eca790664314b621037f55980af0455e4fb55aad9b85a55068bb6dc4740ea87276dc693f4598db45fa210384001daa88dabd23db878dbb1ce5b4c2a5fa72c3113e3514bf602325d0c37b8e21039056d089f2fe72dbc0a14780b4635b0dc8a1b40b7a59106325dd1bc45cc70493210397ab8ea7b0bf85bc7fc56bb27bf85e75502e94e76a6781c409f3f2ec3d1122192103b00e3b5b77884bf3cae204c4b4eac003601da75f96982ffcb3dcb29c5ee419b92103c1f3c0874cfe34b8131af34699589aacec4093399739ae352e8a46f80a6f68375fae",
    ...
    "current_signblock_asm": "0 e51211e91d9cf4aec3bdc370a0303acde5d24baedb12235fdd2786885069d91c",
    "current_signblock_hex": "0020e51211e91d9cf4aec3bdc370a0303acde5d24baedb12235fdd2786885069d91c",
    ...
  }
  ```

  The `signblock_asm`/`signblock_hex` fields only display the initial blocksigning script that was used at the time of network genesis. On the other hand, the `current_signblock_asm`/`current_signblock_hex` fields actually show the blocksigning script that is currently being used on the network, and these values change as expected following dynafed transitions.

  The `signblock_asm`/`signblock_hex` fields are currently misleading, and they will become entirely incorrect following future dynafed transitions that modify the `signblockscript`.

  I have considered the following options:
  * Rename these fields to `initial_signblock_asm`/`initial_signblock_hex`
  * Remove the fields entirely

  In this PR I have removed them entirely, because I don't think they serve any use. However, this will be a breaking change. As such, I am also open to simply renaming them.

ACKs for top commit:
  stevenroose:
    utACK efdb2f4

Tree-SHA512: 626017ebf3014a78460a3e148b7405e870f3c9f358ce8b02becac77a3d43ac2be91242e08c580b763ee38f531815c2e9034ad00c87fcff176a2d689a1b7176af
03b8b0c

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
Nov 15, 2021

Elements Project blockchain platform

Build Status

https://elementsproject.org

This is the integration and staging tree for the Elements blockchain platform, a collection of feature experiments and extensions to the Bitcoin protocol. This platform enables anyone to build their own businesses or networks pegged to Bitcoin as a sidechain or run as a standalone blockchain with arbitrary asset tokens.

Modes

Elements supports a few different pre-set chains for syncing. Note though some are intended for QA and debugging only:

  • Liquid mode: elementsd -chain=liquidv1 (syncs with Liquid network)
  • Bitcoin mainnet mode: elementsd -chain=main (not intended to be run for commerce)
  • Bitcoin testnet mode: elementsd -chain=testnet3
  • Bitcoin regtest mode: elementsd -chain=regtest
  • Elements custom chains: Any other -chain= argument. It has regtest-like default parameters that can be over-ridden by the user by a rich set of start-up options.

Confidential Assets

The latest feature in the Elements blockchain platform is Confidential Assets, the ability to issue multiple assets on a blockchain where asset identifiers and amounts are blinded yet auditable through the use of applied cryptography.

Features of the Elements blockchain platform

Compared to Bitcoin itself, it adds the following features:

Previous elements that have been integrated into Bitcoin:

  • Segregated Witness
  • Relative Lock Time

Elements deferred for additional research and standardization:

Additional RPC commands and parameters:

License

Elements is released under the terms of the MIT license. See COPYING for more information or see http://opensource.org/licenses/MIT.

What is the Elements Project?

Elements is an open source, sidechain-capable blockchain platform. It also allows experiments to more rapidly bring technical innovation to the Bitcoin ecosystem.

Learn more on the Elements Project website

https://github.com/ElementsProject/elementsproject.github.io

Secure Reporting

See our vulnerability reporting guide