-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mainnet Activation Blog Post #639
Changes from 2 commits
ecd2a73
6e88138
c837bf0
ad074c9
3392e2e
5adec15
1678d33
22d36a9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
author: elena | ||
title: Mainnet Activation for Hardfork-1 | ||
description: Everything you need to know for the upcoming hardfork-1 on Iron Fish mainnet | ||
image: /images/blog/mainnet_hardfork.png | ||
tags: [ironfish, iron fish, hardfork, hard-fork, hard fork, activation, mainnet] | ||
--- | ||
|
||
# Mainnet Activation for Hardfork-1 | ||
|
||
Iron Fish is preparing for its first hardfork. The first hardfork will include: | ||
- [FIP-2](https://fips.ironfish.network/fips/fip-2-enforce-sequential-block-time) : Enforce sequential block time (a block’s timestamp has to be greater than the timestamp of its parent) | ||
- [FIP-3](https://fips.ironfish.network/fips/fip-3-memory-hard-mining-algorithm) : Switch hashing algorithm from blake3 to FishHash | ||
- [FIP-8](https://fips.ironfish.network/fips/fip-8-difficulty-adjustment) : Difficulty adjustment (to accommodate the algorithm change) | ||
- [FIP-9](https://fips.ironfish.network/fips/fip-9-swap-randomness-and-graffiti) : Swap randomness and graffiti field positions in the Block Header | ||
|
||
The most notable change is the hashing algorithm switch from blake3 to FishHash. To read more about FishHash, the motivation behind finding a new hashing algorithm for Iron Fish, as well as exploration of other algorithm choices, please see [FIP-3](https://fips.ironfish.network/fips/fip-3-memory-hard-mining-algorithm) (or community created video walkthroughs like this [one](https://youtu.be/1R7VffTzM9g?si=U0PhustQsp8TG9ak)). Please note that [FIP-9](https://fips.ironfish.network/fips/fip-9-swap-randomness-and-graffiti) that is included in this hardfork also changes the Block Header format for Iron Fish. | ||
|
||
The timeline for the mainnet hardfork is as follows: | ||
|
||
| status | date | milestone | | ||
| --- | --- | --- | | ||
| deployed ✅ | Feb 20th | Release of the Iron Fish node version that includes Testnet hardfork activation (see [release notes and binaries](https://github.com/iron-fish/ironfish/releases/tag/v1.20.0)) | | ||
| deployed ✅ | Feb 28th | [Testnet](https://testnet.explorer.ironfish.network/) hardfork activation at block sequence 419,193 | | ||
| deployed ✅ | March 6th | Release of the Iron Fish node version that includes Mainnet hardfork activation (see [release notes and binaries](https://github.com/iron-fish/ironfish/releases/tag/v2.0.0)) | | ||
| upcoming 👉 | April 2nd | [Mainnet](https://explorer.ironfish.network/) hardfork activation at block sequence 503,338, estimated April 2 2024 12:00 GMT | | ||
|
||
If you’re an Iron Fish user, developer, wallet provider, miner, exchange, or anyone in between, please make sure to **upgrade your Iron Fish Node to [version 2.0.0](https://github.com/iron-fish/ironfish/releases/tag/v2.0.0) (or greater if available) by no later than April 2nd to ensure a smooth transition for all Iron Fish users.** If you’ve used `npm` previously to install Iron Fish node you can upgrade by simply running the same command again: `npm install -g ironfish`. | ||
|
||
If you’re using the Node App, please make sure to upgrade it as well to **[version 3.0](https://ironfish.network/use/node-app) (or greater if available).** | ||
|
||
### What you need to know if you’re a miner or a mining pool | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we should have separate sections for miners and mining pools. Miners are a big cohort and mostly don't run a node whereas mining pools run a node. So very different instructions. For miners I like something like
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For pools maybe something like
|
||
|
||
If you’re a miner or a mining pool supporting Iron Fish, this hardfork activation will replace the old blake3 based hashing algorithm with [FishHash](https://fips.ironfish.network/fips/fip-3-memory-hard-mining-algorithm), a memory hard mining algorithm. | ||
|
||
There is a reference open-source GPU implementation for FishHash compatible with Iron Fish called [FishHashMiner](https://github.com/Lolliedieb/FishHashMiner). This should be treated as a reference solution only. | ||
|
||
You need to **upgrade** your Iron Fish node **as soon as possible** to [version 2.0.0](https://github.com/iron-fish/ironfish/releases/tag/v2.0.0) (or greater if available) and plan on switching to a new mining algorithm software. | ||
|
||
### If you’re a mining software developer | ||
If you're a mining software developer and interested in supporting Iron Fish, please see resources below: | ||
- [FishHash definition, specs, and CPU implementation (in C++ and Rust)](https://github.com/iron-fish/fish-hash) | ||
- [GPU reference implementation](https://github.com/Lolliedieb/FishHashMiner) | ||
- [Instructions to run your own local Iron Fish network with a local mining pool for testing](https://www.notion.so/Local-Mining-Pool-Development-for-Fish-Hash-and-Hardfork-1-6899e63aac8446e884d297d59467023b?pvs=21) | ||
|
||
### What you need to know if you’re an exchange | ||
|
||
You need to **upgrade** your Iron Fish node **as soon as possible** to [version 2.0.0](https://github.com/iron-fish/ironfish/releases/tag/v2.0.0) (or greater if available), and by no later than April 2nd. | ||
|
||
**We recommend being extra cautious of processing transactions on the Iron Fish network during the hardfork activation (estimated April 2nd, 12:00 GMT).** | ||
|
||
If you any questions, please reach out via Telegram or [Discord](https://discord.ironfish.network/). | ||
|
||
### What you need to know if you’re a user | ||
|
||
If you are running a node or using the CLI wallet, please **upgrade** your Iron Fish node **as soon as possible** to [version 2.0.0](https://github.com/iron-fish/ironfish/releases/tag/v2.0.0) (or greater if available). | ||
|
||
If you are using the Node App, please upgrade to version 3.0 (or greater if available) using the [official download page](https://ironfish.network/use/node-app). | ||
|
||
Your wallet and balances are not affected by the hardfork. |
Large diffs are not rendered by default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't think we need to call out FIP-9 again explicitly here as it only changes the block header when mining. Not changing the block header in other contexts like networking layer or block explorer