Istanbul Hardfork Meta Issue
Closed this issue ยท 7 comments
Entry points for information:
- EIP-1679 Meta EIP (canonical source)
- EthHub Istanbul Roadmap
- eth.wiki Istanbul Roadmap
- GitHub ethereum/pm "Istanbul" search
EIP Working List:
- EIP-152: Blake 2b
F
precompile- VM: Add precompile, #568, PR #584
- Common: Update price params, ethereumjs/ethereumjs-common#58
- EIP-1108: Reduce alt_bn128 precompile gas costs
- Common: Istanbul integration, add updated gas costs, ethereumjs/ethereumjs-common#53
- VM: Update on new Common version, #540
- EIP-1344: Add ChainID Opcode
- VM: Add Opcode, #569, PR #572
- Common: Update price params, ethereumjs/ethereumjs-common#58
- EIP-1884: Trie-size-dependent Opcode Repricing
- EIP-2028: Calldata Gas Cost Reduction
- VM: Integrate updated Common object, #570, PR #583
- Common: Update price params, ethereumjs/ethereumjs-common#58
- EIP-2200: Rebalance net-metered SSTORE gas costs with consideration of SLOAD gas cost change (still the most discussed PR, follow discussion closely, see EIP PR thread or e.g. this comment on ACD Gitter channel)
- VM: Eventually some of the old
Constantinople
implementation at #367 can be reused, see also tests at #502, PR #590 - Common: Price updates, ethereumjs/ethereumjs-common#65
- VM: Eventually some of the old
Other TODOs:
- Update ethereumjs-testing with
Istanbul
tests once substantial test parts are merged, e.g. ethereum/tests#627
We should as time/decisions progresses create separate issues for accepted EIPs and discuss implementation details there.
On the last ACD call it was decided that https://eips.ethereum.org/EIPS/eip-1679 is the canonical source of information for proposed EIPs. It should be enough to follow that.
Grabbed this Istanbul EIP Readiness Checklist from the EIP Gitter channel, super-detailed and helpful.
Still not 100% sure on the process though and what EIPs will finally be included. As far as I got comments from @bmann on ACD Gitter, there seems to be the need for a reference implementation of an EIP to be included, not sure if there also needs to be a final ok from ACD call and if there is/will be some general limitation in scope at some point to not overload.
I would suggest we start with some low-level stuff from the spreadsheet, this opcode renaming EIP-1803 has made it pretty far and will likely be included, since it wouldn't make sense to postpone such a trivial change.
Will open an issue on that so that we get the process going.
Truffle/Ganache: @davidmurdoch @benjamincburns
Remix: @yann300 @LianaHus
Others: Please drop a note if you are using the VM in your library in a HF relevant context
We are now starting Istanbul integration, just to let you know. I would suggest you follow the process a bit and start early on with a draft integration so that users can early on start to experiment with new features. This will take an important role in helping to prevent such a chaotic last-minute situation as happened during along the last Constantinople
/Petersburg
hardfork ๐.
We are also very close on merging the TypeScript
transition work from @s1na here #479 into master
and will publish a beta
v4
release on this during next week. This is also coming with heavy internal changes, the outer API stays unchanged though for now. The inner structure is not completely finalized and will likely further change to some extend on the way towards a final release. You are very much invited to have a look, do your thoughts on that and hook into the process.
If you have any questions on Istanbul
respectively v4
let us know! ๐
Cheers
The EthereumJS Team
Have updated the initial post with a new EIP working list, please check once finished.