NodeCore 0.4.8 ReleaseNotes
See: ReleaseNotes
Contents
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
(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.