Mga Post
avatar

Ang isang contract na patuloy na nagpapatakbo pagkatapos ng isang nabigo mong pagtawag ay walang maaasahang paraan ngayon upang malaman kung ang callee ay nag-revert nang may layunin o simpleng nawalan ng gas na pinili ng sender. Ang puwang na ito ay ang ugat ng insufficient gas griefing, at isang bagong draft na propuesta ay subukang isara ito sa EVM level. Ang EIP-8456, na binuksan para sa diskusyon sa Ethereum Magicians noong Lunes, ay nagdaragdag ng isang instruction na tawagin na CALLSTATUS, pansamantalang sa opcode 0xA5 para sa 2 gas. Ipinipilit nito ang completion status ng pinakabagong call o create operation sa kasalukuyang frame bilang tatlong bit. Ang bit 0 ay nangangahulugan ng revert, ang bit 1 ay nangangahulugan ng exceptional halt tulad ng out of gas, at ang bit 2 ay nangangahulugan ng isang bagay sa isang frame sa ibaba na huminto. Inilalarawan ng may-akda na ang tanging ebidensya ngayon ay ang gasleft() arithmetic pagkatapos ng call, at ang bawat repricing fork ay nagbroke sa mga threshold na ito. Ang ipinaproposang two-dimensional gas ng EIP-8037 ay gagawing mas mahina ang arithmetic na ito, dahil ang kanyang reservoir ay hindi nakikita sa pamamagitan ng GAS opcode. Kaya bakit ang ikatlong bit? Ang karamihan sa tunay na mga call ay dumadaan sa mga intermediary tulad ng proxies, OpenZeppelin’s functionCall wrapper, Multicall3 o ERC-1271 signature checkers. Kung tanging ang dulo ng direktang callee ang iirereport, ang isang wrapper na nakakakuha ng out-of-gas halt at nagre-revert nang may dahilan ay magiging tila isang deliberate revert. Ang draft ay panatilihin ang sticky flag na umuusbong sa bawat frame, kaya ang isang sender na tanging kontrolado ang gas ay hindi kayang gawing basahin ng caller ang isang simpleng revert. Ito ay nagrereport ng mga resulta kaysa sa mga sanhi, at ang callee ay maaari pa ring lumikha ng halt nang may layunin gamit ang INVALID. Ito ay protektado lamang para sa code na isusulat pagkatapos nito ay ipinapalabas, dahil ang mga deployed na contract ay hindi magbabasa nito. Wala pa ring external reviews, ang opcode number ay patuloy na bukas, at ang isang prototype kasama ang mga test para sa 58 listahing kaso ay nasa pending pa rin. Link - https://t.co/KnByUBgWrY

Ang content na ito ay para sa mga layuning pang-impormasyon at pang-edukasyon lang. Maaaring may mga kasama itong third-party insight, sponsored content, o promotional material kung saan maaaring maka-receive ng compensation ang creator. Wala sa feed na ito ang nagko-constitute ng investment advice o nagga-guarantee ng returns. Ikaw lang ang responsible para sa mga sarili mong desisyon sa investment. Laging magsagawa ng sarili mong research at mag-ingat bago mag-trade. Hindi namin gina-guarantee ang accuracy ng impormasyon na mula sa third-party at hindi kami mananagot para sa anumang loss na na-incur. Ang nakaraang performance ay hindi indicative ng mga resulta sa hinaharap. Sumangguni sa aming Mga Tuntunin ng Community at Pahayag sa Disclosure ng Risk para sa mga detalye.

avatarI-post ang reply mo

Mag-comment