-
Notifications
You must be signed in to change notification settings - Fork 570
Home
The Iron Fish Mainnet launched April 20, 2023. You can read more about it here
Check out the Getting Started Guide
It's good practice to update within a few days of release, to get the latest improvements and bug fixes. Join the Iron Fish Discord and watch the #announcements channel for upgrade updates.
You will also need to follow your miner developer's instructions for updates to your miner.
You need to run a node on the current version, synced with the mainnet blockchain.
- In the response to
ironfish status
, you’ll see that the Blockchain line says SYNCED, and Syncer is 'idle' when the sync is complete.
Else, it appears as 'In Progress'
To sync up faster, use our blockchain snapshot. The command to do so is:
ironfish chain:download
-
Ensure you’ve upgraded your node to the latest version of the network regularly. Ex: Version 1.70 and below will not run on current pre-mainnet blockchain network as of 24 March If you installed using npm you can upgrade to the latest version by running
npm install -g ironfish
-
Ensure that graffiti is set up. You can do so by running the command
ironfish testnet
. (Which also enables telemetry)
Ensure that telemetry is enabled, by running ironfish status
. To enable telemetry, use: ironfish config:set enableTelemetry true
Once telemetry is enabled, it will show "STARTED" in status.
- Anyone offering to sell you $IRON is a scammer. The Iron Fish team cannot state when/where the token will be listed on an exchange.
- Please report the Discord user details (@name#number) in #report-scams
- This helps the moderator ban them
- Advice: disable "allow direct messages from server members", in your Discord settings for Iron Fish
- Gear in lower left in your Profile, Privacy & Safety tab
-
Follow #announcements Discord channel
-
Monthly Pulse audio calls are held on the 2nd Friday of each month at 10:30a PT
- Register in #choose-alerts Discord channel to receive an alert 1 hour before
-
Sign up for newsletter updates
Recommended minimum requirements:
- CPU 4 core
- RAM 8GB RAM
- SSD or HDD: 250GB - 512GB to run a node on mainnet for a year
You can earn Mainnet IRON. Earning rate will depend on HW, with GPUs most effective. CPU mining, even on a 16-core fast CPU, likely won't return much IRON for the electricity it costs.
Your node may not be in sync with the network. You can check this by running ironfish status
command. You should see a row:
Blockchain 00000000003eaf7bf17d3a77bff7aea944ac0d487f31dd831dab66a95e166e5b (3629), Since HEAD: 1m 51s (SYNCED)
Make sure that your chain height (in the example above it is 3629) is close to the same height seen at the block explorer homepage. If it is not, wait for your node to sync.
Transactions use something similar to the UTXO model in Bitcoin (but not the same). Think of it this way:
-
- You mine a block and you get a special $20 bill with all this cryptographic info inside.
-
- You send $5 to an address using this special bill.
-
- The $20 bill gets destroyed and then bills for $5 and $15 get created. Both have all the fancy cryptographic info inside as well.
-
- To get your $15 bill back, the network has to confirm your transaction, which means that it has to verify that the cryptographic info is actually valid and then include that transaction in a mined block.
-
- When all that happens, you will eventually receive the mined block with your transaction and your $15 bill will show up in your wallet. Then you will have sufficient funds.
As a more detailed explanation — when you have multiple 20-iron "notes" in your account from mining 3 blocks:
- Lets say you mined 3 blocks, so your balance is 60 $IRON, which you received in 3 different transactions (creating 3 notes)
- You deposit once, which would spend 0.1 IRON from one of those notes, which would make the entire 20 IRON note unspendable until the transaction is confirmed.
- You now have a remaining available balance of 40 (but a total balance of ~59.9 once its confirmed and change is returned).
- You could deposit again immediately, which would leave your available balance as 20 (but a total unconfirmed balance of ~59.8).
- If you deposit one more time before the transactions are confirmed, you'd have 0 IRON available until your transactions are confirmed
- Which would result in an Insufficient Funds error if you tried to do
ironfish deposit
orironfish send
before confirmation.
- Which would result in an Insufficient Funds error if you tried to do
Upgrade/update their wallet by following these steps:
- Install npm install -g ironfish
- Migrate to mainnet ‘ironfish mainnet’
- Start your node on mainnet ‘ironfish start’
After this your node will start syncing the chain and your wallet will start scanning blocks for transactions.
I mined a block according to ironfish status
, but I don't see IRON available to spend in ironfish accounts:balance
Why is that? OR In the output of ironfish accounts:balance
: why is "Amount available to spend" sometimes less than "Balance"?
Even if your miner successfully mined a block, there's a chance that someone else has mined a competing heavier block that the network has chosen over your block. This is the difference of a block being on a fork versus on the main (or canonical) chain. Only blocks accepted as part of the canonical chain earn you coins that are "available to spend.".
Pending transactions get processed or drop off on their own, they need not be canceled. We do not have a cancelation command for transactions as of yet.
** IRON FISH is in Mainnet - since 20 April 2023
**Testnet history:
- Testnet Phase 3 (last phase) completed Saturday 25 Feb 2023 at 23:59 UTC.
- Any coins mined before 20 April were on a testnet, and have no value.
-
Airdrop for testnet participants who completed KYC successfully was on 21 April
-
includes reward points from Testnet Phases 1, 2, 3
-
KYC is not required to use the Iron Fish network in Mainnet. It was only required for rewards airdrop.
-
Mainnet rewards: Only mining
-
No points or other rewards for running a node (but it's good for the network and works as a CLI wallet now)
-
-
For additional news, register in choose-alerts Discord channel
-
Please see https://www.ironfish.network/learn/tokenomics for information regarding Tokenomics and how tokens will be distributed.
-
Mainnet Instructions (upgrade node, switching chains) will be shared in #Announcement channel on Discord
-
- Node is optional
-
You can run a node with CLI wallet in it, which is good for receiving and sending real IRON, and for collecting Mined IRON
-
You don't need a node running continuously to receive your Testnet Rewards IRON,
-
You will need a node CLI wallet or a future GUI wallet to manage and send your IRON.
-
like BTC, there are no rewards for running a node.
-
You are helping the strength and security of Iron Fish.
-
Until a GUI wallet is released, a node with in-built CLI wallet is the only way to have a wallet. Here's how to set it up: https://ironfish.network/use/get-started/installation Beware of installing any software from sources you do not trust.
-
- You can mine IRON. Only GPUs will be effective, primarily in pools (or make your own pool if you have multiple GPUs). (CPUs are not powerful enough)
-
There are mining pools that include GPU support.
-
See https://github.com/iron-fish/ironfish/wiki/Iron-Fish-Launch-Day-Mining
-
Until a GUI wallet is released later, you will need a node running to see your IRON balance from mining
-
Each pool may have its own payment policies. You should read TOS to see if you want to participate
These are the pools at present: In case you are interested in mining but haven’t joined a mining pool yet, these are all the mining pools operational on the network right now:
- Kryptex: https://pool.kryptex.com/en
- Herominers: https://herominers.com/
- Flexpool: https://www.flexpool.io/
- Zk.work: https://zk.work/en
- Hpool: https://www.hpool.in/
- F2pool: https://www.f2pool.com/
- Ezil.me: https://ezil.me/
Checkout their respective mentioned websites for more information about their $IRON pools.
- In the future there may be GPU support in Ironfish Official Pool
- See Section 6 below, [Optional Mining on Official Ironfish Pool](https://github.com/iron-fish/ironfish/wiki/Getting-Started#6-optional-mining-on-official-ironfish-pool)
- Solo CPU mining or a small pool of a few CPU-only machines won't earn much or any IRON. Don't waste time and electricity.
- **`npm install -g ironfish`**
You will need to upgrade to mainnet if you haven't already. these are the steps to upgrade/update:
- 1. Install npm install -g ironfish
- 2. Migrate to mainnet ‘ironfish mainnet’
- 3. Start your node on mainnet ‘ironfish start’
After this your node will start syncing the chain and your wallet will start scanning blocks for transactions
New to Iron Fish? Jump down to Table Of Contents and Overview
-
Official installation instructions here: https://www.ironfish.network/docs/onboarding/iron-fish-tutorial
-
Required Hardware: sufficient for running Node a node for a year or more, (but not strong enough for mining):
- Four cores, 8GB RAM, at least 250 GB free space, better is 500 GB. Can be SSD or spinning hard disk
Network bandwidth requirement is low, under 1Mbps upstream and downstream.
- Current version average node traffic is under 100 Kbps upstream & downstream, with an occasional burst of 200Kbps to 1 Mbps.
-
Install 64-bit Node.js version 18.x from https://nodejs.org/en/download/
- download and run the appropriate 64-bit installer.
- Be sure to check the box for "install other necessary software" and take the defaults
- Do this before upgrading iron fish
- download and run the appropriate 64-bit installer.
-
To upgrade Ironfish version via your typical upgrade mechanism
- For most participants (Windows, Intel Mac, direct Linux (not Docker),
- Upgrade or install ironfish by
npm install -g ironfish
in a PowerShell or CMD terminal window
- Upgrade or install ironfish by
- For most participants (Windows, Intel Mac, direct Linux (not Docker),
- Hardware and Network Bandwidth Requirements - Phase 3
- ** - Testnet ended 25 Feb.
- Install Iron Fish
- ** No Grafitti needed for mainnet **
- Start your Node process, optionally download a snapshot, and wait for sync to complete
- Optional Mining on Official Ironfish Pool
- Mining FAQs
- Mining Performance FAQs
- Example mining machine performance
- Updating Iron Fish
- References
-
- 4 Cores, 8 GB RAM, 250 GB - 512 GB SSD or hard disk
-
Network bandwidth requirement is low, under 1Mbps upstream and downstream.
- Current Phase 3 average node traffic is under 100 Kbps upstream & downstream, with an occasional burst of 200Kbps to 1 Mbps.
-
The easiest installation method for Windows and Linux uses
npm
in a terminal window. -
Windows npm:
-
Install current 64-bit Node.js 18.x from https://nodejs.org/en/download/ -- Important: during the install, check the box for "Also Install required tools" so you get Chocolatey and Python.
- Install a command-line Git client.
- On Windows: https://git-scm.com/download/win
- Take the defaults
- On Windows: https://git-scm.com/download/win
- In a CMD window(terminal): (any directory is OK), install Iron Fish:
npm install -g ironfish
-
-
Linux npm:
-
Install current Node.js 18.x from https://nodejs.org/en/download/
-
Install
git
:sudo apt install git
-
Install build-essential/base-devel package:
sudo apt update
sudo apt install build-essential
-
Install Iron Fish:
-
npm install -g ironfish
-
The same command is used for updating versions but without the specific version code.
-
-
-
Hive OS:
- Similar to Linux, SSH in. There will likely be community-made guides on Reddit and Youtube.
-
All official installation methods are described here: https://ironfish.network/docs/onboarding/installation-iron-fish
-
There are installation options for:
- Native on Intel Mac via Homebrew (still the easiest method for Intel Macs)
- Docker on Windows or Linux
- From source code on Windows, Linux, or Mac M1 (needed for developers only)
- Via Git client, or
- Download and unzip source files
-
Installation Video for Windows, Linux, Mac by Community member "nullfish"
-
- Q. How can I check that my grafitti is set in my node? (not required, but marks your mined blocks with your unique string)
- A. View current setting by running
ironfish config:get blockGraffiti
from a terminal window - A. Verify with
ironfish status
on the node itself - Q. How can I set my graffiti in mainnet?
- A. Run
ironfish config:set blockGraffiti <YOUR-GRAFFITI>
(don't enter <>, only enter your string)
- Type one of these in a terminal window:
-
On an Intel Mac or system installed with
npm
method above:ironfish start
-
If installed from source code (not common):
yarn start start
-
Once started, a new node will sync with the blockchain for at least 2 hours, up to several hours
- Log messages in the node terminal window will show the percent of syncing
- You can check status of your node in a separate terminal window with the command
ironfish status -f
- After initial sync, if you stop and re-start your node, it will sync up within seconds or minutes
-
If syncing is slow, you can jump ahead by stopping your node, downloading a current snapshot of the database with
ironfish chain:download
, starting node again
-
- How does Official Pool mining work?
- Pool participants receive fractions of mined testnet IRON coins based on their proportion of pool hashpower.
- GPU mining will be the most effective in Mainnet at launch. FGPAs/ASICs may come later.
- There are other mining pools that include GPU support.
- See https://github.com/iron-fish/ironfish/wiki/Mining-and-Pools
- to mine in Official Pool with CPU Only, you don't need a node running, and a node doesn't need to be sync'd.
- you only need an Iron Fish wallet public address you control, and exported and secured the private keys.
- Open a separate terminal window
- Find your wallet address by running `ironfish wallet:address`
- If it says no wallet, you can create a wallet with `ironfish wallet:create`, then repeat `ironfish wallet:address` command.
- To allow restoring your wallet later, export its keys and save in a VERY safe place:
- `ironfish wallet:export` (very long string)
- `ironfish wallet:export --mnemonic` to get your seed words
- `ironfish wallet:export --json` to get individual keys
- ** If anyone gets those keys, they can take your IRON at any time. Secure and protect them! **
-
- your public address is the long number string from `ironfish wallet:address`
- That is where you will receive IRON from KYC Testnet Rewards, or mining pool, or other people sending you IRON
-
- Start a miner process on Official Pool with one of these commands.
- Substitute your public address from `ironfish wallet:address` instead of <public address> below
-
- on a 4-core machine or VPS, you can mine with up to 3 threads: (the -t 3 parameter below means "mine with 3 threads")
- `ironfish miners:start -t 3 -p pool.ironfish.network -a <account-public-address>`
- To see your mining earnings, you can check your balance every couple of hours with `ironfish wallet:balances`
- See also the Discord #miningpool-general channel: https://discord.com/channels/771503434028941353/953051680017117235
- Q. How can I know if my pool miner is working?
- A. Your miner window will show:
-
'"starting to mine with public address" (which should match your wallet address above)
Starting to mine with graffiti: ProductGuy connecting to node
Connecting to pool...
Successfully connected to pool
Subscribing to pool to receive work
- `Hashrate... | 3.81 MH/s (38147430
- The Hashrate line will refresh until your machine wins a share of a block found by the pool.
- this can take a few minutes or up to an hour
- The Hashrate line will refresh until your machine wins a share of a block found by the pool.
-
Whenever your machine wins a share, it will show:
Found share: 0000000000000006783244 16784 3.78 MH/s
-
- To see your mining earnings after your noded is synced,
- you can check your balance with `ironfish wallet:balances`
- The Official Pool pays out shares (fractional IRON) every 2 hours
- You can see when the pool finds a block and when it pays out in [Mining Pool #alerts](https://discord.com/channels/771503434028941353/953051484008874014)
-
Q. If I stop my miner and restart it, will I lose anything?
-
A. No, only a gap in hashpower for as many minutes as it's stopped.
- Your submitted transactions are safe and permanent on the blockchain.
- Your Testnet points for hosting a node are assigned automatically from telemetry.
-
Q. How do I set up my own pool for GPU Mining in Mainnet (like solo mining using a pool)
-
A. See https://github.com/iron-fish/ironfish/releases/tag/v0.1.26
- This is not complete instructions but gives a starting point
- Feel free to ask questions in #mining Discord channel
- Q. How can I know how powerful my machine is?
- A. The number in your miner command window like "134.2 MH/s" above is your
hashrate
, a measure of the computing power of your machine- For GPUs using pool mining software, check with your pool' docs
-
Q. What are some example machines and their hashrates?
-
A.:
-
GPU Cards:
-
RTX 3060 - around 1GH/s
-
RTX 3080 - Around 4.3GH/s
-
RTX 4090 - in testing, over 6 GH/s
-
GPUs are 20x to 40x more hashrate per watt than CPUs!
-
CPUs for reference (won't be competitive with GPUs in mainnet)
-
8-core Ryzen 7 5700G desktop: 70 MH/s at 4.1 GHz
-
16-core Ryzen 9 5950X: 135+ MH/s
-
-
If you originally installed Iron Fish using the command `npm -g install ironfish', then
- Stop your node and all other iron fish processes.
-
You may be able to do Ctrl-C in the windows.
-
On Ubuntu or other Linux, run this in a terminal window:
- sudo killall node -9
-
npm install -g ironfish
-
- Then start your node again (typical command is `ironfish start` in a terminal or PowerShell window) - you may want to run another window for status: `ironfish status -f`
- Stop your node and all other iron fish processes.
-
If you installed Iron Fish using some other instructions (NodesGuru, Abraham Chase, some video, etc), please see their update instructions.
-
**If you installed from source code,
-
Uncommon - developers only
-
Run all commands from the root (top-level) Iron Fish directory. If you are unsure, if you do
ls
ordir
, you should see files likeCODE_OF_CONDUCT.md
andCONTRIBUTING.md
-
-
Update your local code from GitHub (example using
git
cli, whatever method you got the code from GitHub originally should work)git fetch
git pull --ff-only
-
yarn clean
-
yarn install
-
yarn build
- If for some reason the first 2
git
commands fail, or you are unsure, you can always delete the folder and download from GitHub again, following the instructions from the README.
- If for some reason the first 2
Command References:
-
Standard CLI commands reference (
ironfish <command>
format) -
yarn start
Command Reference: Node and Miner Commands
Iron Fish Website Roadmap (high level)
Network Participation and Hashrate Difficulty Charts
You can ask questions in our Discord at https://discord.com/channels/771503434028941353/828767731305676810
APPENDIX: Old post-Testnet wallet instructions, Wallet Export instructions
-
Using your Testnet wallet in Mainnet - must be from at least v0.1.65.
Export your wallet. You will need this to access reward IRON later from this wallet
-
if you only save your address, and not your keys, your IRON will be lost to you!
-
First: upgrade to latest version if needed.
-
Install current v0.1.7x (currently 1.76) with
npm install -g ironfish
-
There are 3 formats for exporting your private keys. It's good to do at least 2 of them, and save them SAFELY.
-
Export single long Bech32 private key string:
ironfish wallet:export
-
To export your 24 seed words, run
ironfish wallet:export --mnemonic
-
To export your public, view, and private keys separately:
ironfish wallet:export --json
-
Save and protect your keys securely! If exposed, they will allow someone to take your IRON!
-
they will also allow you to re-create your wallet in the future and control your IRON. Mnemonics from Testnet will create the same wallet with the same keys on mainnet. Don't lose them!
-
To learn more about wallet commands, run
ironfish help wallet
-
-
Save your Testnet Phase 3 wallet address:
-
ironfish wallet:address
and save the long string. - This is needed for KYC registration and getting Testnet reward IRON
-
-
-
If you missed exporting Keys Or Address before you shut down your node,
-
No Carry-over of Phase 3 IRON or other assets. Mainnet will require a node version update that will zero out everyone's wallet. Everyone will start with 0 balance on April 20th.
-
we all will start on a new 1.0 blockchain on April 20th. There will be an easy upgrade command.