This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0211 [2021/07/29 14:30] murphy |
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0211 [2021/08/06 12:55] (current) murphy |
||
---|---|---|---|
Line 17: | Line 17: | ||
=== Simple Summary / Abstract === | === Simple Summary / Abstract === | ||
- | : //A mechanism to allow returning arbitrary-length data inside the EVM has been requested for quite a while now. Existing proposals always had very intricate problems associated with charging gas. This proposal solves the same problem while at the same time, it has a very simple gas charging mechanism and requires minimal changes to the call opcodes. Its workings are very similar to the way ''calldata'' is handled already; after a call, return data is kept inside a virtual buffer from which the caller can copy it (or parts thereof) into memory. At the next call, the buffer is overwritten. This mechanism is 100% backwards compatible.// | + | : //A mechanism to allow returning arbitrary-length data inside the EVM has been requested for quite a while now. Existing proposals always had very intricate problems associated with charging [[dido:public:ra:xapend:xapend.a_glossary:g:gas|gas]]. This proposal solves the same problem while at the same time, it has a very simple gas charging mechanism and requires minimal changes to the call opcodes. Its workings are very similar to the way ''calldata'' is handled already; after a call, return data is kept inside a virtual buffer from which the caller can copy it (or parts thereof) into memory. At the next call, the buffer is overwritten. This mechanism is 100% backwards compatible.// |
| | ||
=== Motivation === | === Motivation === |