This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0214 [2020/05/05 20:49] nick ↷ Page moved from dido:public:stds:defact:ethereum:eip:erc_0214 to dido:public:apdx.stds:defact:ethereum:eip:erc_0214 |
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0214 [2022/02/03 12:55] (current) nick ↷ Links adapted because of a move operation |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ======== EIP 214: New opcode STATICCALL ========= | + | ==== EIP 214: New opcode STATICCALL ==== |
| - | [[dido:public:stds:defact:ethereum | Return to Ethereum ERCs ]] | + | [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip| Return to Ethereum ERCs ]] |
| - | : **Note**: The following is an excerpt from the official Ethereum site. It is provided here as a connivence and is not authoritative. Refer to the original document as the authoritative reference. | + | : **Note**: The following is an excerpt from the official Ethereum site. It is provided here as a convenience and is not authoritative. Refer to the original document as the authoritative reference. |
| <table> | <table> | ||
| <caption>Data sheet for New opcode STATICCALL</caption> | <caption>Data sheet for New opcode STATICCALL</caption> | ||
| - | | Title | New opcode STATICCALL | | + | | Title | New opcode ''STATICCALL'' | |
| | Author | Vitalik Buterin, Christian Reitwiessner | | | Author | Vitalik Buterin, Christian Reitwiessner | | ||
| | Status | Final | | | Status | Final | | ||
| Line 15: | Line 15: | ||
| </table> | </table> | ||
| + | === Simple Summary === | ||
| + | : //To increase [[dido:public:ra:xapend:xapend.a_glossary:s:smart_contract|smart contract]] security, this proposal adds a new opcode that can be used to call another contract (or itself) while disallowing any modifications to the state during the call (and its subcalls, if present).// | ||
| - | ====== Simple Summary ====== | + | === Abstract === |
| - | : //To increase smart contract security, this proposal adds a new opcode that can be used to call another contract (or itself) while disallowing any modifications to the state during the call (and its subcalls, if present).// | + | |
| - | + | ||
| - | ====== Abstract ====== | + | |
| : //This proposal adds a new opcode that can be used to call another contract (or itself) while disallowing any modifications to the state during the call (and its subcalls, if present). Any opcode that attempts to perform such a modification (see below for details) will result in an exception instead of performing the modification.// | : //This proposal adds a new opcode that can be used to call another contract (or itself) while disallowing any modifications to the state during the call (and its subcalls, if present). Any opcode that attempts to perform such a modification (see below for details) will result in an exception instead of performing the modification.// | ||
| - | ====== Motivation ====== | + | === Motivation === |
| - | : //Currently, there is no restriction about what a called contract can do, as long as the computation can be performed with the amount of gas provided. This poses certain difficulties about smart contract engineers; after a regular call, unless you know the called contract, you cannot make any assumptions about the state of the contracts. Furthermore, because you cannot know the order of transactions before they are confirmed by miners, not even an outside observer can be sure about that in all cases.// | + | : //Currently, there is no restriction about what a called contract can do, as long as the computation can be performed with the amount of [[dido:public:ra:xapend:xapend.a_glossary:g:gas|gas]] provided. This poses certain difficulties about smart contract engineers; after a regular call, unless you know the called contract, you cannot make any assumptions about the state of the contracts. Furthermore, because you cannot know the order of transactions before they are confirmed by miners, not even an outside observer can be sure about that in all cases.// |
| : //This EIP adds a way to call other contracts and restrict what they can do in the simplest way. It can be safely assumed that the state of all accounts is the same before and after a static call.// | : //This EIP adds a way to call other contracts and restrict what they can do in the simplest way. It can be safely assumed that the state of all accounts is the same before and after a static call.// | ||