An open source smart contract platform
This release contains security, stability, and miscellaneous fixes.
Note: These security fixes are relevant to all nodes on EOSIO blockchain networks.
Special thanks to the community contributors that submitted patches for this release:
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
This release contains stability and miscellaneous fixes.
transaction_failure_tracing
. (#9252)A detailed log that emits failed verdicts from relay nodes on the P2P network. In addition, it adds a logging statement for a failed signature condition.
max-nonprivileged-inline-action-size
. (#9262)This option is the cap for the size of an inline action above which a transaction will subjectively fail; the default value is 4KB.
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
This release contains security, stability, and miscellaneous fixes.
Note: These security fixes are relevant to API nodes on EOSIO blockchain networks.
Adds transaction_mroot
, action_mroot
and schedule_version
in block trace. Also adds status
, cpu_usage_us
, net_usage_words
, signatures
, and transaction_header
in transaction trace.
get_accounts_by_authorizers
(#8899)New optional RPC endpoint POST /v1/chain/get_accounts_by_authorizers
added to chain_api_plugin
that provides a super-set of the deprecated history_api_plugin
's get_key_accounts
and get_controlled_accounts
RPC methods.
Flag to enable endpoint (default false): --enable-account-queries
Special thanks to the community contributors that submitted patches for this release:
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
This release contains security and miscellaneous fixes.
Note: These security fixes are relevant to API nodes on EOSIO blockchain networks.
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
This release contains security, stability, and miscellaneous fixes.
Note: These security fixes are relevant to all nodes on EOSIO blockchain networks.
Compressed file support was added to trace_api_plugin
. See (#8837) for more details.
The RPC call v1/trace_api/get_block
now has "async" http support. Therefore, executing get_block
no longer runs on the main application thread but on the configurable http-threads
thread pool.
Additionally, trace_api_plugin
now respects http-max-response-time-ms
for limiting response time of RPC call v1/trace_api/get_block
. It is very likely that the default value of http-max-response-time-ms
will not be appropriate for large blocks and will need to be increased.
Special thanks to the community contributors that submitted patches for this release:
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
This release contains stability and miscellaneous fixes.
The read-only
option for the read-mode
parameter in nodeos
has been deprecated. It is possible to achieve the same behavior with read-mode = head
, p2p-accept-transactions = false
, and api-accept-transactions = false
. See the sub-section "Accept transactions options" below for more details.
Please refer to the Consolidated EOSIO Deprecations List for the currently active set of deprecation notices.
This release contains the first official release of the Trace API Plugin. This plugin is an optional addition to nodeos
that stores a tailored view of the transactions and actions that execute on the chain retrievable at a block level. The Trace API focuses on operational maintainability storing data on the filesystem instead of in RAM like the deprecated history-plugin
and organizing that data such that operators can easily prune old data without disrupting operations.
For more information, see the PR notes and the official documentation.
nodeos
no longer considers a transaction for inclusion in a block in the process of being produced if the billed account(s) do not have sufficient CPU available to cover the previously estimated CPU usage of the transaction (only if a previous estimate for CPU usage is available).
nodeos
now immediately produces a block if either the CPU or NET usage thresholds are exceeded. This change includes a fix for dropping late blocks starting 50ms earlier than the block production window.
New options:
max-block-cpu-usage-threshold-us
:
Threshold (in microseconds) of CPU block production to consider block full; when accumulated CPU usage within a block is less than max-block-cpu-usage-threshold-us
away from max-block-cpu-usage
, the block can be produced immediately. Default value is 5000.max-block-net-usage-threshold-bytes
:
Threshold (in bytes) of NET block production to consider block full; when accumulated NET usage within a block is less than max-block-net-usage-threshold-us
away from max-block-net-usage
, the block can be produced immediately. Default value is 1024.New options:
p2p-accept-transactions
: Allow transactions received over p2p
network to be evaluated and relayed if valid. Default is true.api-accept-transactions
: Allow API transactions to be evaluated
and relayed if valid. Default is true.Provides ability to have a read-mode = head
with p2p-accept-transactions = false
and api-accept-transactions = true
. This combination creates an efficient API node that is not burdened with processing P2P transactions.
The same behavior of the now deprecated read-mode = read-only
can be achieved with read-mode = head
by setting p2p-accept-transactions = false
and api-accept-transactions = false
.
WARNING: Use of read-mode = irreversible
now requires setting p2p-accept-transactions = false
and api-accept-transactions = false
to avoid assertion at startup.
Improve block relaying performance when a block is from a trusted producer or if nodeos
is running in light validation mode. This is achieved by relaying the block as soon as block header validation is complete (but before full block application/validation).
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
This release contains miscellaneous fixes.
The read-only
option for the read-mode
parameter in nodeos
has been deprecated. It is possible to achieve the same behavior with read-mode = head
, p2p-accept-transactions = false
, and api-accept-transactions = false
. See the sub-section "Accept transactions options" below for more details.
Please refer to the Consolidated EOSIO Deprecations List for the currently active set of deprecation notices.
nodeos
no longer considers a transaction for inclusion in a block in the process of being produced if the billed account(s) do not have sufficient CPU available to cover the previously estimated CPU usage of the transaction (only if a previous estimate for CPU usage is available).
nodeos
now immediately produces a block if either the CPU or NET usage thresholds are exceeded. This change includes a fix for dropping late blocks starting 50ms earlier than the block production window.
New options:
max-block-cpu-usage-threshold-us
:
Threshold (in microseconds) of CPU block production to consider block full; when accumulated CPU usage within a block is less than max-block-cpu-usage-threshold-us
away from max-block-cpu-usage
, the block can be produced immediately. Default value is 5000.max-block-net-usage-threshold-bytes
:
Threshold (in bytes) of NET block production to consider block full; when accumulated NET usage within a block is less than max-block-net-usage-threshold-us
away from max-block-net-usage
, the block can be produced immediately. Default value is 1024.New options:
p2p-accept-transactions
: Allow transactions received over p2p
network to be evaluated and relayed if valid. Default is true.api-accept-transactions
: Allow API transactions to be evaluated
and relayed if valid. Default is true.Provides ability to have a read-mode = head
with p2p-accept-transactions = false
and api-accept-transactions = true
. This combination creates an efficient API node that is not burdened with processing P2P transactions.
The same behavior of the now deprecated read-mode = read-only
can be achieved with read-mode = head
by setting p2p-accept-transactions = false
and api-accept-transactions = false
.
WARNING: Use of read-mode = irreversible
now requires setting p2p-accept-transactions = false
and api-accept-transactions = false
to avoid assertion at startup.
Improve block relaying performance when a block is from a trusted producer or if nodeos
is running in light validation mode. This is achieved by relaying the block as soon as block header validation is complete (but before full block application/validation).
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
This release contains security, stability, and miscellaneous fixes.
Note: These security fixes are relevant to all nodes on EOSIO blockchain networks.
Please refer to the Consolidated EOSIO Deprecations List for the currently active set of deprecation notices.
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
This release contains stability and miscellaneous fixes.
Please refer to the Consolidated EOSIO Deprecations List for the currently active set of deprecation notices.
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
This release contains security, stability, and miscellaneous fixes.
Note: These security fixes are relevant to all nodes on EOSIO blockchain networks.
The new options cpu-effort-percent
and last-block-cpu-effort-percent
now provide a mechanism to restrict the amount of time a producer is processing transactions for inclusion into a block. It also controls the time a producer will finalize/produce and transmit a block. Block construction now always begins at whole or half seconds for the next block.
Versions of EOSIO prior to v2.0.x accept keys and signatures containing extra data at the end. In EOSIO v2.0.x, the Base58 string parser performs additional sanity checks on keys and signatures to make sure they do not contain more data than necessary. These stricter checks cause nodes to reject signatures generated by some transaction signing libraries; eosjs v20 is known to generate proper signatures. For more information see issue #8534.
Please refer to the Consolidated EOSIO Deprecations List for the currently active set of deprecation notices.
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.