3.6 KiB
Aucoin: A distributed cryptocurrency
Quick Start
Installation
The easiest way to install Aucoin is to use pip:
pip3 install --upgrade https://git.caspervk.net/caspervk/aucoin/archive/master.tar.gz
Aucoin requires Python 3.6 or later. Python 3.6 is available in many distributions but you may need to build it on Debian. See the Detailed Install Instructions section for further information.
Usage
The program can be started by running aucoin
or python3 -m aucoin
depending on system configuration. Aucoin uses TCP port 8334 to communicate with other nodes; you may need to open it in your firewall.
Usage: aucoin [OPTIONS]
Options:
-m, --miners INTEGER Number of mining processors. [default: 1]
-p, --max-peers INTEGER Maximum number of network peers. [default: 100]
-i, --interface TEXT Network interface to bind to. [default: 0.0.0.0]
-s, --seed TEXT Nodes to connect to. Overrides DNS seeds and saved
peer database. Can be specified multiple times.
-v, --verbose Increase verbosity. Can be used multiple times.
--no-catch-up Skip catching up to the rest of the network before
starting miner and CLI.
--fast-unsafe-catch-up Catch up much faster by downloading the blockchain
database from central server (aucoin.network).
--statistics Log statistics to .aucoin/statistics/stats.json.
--clean Remove data directory (blockchain, wallet, etc).
--help Show this message and exit.
Updating
Update by issuing the same command as with installation.
Screenshots
Node status
Transaction history
Catching up
Detailed Install Instructions
Building Python 3.6
The following will build and install Python 3.6 on Debian Stretch:
apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev libgdbm-dev tk-dev
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
tar xf Python-3.6.4.tgz
cd Python-3.6.4
./configure --enable-optimizations
make
make altinstall # https://docs.python.org/3/using/unix.html#building-python
Replace python3
and pip3
with python3.6
and pip3.6
, respectively, throughout this document if Python 3.6 was built manually.
Development Setup
To get started developing on Aucoin, it is recommended to install the package from git. The following will install Aucoin along with the additional development dependencies (optionally in a virtual environment):
git clone git@git.caspervk.net:caspervk/aucoin.git
cd aucoin
python3 -m venv venv # optional
. venv/bin/activate # optional
pip3 install --editable .[dev]
Execute git pull
to update from upstream.
Building Package
To build wheels for the project, first install the wheel
package:
pip3 install wheel
To build the wheel:
python3 setup.py bdist_wheel
More information on how to package and distribute projects here.
Seed Node
The only centralised component of the system is the seed nodes; these are the nodes that new clients will connect with to bootstrap the network. By default, clients retrieve the list of seed node IP-addresses through DNS at the hostname seed.aucoin.network. To support multiple seed nodes the zone should be configured as follows:
seed IN A <seed address>
IN A <seed address>
...