How to mine Aleo

    Aleo is a new layer-1 blockchain platform for creating scalable and private applications applying zero-knowledge cryptography. Aleo uses a hybrid consensus architecture named AleoBFT, which leverages PoS to achieve instant finality for block confirmation, and leverages PoW “coinbase puzzle” that rewards the development of faster techniques for proof generation.

    Mining rewards will be settled daily as credits, according to the payout scheme of PPLNS, and then accrue in your f2pool account. Adding of wallets and reward withdrawals are currently not supported, we will send payouts according to Aleo’s follow-up post about the details of the incentives. Please stay tuned for our further announcement.

    Please kindly note that, in order to receive incentivized testnet rewards, KYC process is required after launching the mainnet. If f2pool cannot pass through KYC by the Aleo project team, we will not be eligible to receive rewards from the network and thus cannot distribute them to you. Also, we will restrict our services to the regions that are under Aleo official restriction, for more information please check here.

    To Learn about the requirements and configuration, please refer to the following steps.

    Please note: currently, Aleo testnet 3 mining has ended. You may consider mining other coins, and come back to Aleo again after its mainnet starts.

    1. Obtain suitable hardware and software

    Aleo can be efficiently mined with NVIDIA GPUs. For each GPU, you may get the following ready:

    GPU: NVIDIA GPU with driver version 515 or above, with RAM of more than 6 GB.

    CPU: 8-core CPU (For 1 GPU)

    Also, you will need to get the following ready for the rest parts of your machine:

    Memory: 8 GB

    SSD storage: 128 GB

    You need to get the Ubuntu 18.04-20.04 (version for servers, without GUI) operation system ready, and install this mining software (download).

    2. Sign up for an f2pool account

    You will need to create an f2pool account before mining Aleo on its testnet 3. If you do not have one yet, please click here to register.

    Setting an account name will be required for configuration. You are free to create multiple subaccounts to monitor your mining machines.

    3. Configure mining software

    You may choose one of the following ways to configure the mining software.

    If you choose to connect to our non-SSL server:

    1) Set the account name:

    Open the config.cfg file, find ACCOUNT_NAME=accountname, and replace the accountname with your f2pool account name.

    2) Add pool URL:

    In the config.cfg file, replace the second line with POOL="aleo-asia.f2pool.com:4400"

    3) Run the software:

    Copy the files of aleo_setup.sh, aleo-prover-cuda, and config.cfg into the same folder on your mining machine.

    At the first time of mining, run the following command to generate the scripts of start_aleo.sh and stop_aleo.sh:

    sudo ./aleo_setup.sh
    

    Check out if it is running properly using this command:

    ps aux |grep aleo
    

    In 3 minutes, the result will be successful if it shows similar as the following example.

    2022-12-09 00:19:41.041 INFO 2.1.2 474322 perf: 870059 (1m: 1319.02 P/s, 5m: 1317.87 P/s, 30m: --- P/s, 60m: --- P/s)
    2022-12-09 00:20:41.042 INFO 2.1.2 474322 perf: 949274 (1m: 1320.25 P/s, 5m: 1318.25 P/s, 30m: --- P/s, 60m: --- P/s)
    2022-12-09 00:21:41.043 INFO 2.1.2 474322 perf: 1028496 (1m: 1320.37 P/s, 5m: 1319.03 P/s, 30m: --- P/s, 60m: --- P/s)
    2022-12-09 00:22:41.044 INFO 2.1.2 474322 perf: 1107681 (1m: 1319.75 P/s, 5m: 1319.43 P/s, 30m: --- P/s, 60m: --- P/s)
    

    Then you may run the following command to start mining, This will run automatically at startup from the next time.

    ./start_aleo.sh
    

    To pause mining, run the following command:

    ./stop_aleo.sh
    

    If you choose to connect to our SSL server:

    1) Install stunnel

    a. Run the following command line on Ubuntu:

    sudo apt-get install stunnel4
    

    b. Configure in stunnel:

    cat <<EOF | sudo tee /etc/stunnel/stunnel.conf deb
    client=yes
    pid=/etc/stunnel/stunnel.pid
    debug=7
    foreground=no
    verify=0
     
    [aleoclient]
    accept=13131
    connect=aleo-asia-ssl.f2pool.com:4420
    EOF
    

    c. Start stunnel

    View stunnel installation information by running:

    whereis stunnel
    

    Then get an output as this example:

    stunnel: /usr/bin/stunnel /usr/lib/aarch64-linux-gnu/stunnel /etc/stunnel /usr/share/man/man8/stunnel.8.gz
    

    Start stunnel by running:

    sudo stunnel
    

    View stunnel progress by running:

    ps -ef|grep stunnel
    

    Then get an output as this example:

    root 6818 1449 0 15:15 ? 00:00:00 stunnel
    

    Verify the local port by running:

    telnet localhost 13131
    

    Then get an output as this example:

    Trying 127.0.0.1…
    Connected to localhost.
    Escape character is ‘^]’
    

    2) Start the mining software

    a. Set the account name:

    Open the config.cfg file, find ACCOUNT_NAME=accountname, and replace the accountname with your f2pool account name.

    b. Add pool URL:

    In the config.cfg file, change the fifth line into POOL="127.0.0.1:13131"

    If there are multiple machines connecting in your ethernet, it is not required to install stunnel on all other machines, you only need to replace xxx.xxx.xxx.xxx in POOL="xxx.xxx.xxx.xxx:xxxx" with your stunnel proxy address (the IP of the computer or server with stunnel installed) in the config.cfg file, and set default port as 13131.

    For example, if the ethernet IP of the device installed with stunnel is 192.168.1.25, then replace the second line in your config.cfg with POOL="192.168.1.25:13131".

    3) Run the software:

    Copy the flies of aleo_setup.sh, aleo-prover-cuda and config.cfg into same folder on your mining machine.

    At the first time of mining, run the following command to generate the scripts of start_aleo.sh and stop_aleo.sh:

    sudo ./aleo_setup.sh
    

    Check out if it is running properly using this command:

    ps aux |grep aleo
    

    In 3 minutes, the result will be successful if it shows similar as the following example.

    2022-12-09 00:19:41.041 INFO 2.1.2 474322 perf: 870059 (1m: 1319.02 P/s, 5m: 1317.87 P/s, 30m: --- P/s, 60m: --- P/s)
    2022-12-09 00:20:41.042 INFO 2.1.2 474322 perf: 949274 (1m: 1320.25 P/s, 5m: 1318.25 P/s, 30m: --- P/s, 60m: --- P/s)
    2022-12-09 00:21:41.043 INFO 2.1.2 474322 perf: 1028496 (1m: 1320.37 P/s, 5m: 1319.03 P/s, 30m: --- P/s, 60m: --- P/s)
    2022-12-09 00:22:41.044 INFO 2.1.2 474322 perf: 1107681 (1m: 1319.75 P/s, 5m: 1319.43 P/s, 30m: --- P/s, 60m: --- P/s)
    

    Then you may run the following command to start mining. This will run automatically at startup from the next time.

    ./start_aleo.sh
    

    To pause mining, run the following command:

    ./stop_aleo.sh
    

    4. Start mining!

    Your machines are now ready to mine! You can manage your account settings and monitor your hashrate, rewards and so on in your dashboard or in our f2pool app.

    If you run into any problems mining Aleo, please feel free to reach out to our customer service team at support@f2pool.com, open a support ticket, or start a conversation on Reddit.

    To stay updated with the latest PoW news and developments, follow us on X!

    Happy mining!