An open source smart contract platform
This release contains stability and miscellaneous updates.
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 is a RELEASE CANDIDATE for version 2.2.0. The latest STABLE release is v2.1.0.
The EOSIO 2.2.0-rc1 includes three new features: Read-only Queries, Private Chain Access, and Resource Payer.
This feature provides a contract-supported method of read-only queries from external clients via a new HTTP-RPC API endpoint push_ro_transaction
. Prior to this release, access was limited to data stored in a single table in DB or KV tables via the get_tables
API, a mechanism which is exacting and inefficient. Read-only queries enable developers to perform more complex, cross-table queries natively via contract code with the assurance that table data is from the same block height. It can also be used to understand the consequences of a transaction before it is sent. For more details
see Read-only Queries Documentation.
Data access control is a critical factor for businesses and organizations interested in using blockchain technologies. In response to this need, a working group was formed between block.one and several technology providers within the community to better identify specific needs and possible solutions. This feature is the first step toward addressing the use cases identified by this group, and allows blockchain administrators to form privacy groups in order to ensure that only authorized parties can join the network or access data. This feature requires that the SECURITY_GROUP
protocol feature is activated.
Blockchain administrators are now able to add or revoke connection access simply by modifying a privileged smart contract. Additionally, all p2p connections within privacy group are using TLS to further ensure protection of sensitive data. For more details read Private Chain Access documentation.
Currently the resource costs for transactions on EOSIO-based public networks are paid by the end user of the application, which can make attracting and onboarding new users very difficult. There is a workaround available, but it’s not a straightforward process for either app developers or their end users. If configured per our reference, the additional transaction extension allows a third party to pay for a transactions net and cpu usage. The transaction must be signed by the payer. There is also the ability to limit the amount of cpu and net that the payer is willing to pay. The transaction_trace
has been modified with the addition of a bill_to_accounts
field, so that it is clear which account paid for cpu/net for the transaction. This feature requires that the RESOURCE_PAYER
protocol feature is activated. For more details see Resource Payer Documentation.
A Sample Transaction with Resource Payer:
{
expiration: '2021-07-09T20:14:13.000',
ref_block_num: 201,
ref_block_prefix: 312235882,
resource_payer: {
payer: 'alice',
max_net_bytes: 4096,
max_cpu_us: 400,
max_memory_bytes: 0
},
actions: [
{
account: 'eosio.token',
name: 'transfer',
authorization: [
{ actor: 'bob', permission: 'active' },
{ actor: 'alice', permission: 'active' }
],
data: {
from: 'bob',
to: 'alice',
quantity: '0.0001 SYS',
memo: 'resource payer'
}
}
],
transaction_extensions: [ [ 1, '0000000000855C34001000000000000090010000000000000000000000000000' ] ],
context_free_actions: []
}
Node operators running version v2.1.x or prior versions should be able to upgrade to v2.2.0-rc1 using a snapshot. Another option is to rebuild state in 2.2.x by replaying the 2.1.x blocks.log.
This release will remove support of MacOS 10.14 (#10418) and Ubuntu16 (#10421).
const char*
fields that it uses for some of its naming and indicatorsSpecial 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 updates and miscellaneous fixes.
This release expands upon the subjective CPU billing introduced in (v2.0.10). Subjective billing (disabled by default) can now be applied to transactions that come in from either P2P connections, API requests, or both. By setting disable-subjective-billing
to false
both P2P and API transactions will have subjective CPU billing applied. Using disable-subjective-p2p-billing
and/or disable-subjective-api-billing
will allow subjective CPU billing to be enabled/disabled for P2P transactions or API transactions respectively. Another option , disable-subjective-account-billing = <account>
, is used to selectively disable subjective CPU billing for certain accounts while applying subjective CPU billing to all other accounts.
cleos get account
is enhanced to report subjective cpu bandwidth
, which contains used subjective CPU billing in microseconds for a particular account on a given node.
Note: These security updates are relevant to all 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 and miscellaneous fixes.
Note: These security fixes are relevant to all 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.
This system consists of two primary features: a subjective (node local) view of spent CPU resources that are not yet accounted for by the blockchain that allows individual nodes to predict what resource consumption will be and, a subjective penalty system to offset work done in service of erroneous or malicious transactions.
The subjective view of CPU resources will synchronize with the resources present in the blockchain as it discovers the true CPU billing for transactions it has already accounted for.
The system will also accumulate CPU resources spent on failing transactions that will not be relayed in a decaying "subjective penalty" which can protect the individual nodes from abusive actors while remaining tolerant to occasional mistakes.
Subjective billing defaults to active and can be disabled with the disable-subjective-billing
configuration in config.ini
or on the command line.
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 is a RELEASE CANDIDATE for version 2.1.0. The latest STABLE release is v2.0.9.
This release contains security, stability, and miscellaneous fixes.
Note: These security fixes are relevant to all 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 is a RELEASE CANDIDATE for version 2.1.0. The latest STABLE release is v2.0.9.
This release contains security, stability, and miscellaneous fixes.
Note: This security fix is relevant to all 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 and miscellaneous fixes.
Note: These security fixes are relevant to all 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.