about

AXE is a decentralized X11-based cryptocurrency. The foundation of AXE network is hybrid PoW/PoSe system. First-tier nodes provide hash power to move data and secure the blockchain, while the second tier of full nodes adds extra privacy and increases network performance.

AXE core clients are full nodes, upgradeable to Masternodes and the most secure way to access the network. Full node client downloads a complete copy of the blockchain and participating in transactions verification. Thin clients using SPV protocol to communicate with full nodes and perform operations without downloading a full copy of the blockchain.

Specifications

  • algorithm: X11
  • ticker: AXE
  • prefix: P, 7
  • supply: 21000000
  • maturity: 101
  • confirmations: 6
  • spacing: 2.5 min
  • diff: KGW/DGW
  • block size: 2MB
  • port: 9937
  • rpc port: 9337

block reward: defined by Moore's Law with min/max base subsidy 5/25 AXE
smart contracts: atomic-swap powered/HTLC

Masternodes

The second tier of AXE network - masternodes. They sustain a certain minimum level of network performance and provide additional privacy (PoSe).

InstantSend

Allows for near-instant transactions. AXE InstantSend transactions are fully confirmed within four seconds.

PrivateSend

Gives you financial privacy by obscuring the source of funds on the blockchain.

GUI

    AXE-Qt on macOS
    AXE-Qt v1.1.5 on macOS 10.13.6

    Electrum-AXE on macOS
    Electrum-AXE v3.2.2 on macOS 10.13.6

Support the development

    AXE 7mLZCucekeWCXYaiR93BThq9TdYc1ZS7Tw
    BTC 32NDo6qd8KxvnDizseqBAAox5TM8rLmMiJ
    LTC LdihK8mesqJ1Pm11zBqtJW2SmksdgGMuNd

core

Deployment

Following guide covers AXE core compilation and was tested on Ubuntu 18.04.

To update the current client with a fresh version you need to shut down current AXE client with axe-cli stop before using any gists.

Prepare the system

Update operating system and install dependencies:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git python-virtualenv virtualenv fail2ban ufw -y
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils -y
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler -y
sudo apt-get install libboost-all-dev libminiupnpc-dev libzmq3-dev libqrencode-dev -y
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev -y

Install AXE core and launch the client

Use the one-liner to install AXE core:
wget https://gist.github.com/charlesrocket/f5331e54b47344b6957781bbbea8dc33/raw/17e4d3d1ce8ee5e45b5b022c32d7fa2616ba5643/axecore.sh && bash axecore.sh
Now start GUI client with axe-qt or headless version with axed.

Gitian builds

Use AXE-gitian to perform deterministic binary builds using Vagrant and VirtualBox with Ansible on macOS. Gitian provides a way to be reasonably certain that the AXE executables are really built from the exact source on GitHub and have not been tampered with. It also makes sure that the same, tested dependencies are used and statically built into the executable. Multiple developers build from source code by following a specific descriptor ("recipe"), cryptographically sign the result, and upload the resulting signature. These results are compared and only if they match is the build is accepted.

Vagrant

Download and install the latest version of Vagrant from their website.

VirtualBoX

Download and install the latest version of VirtualBox from their website.

Ansible

Install prerequisites
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew install git
sudo easy_install pip
Setup Ansible
sudo pip install ansible

axe-gitian

git clone https://github.com/AXErunners/axe-gitian
cd axe-gitian
Edit your gitian.yml file:

# URL of repository containing AXE source code.
axe_git_repo_url: 'https://github.com/AXErunners/axe'

# Specific tag or branch you want to build.
axe_version: 'master'

# The [email protected] in the e-mail address of your GPG key, alternatively a key ID.
gpg_key_name: 'F16219F4C23F91112E9C734A8DFCBF8E5A4D8019'

# OPTIONAL set to import your SSH key into the VM. Example: id_rsa, id_ed25519. Assumed to reside in ~/.ssh
ssh_key_name: ''
Start the build with vagrant up --provision axe-build. When environment is ready - connect with vagrant ssh axe-build and download Apple SDK into gitian-builder/inputs (wget + dropbox). Then prepare the container and start building with:
#replace $SIGNER and $VERSION to match your gitian.yml
./gitian-build.py --setup $signer $version
./gitian-build.py -B $SIGNER $VERSION
Copy files with plugin

guide for linux

Gist examinations

Local

AXE core one-liner gist downloads master branch, performs dependencies build, system configuration, compilation with standard parameters and installation info `bin` folder. Perfect for fresh systems.

  • git clone
  • - downloads the source code
  • ./autogen
  • - preparing system for the source code compilation
  • ./configure
  • - preparing environment
  • make
  • - build process
  • sudo make install
  • - copies binaries into bin folder for quick launch (axed/axe-qt/etc can be called from any directory) optional

    Server

    AXE core one-liner for VPS will perform same tasks but with the **headless** flag (there is no need for GUI on the server machine). You can ignore **Qt** dependencies and call the gist with:
wget https://gist.github.com/charlesrocket/675ae3d744aed0d06852fc1dbf6f4739/raw/b9f09174e055a96880e27dfeba8bdff994c03225/axecore-vps.sh && bash axecore-vps.sh

masternodes

To start AXE masternode on a dedicated server you will need:
  • 1000 AXE collateral
  • server with Ubuntu (18.04) and static IP (Vultr)
  • Axe Core on local machine
  • basic Linux skills

  • Setup VPS

    Switch to dedicated user AXERUNNER:
    adduser axerunner
    usermod -aG sudo axerunner
    su axerunner

    Prepare the system

    Update operating system and install dependencies:
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install git python-virtualenv virtualenv fail2ban
    sudo apt-get install ufw
    sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
    sudo apt-get install libboost-all-dev
    sudo add-apt-repository ppa:bitcoin/bitcoin
    sudo apt-get update
    sudo apt-get install libdb4.8-dev libdb4.8++-dev
    sudo apt-get install libminiupnpc-dev libzmq3-dev
    sudo ufw allow ssh/tcp
    sudo ufw limit ssh/tcp
    sudo ufw allow 9937/tcp
    sudo ufw allow 9936/tcp
    sudo ufw allow 9337/tcp
    sudo ufw logging on
    sudo ufw disable
    sudo ufw enable
    Add some swap:
    fallocate -l 2G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    nano /etc/fstab

    Enter the following file at the end: /swapfile none swap sw 0 0

    Install AXE on VPS

    git clone https://github.com/axerunners/axe
    cd axe && cd depends && make
    cd .. && ./autogen.sh && ./configure --without-gui && make && sudo make install
    axed -daemon
    axe-cli stop
    

    Generate masternode key on local machine

    Download AXE core from releases or build from source:
    sudo apt-get install git build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
    sudo apt-get install libminiupnpc-dev
    sudo apt-get install libzmq3-dev
    sudo apt-get install libboost-all-dev
    sudo add-apt-repository ppa:bitcoin/bitcoin
    sudo apt-get update
    sudo apt-get install libdb4.8-dev libdb4.8++-dev
    git clone https://github.com/axerunners/axe
    cd axe && cd depends && make
    cd .. && ./autogen.sh && ./configure && make && sudo make install
    axed -daemon
    axe-cli stop

    Open your local Axe wallet (axe-qt)and let it sync with the network. After downloading the blockchain you can create masternode address with the key. Open debug console to enter masternode genkey and getaccountaddress mn. Send 1000 AXE to just generated mn address.

    Go back to VPS to edit the configuration file

    cd ~ && cd .axecore
    nano axe.conf
    Insert following:
    #- - - -
    rpcuser=XXX
    rpcpassword=XXX
    rpcallowip=127.0.0.1
    rpcport=9337
    #- - - -
    listen=1
    server=1
    daemon=1
    #- - - -
    masternode=1
    masternodeprivkey=XXX
    externalip=XXX.XXX.XXX.XXX
  • rpcuser/password might be random
  • externalip is your VPS static address
  • masternodeprivkey is generated with masternode genkey

  • Finish local wallet setup

    Go to your local datadir and edit masternode.conf to make it look like example below:

    mn1 207.246.65.01:9937 93HaYBVUCYjEMezH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 7603c20a05258c208b58b0a0d77603b9fc93d47cfa403035f87f3ce0af814566 0
    mn2 207.246.65.02:9937 92Da1aYg6sbenP6uwskJgEY2XWB5LwJ7bXRtc3UPeShtHWJDjDv 5d898e78244f3206e0105f421cdb071d91d111a51cd88eb5511fc0dbf4bfd95f 1
  • mn1 is the alias of your masternode
  • 207.246.65.01:9937 is the IP address of your VPS and Axe RPC port 9337
  • 93HaYBVUCYjEMezH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg is your masternode private key
  • 5d898e78244f3206e0105f421cdb071d91d111a51cd88eb5511fc0dbf4bfd95f 1 is the mn transaction output from masternode outputs

  • Install Sentinel on the VPS

    sudo apt-get update
    sudo apt-get install python-virtualenv
    sudo apt-get install virtualenv
    cd ~ && cd .axecore
    git clone https://github.com/AXErunners/sentinel.git
    cd sentinel
    virtualenv venv
    venv/bin/pip install -r requirements.txt
    Now you need to add Sentinel to cron. Enter crontab -e and insert following line:
    * * * * * cd /home/axerunner/.axecore/sentinel && ./venv/bin/python bin/sentinel.py 2>&1 >> sentinel-cron.log
    Save changes and close editor with esc :wq

    Check Sentinel

    venv/bin/python bin/sentinel.py
    If the node still syncing - you will see "axed not synced with network! awaiting full sync before running Sentinel" Wait until the process is finished (check status with axe-cli mnsync status). After the wallet will download the blockchain, test Sentinel again with venv/bin/python bin/sentinel.py. If nothing's returned - Sentinel is working properly.

    Start your masternode

    Go to your local wallet's masternode tab (on/off switch in Options) and start your masternode. If your node shows WATCHDOG EXPIRED status - this usually indicates an issue with Sentinel. Check the schedule with crontab -e and give it a few hours. It might take a few hours for masternode to switch to ENABLED.

    electrum

    Electrum-AXE is a lightweight client for AXE network. Check with AXE wiki for more details. The source code is available at @AXErunners' GitHub repository.

    electrum-axe on macOS
    Electrum-AXE on macOS
    Seed
    Seed
    Install wizard
    Wallet

    Usage

    Download binaries or follow this guide to install Electrum-AXE from source on your system.

    electrumx

    ElectrumX is a server-side application for AXE SPV protocol. The current version requires precise system configuration and is not fully automated for fast deployment. The script below is used for fast and easy setup of electrumx server on working AXE core node. To start, input following line:
    wget https://raw.githubusercontent.com/bauerj/electrumx-installer/master/bootstrap.sh -O - | bash
    Finish the configuration by adding your AXE node's RPC login/pass in DAEMON_URL as user:[email protected]:/ Sample:
    # REQUIRED
    DB_DIRECTORY = /db
    # AXE node RPC credentials
    DAEMON_URL = axerunner:[email protected]:9337/
    DB_ENGINE=rocksdb
    SSL_CERTFILE=/etc/electrumx/server.crt
    SSL_KEYFILE=/etc/electrumx/server.key
    TCP_PORT=50001
    SSL_PORT=50002
    # Listen on all interfaces:
    HOST=91.65.291.42
    COIN=AXE
    
    #BANNER_FILE = /etc/electrumx/electrum.banner
    #Uncomment the above line if you want to have a banner and create the banner file
    Add the ports in the firewall exception:
    sudo ufw allow 50001
    sudo ufw allow 50002

    Launch

    Starting and stopping electrumx server
    service electrumx start
    service electrumx start

    mining

    Create AXE address to receive payments

    Download the AXE core or Electrum-AXE thin client. Generate a new address to receive payments from the mining operation.

    CPU/GPU

    Download a miner

    SGminer for Windows download
    SGminer Source download
    CCminer 1.2 (Nvidia - Compute 2.5+) download

    Configure your miner (Windows)

    Create a `bat` file by opening the notepad and pasting one of the lines below that matches your setup.

    SGMiner

    sgminer --kernel darkcoin-mod -o stratum+tcp://eu1.arcpool.com:1208 -u PBSFWKt583Xb5t92EPccWnXP2UHMTtCt5F -p x
    sgminer --kernel darkcoin-mod -o stratum+tcp://cryptonova.eu:3533 -u PBSFWKt583Xb5t92EPccWnXP2UHMTtCt5F -p c=AXE

    CCminer

    ccminer -a x11 -o stratum+tcp://eu1.arcpool.com:1208 -u PBSFWKt583Xb5t92EPccWnXP2UHMTtCt5F -p x
    ccminer -a x11 -o stratum+tcp://cryptonova.eu:3533 -u PBSFWKt583Xb5t92EPccWnXP2UHMTtCt5F -p c=AXE
    You then need to change -u PBSFWKt583Xb5t92EPccWnXP2UHMTtCt5F to reflect your own address. Replace stratum+tcp://POOLADDRESS:PORT to another pool if needed. Finally, go to "File > Save as" and save the file as `start.bat` in the same folder containing your miners application files. You are now ready to mine, double click on start.bat to start the operation.

    ASIC

    Connect to your ASIC miner and enter values according to the following sample:

    Url: POOLADDRESS:PORT
    Worker: WALLETADDRESS
    Password: X

    p2pool

  • axed >= 1.1.5
  • Python >= 2.7
  • Twisted >= 13.0.0
  • Zope.interface >= 3.8.0

  • Automatic deployment

    Create user axerunner:
    adduser axerunner && usermod -aG sudo axerunner
    su axerunner
    Download and prepare deployment script:
    cd ~
    git clone https://github.com/charlesrocket/p2pool-axe-deploy
    nano ./p2pool-axe-deploy/p2pool.deploy.sh
    Edit the script to match your setup:
  • PUBLIC_IP your public IP address
  • EMAIL your email address
  • PAYOUT_ADDRESS your AXE wallet address to receive fees
  • USER_NAME linux user name
  • RPCUSER enter a random alphanumeric rpc user name
  • RPCPASSWORD enter a random alphanumeric rpc password

  • Start deployment script:
    bash ./p2pool-axe-deploy/p2pool.deploy.sh

    Manual deployment

    After installing AXE core, open ports for p2pool:
    sudo ufw allow 7903/tcp
    sudo ufw allow 8999/tcp
    Install dependencies:
    sudo apt-get install python-zope.interface python-twisted python-twisted-web python-dev libncurses-dev
    sudo apt-get install git python-zope.interface python-twisted python-twisted-web
    sudo apt-get install gcc g++
    Install p2pool:
    cd ~ && git clone https://github.com/AXErunners/p2pool-axe.git
    cd p2pool-axe && git submodule init && git submodule update
    cd axe_hash && python setup.py install --user
    Install front-end:
    cd ..
    mv web-static web-static.old
    git clone https://github.com/justino/p2pool-ui-punchy web-static
    mv web-static.old web-static/legacy
    cd web-static
    git clone https://github.com/johndoe75/p2pool-node-status status
    git clone https://github.com/hardcpp/P2PoolExtendedFrontEnd ext
    Start p2pool:
    python run_p2pool.py --external-ip 256.271.13.349 -f 0 --give-author 0 -a PDAze8QNvLLQE5KS6FEfedmgTgs1uMCbf8X
  • -f pool fees
  • --give-author donation
  • --external-ip pool address
  • You can access p2pool's stats with http://256.271.13.349:7903/static/
    For additional options:
    python run_p2pool.py --help
    source
    deployment script

    trading

    Trading with BarterDEX

    Download and install AXE with other wallets you planning to trade with. While your wallets are syncing, download latest BarterDEX binaries. When wallets are synced, close AXE core and edit axe.conf as in the example below (SPV clients should work without any configuration):
    rpcuser=axerunner283723
    rpcpassword=warp2178302
    server=1
    txindex=1
    rpcbind=127.0.0.1
    bind=127.0.0.1
    rpcport=9337
    port=9937
    If needed, add necessary changes to another wallets.
    AXE core native with Bitcoin electrum mode will work out of the box.

    First start

    test trade
    test trade on v1.0.2

    Open BarterDEX and generate your seed. This seed will be associated with your wallet's deposit address. Don't lose it, or you will not be able to access your deposits in watch-only addresses. If you are using AXE core, select native mode. For SPV wallets - use electrum mode. After adding your coins, click on exchange, select pairs you want to trade, and send your first order.
    Reference