C++ C Python M4 Shell Makefile Other
Clone or download
BTA-BATA Merge pull request #74 from midnight-miner/0.10.5.3
Remove TEST string from Release
Latest commit 0fe2246 Apr 11, 2018

README.md

BATA

  • Coin Type: POW
  • Hashing Algorithm: SCRYPT
  • Difficulty Retargeting: Dark Gravity Wave
  • Time Between Blocks 90
  • Block Reward: 25
  • Block Reward Halving Rate: 100000 Block 850000 Reward = 0.25 Bata
  • Premine: No
  • Total Coins: 10,000,000
  • rpc port: 5493
  • net port: 5784

What is BATA (BTA)?

The predecessor of barter trade dollars. Soon to release new POW/POS Hybrid.

Bata (BTA) is a currency that has been developed to replace trade dollars in traditional Barter Systems. As the "Sharing Economy" grows, so does the decentralized market.

Bata aims to change way the way we trade, by introducing Barter on the Blockchain.

A Barter Currency has been re-invented on a blockchain, decentralized, secure and widely available in the form of BTA, replacing a Trade Dollar. Trade Dollars are just like cash and for that matter are based on regular currency, but in current Barter Systems they are controlled and issued by a central party.

BTA is traded on multiple cryptocurrency exchanges right across the globe.

Website:

https://bata.io

For Developments info:

https://bata.io/development

Bootstrap:

Main: https://bata.money/downloads/bootstrap.zip Mirror: http://crypt.midnightminer.net/bootstraps/bata/bootstrap.zip

https://bata.io/wallets

Unzip the file into the same directory as the bata-qt.exe

Then with a shortcut or in the command prompt:

bata-qt.exe -loadblock=bootstrap.dat

Seednodes

in your bata.conf file just at this line

  • addnode=68.71.58.226
  • addnode=91.134.137.252
  • addnode=136.243.45.140
  • addnode=167.88.15.89
  • addnode=184.164.129.202
  • addnode=185.170.42.18
  • addnode=188.134.72.213
  • addnode=188.165.235.208
  • addnode=188.241.58.126
  • addnode=190.107.226.252
  • addnode=198.23.219.66
  • addnode=27.50.93.254
  • addnode=35.158.7.235
  • addnode=35.199.154.30
  • addnode=45.76.39.46
  • addnode=46.4.85.241
  • addnode=5.9.30.28
  • addnode=52.14.92.197
  • addnode=54.149.206.22
  • addnode=62.14.46.140
  • addnode=70.182.184.78
  • addnode=76.169.57.92
  • addnode=80.217.220.213
  • addnode=81.89.56.170
  • addnode=82.121.73.25
  • addnode=95.211.110.151
  • addnode=98.201.202.45

(Create in AppData\Roaming\bata)

LinkedIn:

https://www.linkedin.com/company/bata-money

Blockchain Explorers

Official Social Media

Forums:

Group Chat:

install Linux dependencies:

  • General:

sudo apt-get install git build-essential openssl libminiupnpc-dev build-essential openssl libminiupnpc-dev automake libtool libprotobuf-dev qrencode cmake libevent-dev libcurl4-openssl-dev pkg-config

If required:

sudo apt-get install autoconf-tools

  • QT Creator 4:

sudo apt-get install libqt4-dev qt4-dev-tools

  • QT Creator 5:

sudo apt-get install libqt5-dev qt5-dev-tools qttools5-dev-tools qt5-default libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools

  • LibBoost 4.8:

From Source: (Recommended)

wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz tar -xzvf db-4.8.30.NC.tar.gz cd db-4.8.30.NC/build_unix ../dist/configure --enable-cxx --disable-shared make

And build commands:

./autogen.sh CPPFLAGS="-I/your path to /db-4.8.30.NC/build_unix
LDFLAGS="-L/your path to /db-4.8.30.NC/build_unix
./configure make

From PPA (Not recommended)

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:bitcoin/bitcoin

sudo apt-get update

sudo apt-get install libdb4.8-dev libdb4.8++-dev

  • Latest version of LibBoost:

sudo apt-get install libboost++-dev libboost-all-dev libssl-dev libdb++-dev (Reinstall LibBoost 4.8 if removed during Latest Version install)

instructions for Linux compile:

git clone https://github.com/BTA-BATA/BATA-SOURCE

cd BATA-SOURCE

sudo chmod +777 *

./autogen.sh

./configure

make

(it will instruct you to make a bata.conf file, so make the bata.conf file and place in the .bata/ folder.)

example regular internet users' bata.conf:

rpcuser=BATAusername

rpcpassword=BATAuserpass

example for i2P users' BATA.conf:

(you will need to download the latest i2p software) https://geti2p.net/en/download

rpcuser=BATAusername

rpcpassword=BATAuserpass

i2p=1

proxy=127.0.0.1:3643

connect=lv4llpu75ydlfwxgx3ej5t6dpcnyi47px4wnluf7pyxpncd5trca.b32.i2p

example for tor users' bata.conf:

(you will need to download tor software) https://www.torproject.org/download/

rpcuser=BATAusername

rpcpassword=BATAuserpass

tor=1

proxy=127.0.0.1:9050

connect=eoekwl6m56nus2a7.onion

possible errors during compile:

virtual memory exhausted: Cannot allocate memory

make: [obj/bitcoinrpc.o] Error 1

here, we just need to set up a swap file, because we ran out of memory:

sudo fallocate -l 4G /swapfile

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

Make the Swap File Permanent

We have our swap file enabled, but when we reboot, the server will not automatically enable the file. We can change that though by modifying the fstab file.

Edit the file with root privileges in your text editor:

sudo nano /etc/fstab

At the bottom of the file, you need to add a line that will tell the operating system to automatically use the file you created:

/swapfile none swap sw 0 0

Save and close the file when you are finished.

Development process


Developers work in their own trees, then submit pull requests when they think their feature or bug fix is ready.

If it is a simple/trivial/non-controversial change, then one of the Bata development team members simply pulls it.

If it is a more complicated or potentially controversial change, then the patch submitter will be asked to start a discussion (if they haven't already) on the mailing list.

The patch will be accepted if there is broad consensus that it is a good thing. Developers should expect to rework and resubmit patches if the code doesn't match the project's coding conventions (see doc/coding.md) or are controversial.

The master-0.10 branch is regularly built and tested, but is not guaranteed to be completely stable. Tags are created regularly to indicate new official, stable release versions of Bata.

Testing


Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.

Manual Quality Assurance (QA) Testing

Large changes should have a test plan, and should be tested by somebody other than the developer who wrote the code. Creating a thread in the Bata discussion forum will allow the Bata development team members to review your proposal and to provide assistance with creating a test plan.

Bata Cross-compile Instructions

Guide by: Midnight Miner

  • Based on Ubutntu 16.04
  • Get your required packages to cross-compile Windows executables.

Bata Source Code

Clone the Github into a directory for building I will use this as an example ~/Bata-build/

cd ~/Bata-build

git clone https://github.com/BTA-BATA/BATA-SOURCE.git

cd BATA-SOURCE

Windows 32 bit

==============

sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl

sh autogen.sh

cd depends/

make HOST=i686-w64-mingw32 -j4

cd ..

./configure --prefix=pwd/depends/i686-w64-mingw32 --with-gui=qt5

make -j4

You will find the executables:

  • ./src/batad.exe
  • ./src/bata-cli.exe
  • ./src/bata-tx.exe
  • ./src/test/test_bata.exe
  • ./src/qt/test/test_bata-qt.exe
  • ./src/qt/bata-qt.exe

Copy them to another directory before compiling another platform.

Windows 64 bit

==============

sh autogen.sh

cd depends/

make HOST=x86_64-w64-mingw32 -j4

cd ..

./configure --prefix=pwd/depends/x86_64-w64-mingw32 --with-gui=qt5

make -j4

You will find the executables:

  • ./src/batad.exe
  • ./src/bata-cli.exe
  • ./src/bata-tx.exe
  • ./src/test/test_bata.exe
  • ./src/qt/test/test_bata-qt.exe
  • ./src/qt/bata-qt.exe

Copy them to another directory before compiling another platform.

Mac Cross-Compile

=================

sudo apt install libpython-all-dev python-all python-all-dev python-pip python-pip-whl python-pkg-resources python-setuptools python-wheel cmake libcap-dev

sh autogen.sh

make download-osx

cd depends/

make HOST=x86_64-apple-darwin11 -j4

cd ..

./configure --prefix=pwd/depends/x86_64-apple-darwin11 --with-gui=qt5

make -j4

Linux

=================

sh autogen.sh

cd depends/

make HOST=x86_64-unknown-linux -j4

cd ..

./configure --prefix=pwd/depends/x86_64-unknown-linux --with-gui=qt5

make -j4

You will find the executables:

  • ./src/batad
  • ./src/bata-cli
  • ./src/bata-tx
  • ./src/test/test_bata
  • ./src/qt/test/test_bata-qt
  • ./src/qt/bata-qt

Translations


Important We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.

We only accept translation fixes that are submitted through Bitcoin Core's Transifex page. Translations are converted to Bata periodically.

Development tips and tricks


compiling for debugging

  • Run configure with the --enable-debug option, then make.
  • Or run configure with CXXFLAGS="-g -ggdb -O0" or whatever debug flags you need.

debug.log

If the code is behaving strangely, take a look in the debug.log file in the data directory; error and debugging messages are written there.

The -debug=... command-line option controls debugging; running with just -debug will turn on all categories (and give you a very large debug.log file).

The Qt code routes qDebug() output to debug.log under category "qt": run with -debug=qt to see it.

testnet and regtest modes

Run with the -testnet option to run with "play batas" on the test network, if you are testing multi-machine code that needs to operate across the internet.

If you are testing something that can run on one machine, run with the -regtest option. In regression test mode, blocks can be created on-demand; see qa/rpc-tests/ for tests that run in -regtest mode.

DEBUG_LOCKORDER

Bata Core is a multithreaded application, and deadlocks or other multithreading bugs can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure CXXFLAGS="-DDEBUG_LOCKORDER -g") inserts run-time checks to keep track of which locks are held, and adds warnings to the debug.log file if inconsistencies are detected.

BATA License