Skip to content
Jason Spafford edited this page Sep 5, 2023 · 30 revisions

FAQ

When did mainnet launch?

The Iron Fish Mainnet launched April 20, 2023. You can read more about it here

How do I get started?

Check out the Getting Started Guide

How often do I need to upgrade nodes and miners in Mainnet?

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.

How can I see my $IRON balance in my wallet, from Testnet rewards or mining on mainnet?

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)

I'd like to share my node's health with Iron Fish. How can I do that?

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.

Wen token, ser?

  • 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

How can I get Iron Fish news?

What are the minimum hardware requirements for running a node in mainnet?

Recommended minimum requirements:

  • CPU 4 core
  • RAM 8GB RAM
  • SSD or HDD: 250GB - 512GB to run a node on mainnet for a year

What are the benefits of joining a mining pool?

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.

Troubleshooting

I can't access my wallet.

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.

I see insufficient balance errors when trying to send transactions quickly one after another.

Transactions use something similar to the UTXO model in Bitcoin (but not the same). Think of it this way:

    1. You mine a block and you get a special $20 bill with all this cryptographic info inside.
    1. You send $5 to an address using this special bill.
    1. The $20 bill gets destroyed and then bills for $5 and $15 get created. Both have all the fancy cryptographic info inside as well.
    1. 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.
    1. 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 or ironfish send before confirmation.

I received tokens from airdrop, but I do not see them in my wallet.

Upgrade/update their wallet by following these steps:

  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.

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.".

I have a pending transaction, how do I cancel it?

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.

Getting Started

** 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.

KYC is closed to receive rewards airdrop. Deadline was 14 April 2023 at 16:00 UTC.

  • No activities are rewarded now. Mining on mainnet earns "real" Mainnet IRON (typically needs GPUs)

  • Any coins mined before 20 April were on a testnet, and have no value.

Mainnet launch was on April 20th 2023 at 9am PDT = 16:00 UTC

  • 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

How to participate in Mainnet:

    1. 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.

    1. 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)

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.

- Upgrade your node according to the instructions you used to install.

 - **`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
  • 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

Overview and Table of Contents:

  1. Hardware and Network Bandwidth Requirements - Phase 3
  2. ** - Testnet ended 25 Feb.
  3. Install Iron Fish
  4. ** No Grafitti needed for mainnet **
  5. Start your Node process, optionally download a snapshot, and wait for sync to complete
  6. Optional Mining on Official Ironfish Pool
  7. Mining FAQs
  8. Mining Performance FAQs
  9. Example mining machine performance
  10. Updating Iron Fish
  11. References

Details:

1. Hardware and Network Bandwidth Requirements - Mainnet Node

    • 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.

3. Install Iron Fish

  • 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.
    • 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

4. Grafitti not needed in mainnet - optional

  • 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)

5. Start your Node process, optionally download a snapshot, and wait for sync to complete

  • 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

7. Pool Mining FAQs

  • 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
    • 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

8. Mining Performance FAQs

  • 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

9. Example pool mining machine performance

  • 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

10. Updating Iron Fish

  • 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`
    
  • 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 or dir, you should see files like CODE_OF_CONDUCT.md and CONTRIBUTING.md

  1. Update your local code from GitHub (example using git cli, whatever method you got the code from GitHub originally should work)

    1. git fetch
    2. git pull --ff-only
  2. yarn clean

  3. yarn install

  4. 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.

11. References:

Command References:

Iron Fish Website Roadmap (high level)

White Paper

Network Participation and Hashrate Difficulty Charts

Block Explorer

APPENDIX: Old post-Testnet wallet instructions, Wallet Export instructions

  1. 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,

    • you can re-install a node, then create a new address with ironfish wallet:create.

  • 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.

Tre

Clone this wiki locally