Difference between revisions of "NodeCore 0.4.8 ReleaseNotes"

From Veriblock Wiki
Jump to: navigation, search
(Created page with "See: ReleaseNotes __TOC__ == Nodecore.dat storage split into multiple files == Block storage has been reworked. The bootstrap file size has been reduced significantly an...")
 
Line 141: Line 141:
 
== Other ==
 
== Other ==
 
* Optimized data stored in block storage to shrink from 60 GB to 23GB
 
* Optimized data stored in block storage to shrink from 60 GB to 23GB
 +
* When booting up and loading the blockchain a progress bar will be displayed.
 +
* NodeCore's logging is now much less verbose. To enable verbosity, use the "NODECORE_CONSOLE_LOG_LEVEL=DEBUG" environment variable.

Revision as of 09:48, 13 February 2020

See: ReleaseNotes

Nodecore.dat storage split into multiple files

Block storage has been reworked. The bootstrap file size has been reduced significantly and now the blocks' data is split into files and subfolders (~1 file per day and ~1 subfolder per year).

  • There will be a 'blocks' folder in the data directory. This folder will contain a set of subfolders with numerical values, and in each of these subfolders there will be a numerical .dat file.
  • Nodecore will automatically upgrade the existing data into the new format, prompting the user beforehand.
mainnet/
  blocks/
    000/
      000.dat
      001.dat
      002.dat
      ...

Update getHistory command to show more transaction history

Address indexing option has been implemented. When enabled, the gethistory <address> command and API will return all the transactions affecting the given address.

  • This option can be enabled with the blockchain.index.addresses=true configuration which is inside the nodecore.properties file


Output Sample...
(VBK_CLI rpc (127.0.0.1:10501)) > gethistory V3AsJRSSSV7g6LVxMhgXuiBe15hhJK
gethistory V3AsJRSSSV7g6LVxMhgXuiBe15hhJK
[
  {
    "balance": "29.99934000",
    "blocks_mined": 0,
    "confirmed_transactions": [
      {
        "type": "signed",
        "signed": {
          "signature": "3046022100ACC31D34D3F8E7441BB136548D934708A05B0B5D4AA69ACADC42011FBDAEB623022100ECC020AC97975BDCFB3F547C27EF013B675718EA5B0C0A7DB7D6C9E5E1D8BA3A",
          "public_key": "3056301006072A8648CE3D020106052B8104000A034200044DEF8C9104AA0FD5CBA927925F657A03FCFA10755F36937DF7352EDAA8A965E46DCA8BDC91B85BABE135E4869DACBF2C28C905D0530903303A714F2093613C80",
          "signature_index": 0,
          "transaction": {
            "size": 67,
            "txid": "03849591FB273ED4818647EFDDF99CA87BEAFE2D329B7A26DEC56F8E145A0414",
            "data": "",
            "type": "standard",
            "fee": "0.00066000",
            "timestamp": 1581445506,
            "source_amount": "70.00066000",
            "merkle_path": "",
            "source_address": "V3AsJRSSSV7g6LVxMhgXuiBe15hhJK",
            "bitcoin_transaction": "N/A",
            "bitcoin_block_header_of_proof": "N/A",
            "endorsed_block_header": "N/A",
            "outputs": [
              {
                "address": "V5ePgM74AENVbpUt2FbVmqswdAh4hz",
                "amount": "70.00000000"
              }
            ]
          }
        }
      },
      {
        "type": "signed",
        "signed": {
          "signature": "3046022100A579F43EB1F2400650B760A4407C988F85ADE4D6AA596532EE4CBF6A8FEF82D2022100A630E4971B583160619269C350EB8541CED56D9D21CB14365180CA5DA23B0BCB",
          "public_key": "3056301006072A8648CE3D020106052B8104000A034200046C1750232449DA0E613E0516313AA1FEC64FCC03BDEC872EA3D5985D3AE36A1F35EAC6FB46CE2DCC2F25E6ADA7E4190D86BED0CC8B5AA6AAFE4D6B009D011CF9",
          "signature_index": 180,
          "transaction": {
            "size": 67,
            "txid": "4F92D3D2DC54952C4FF71325AAE68C192F9CC6BDC3DF891582371385C22920B6",
            "data": "",
            "type": "standard",
            "fee": "0.00066000",
            "timestamp": 1581445403,
            "source_amount": "100.00066000",
            "merkle_path": "",
            "source_address": "VGDavya9wLmU5EvKw2479VJT5HcfT9",
            "bitcoin_transaction": "N/A",
            "bitcoin_block_header_of_proof": "N/A",
            "endorsed_block_header": "N/A",
            "outputs": [
              {
                "address": "V3AsJRSSSV7g6LVxMhgXuiBe15hhJK",
                "amount": "100.00000000"
              }
            ]
          }
        }
      }
    ],
    "pending_transactions": []
  }
]

Officially shipping segwit

Segwit support has been officially shipped as part of VPM, with a lower operation failure rate. Previous wiki page: SegWit_PoP_Miner

  • The BitcoinJ library has been updated to the latest version: 0.15.6
  • Fixed a bug that created multiple context objects while creating the bitcoinj's WalletAppKit, which increased unstability.
  • There are a set of new experimental configurable parameters in the VeriBlock PoP Miner which may help users to reduce even more the failure rate:
    • bitcoinj.minimal.peer.protocol.version
    • bitcoinj.max.peer.connections
    • bitcoinj.peer.discovery.timeout.millis
    • bitcoinj.peer.download.tx.dependency.depth
    • bitcoinj.required.peer.services
    • bitcoinj.min.peer.broadcast.connections
    • bitcoinj.max.peers.to.discover.count
    • bitcoinj.peer.ping.interval.msec

You can find documentation about each of these options in the VPM's documentation page

Updated PoP Miner API

PoP Miner API has been reworked (breaking changes):

  • It is closer to the standards (e.g. now it requires the header -H "Content-Type: application/json").
  • Quit API now supports restart code optionally with "/api/quit?restart=true".
  • Restart quit is now supported on the windows bat file.
  • The API documentation is now accessible through the "/apidocs" API call which by default is accessible through the url: localhost:8600/apidocs

Updated CLI and VPM shell

Major rework of applications' shell (CLI and VPM):

  • Shell now is able to display the normal logs in addition to the shell color-printed messages, so there will be more logs.
  • Common logs are colored depending on the severity level.
  • Ability to separately configure the console and files logging level through environment variables:
    • You can use the next logging levels for all the next environment variables: ERROR, WARN, INFO, DEBUG, TRACE, ALL or OFF
    • Nodecore environment variables: NODECORE_LOG_LEVEL, NODECORE_CONSOLE_LOG_LEVEL
    • VeriBlock PoP Miner environment variables: VPM_LOG_LEVEL, VPM_CONSOLE_LOG_LEVEL
    • AltChain PoP Miner environment variables: APM_LOG_LEVEL, APM_CONSOLE_LOG_LEVEL

Updated CLI command getDiagnosticInfo

Added environment variables in the NodeCore diagnostic info.

  • The command getdiagnosticinfo now will display the used command line to start the NodeCore instance and the environment variables.

Other

  • Optimized data stored in block storage to shrink from 60 GB to 23GB
  • When booting up and loading the blockchain a progress bar will be displayed.
  • NodeCore's logging is now much less verbose. To enable verbosity, use the "NODECORE_CONSOLE_LOG_LEVEL=DEBUG" environment variable.