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.

Specifications

  • algorithm: X11
  • ticker: AXE
  • prefix: P
  • 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 v1.1.2 regtest on macOS 10.13.4

Support the development

axe PBSFWKt583Xb5t92EPccWnXP2UHMTtCt5F
btc 14syJXgwoczCKm2E2APMt4td7MozTw1pZF
ltc LdihK8mesqJ1Pm11zBqtJW2SmksdgGMuNd
bch 13LAh3RFzQb1aUa9Wzxy1uWwDCrZjBT43g

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.


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

Outro

For additional services check with Masternodes or p2pool section.

electrum

electrum-axe

Thin client for AXE network is available at @AXErunners’ GitHub repo.

electrumx

The current version of electrumx 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]<VPS IP>:<RPCPORT>/

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

source

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 4G /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

    Build AXE on local machine

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
You could also download binaries instead of building the source.
    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.
Then edit axe.conf in your VPS datadir:
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.

    mining

    Download a miner

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

    Create AXE address to receive payments

    Download the AXE client from here. Generate a new address and input it on your account page to receive payments.

    Configure your miner

    If you want to mine on a Windows Operating System, then you'll need to create a batch file to start your miner. Simply open notepad and then copy and paste the following:

    SGMiner

    sgminer --kernel darkcoin-mod -o stratum+tcp://eu1.arcpool.com:1208 -u PBSFWKt583Xb5t92EPccWnXP2UHMTtCt5F -p x

    CCminer

    ccminer -a x11 -o stratum+tcp://eu1.arcpool.com:1208 -u PBSFWKt583Xb5t92EPccWnXP2UHMTtCt5F -p x
    
    You then need to change -u PBSFWKt583Xb5t92EPccWnXP2UHMTtCt5F to reflect your own address. Replace stratum+tcp://eu1.arcpool.com:1208 to another pool if needed. 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 mining.

    p2pool

    Requirments

  • axed >= 1.1.3
  • 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 here. 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

    {% if page.xsl %} {% endif %} {% assign collections = site.collections | where_exp:'collection','collection.output != false' %}{% for collection in collections %}{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}{% for doc in docs %} {{ doc.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if doc.last_modified_at or doc.date %}{{ doc.last_modified_at | default: doc.date | date_to_xmlschema }} {% endif %} {% endfor %}{% endfor %}{% assign pages = site.html_pages | where_exp:'doc','doc.sitemap != false' | where_exp:'doc','doc.url != "/404.html"' %}{% for page in pages %} {{ page.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if page.last_modified_at %}{{ page.last_modified_at | date_to_xmlschema }} {% endif %} {% endfor %}{% assign static_files = page.static_files | where_exp:'page','page.sitemap != false' | where_exp:'page','page.name != "404.html"' %}{% for file in static_files %} {{ file.path | replace:'/index.html','/' | absolute_url | xml_escape }} {{ file.modified_time | date_to_xmlschema }} {% endfor %}

    Sitemap: {{ "sitemap.xml" | absolute_url }}