Skip to content
UBIC: The crypto currency providing UBI for the masses using the E-Passport
C++ HTML JavaScript CMake C CSS Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
BlockCreator Bug fix in relation with ICELAND activation May 28, 2019
CertStore
Consensus Added clear() method to VoteStore May 21, 2019
Countries
Crypto Fix memory leak Aug 17, 2018
DB Removed Log May 21, 2019
FS
JSON
KYC Fixed syntax error Jun 29, 2019
Network
NtpEsk Version 0.2 Nov 18, 2018
NtpRsk Version 0.2 Nov 18, 2018
PassportReader
PathSum Annotation improvement Apr 25, 2018
REST
Scripts Added passport hash field to KycRequestScript Oct 10, 2018
Static
Test Added passport expiration for ICELAND May 28, 2019
Tools
Transaction Set default transaction timestamp to 0 Jul 4, 2019
WebInterface Catch asio errors Feb 27, 2018
cli Added missing header May 24, 2019
support Import Feb 25, 2018
Address.cpp Import Feb 25, 2018
Address.h
AddressHelper.h Import Feb 25, 2018
AddressStore.cpp Fix: When multiple passports are linked to one address Aug 3, 2018
AddressStore.h Import Feb 25, 2018
App.h Added "is starting" status May 25, 2019
Base58.cpp
Base58.h Import Feb 25, 2018
Base64.cpp Import Feb 25, 2018
Base64.h Import Feb 25, 2018
Block.cpp Fixed ICELAND activation May 22, 2019
Block.h Added ICELAND (UIS) May 13, 2019
BlockHeader.cpp
BlockHeader.h
BlockStore.cpp Import Feb 25, 2018
BlockStore.h
CMakeLists-mingw.txt Import Feb 25, 2018
CMakeLists.txt
Chain.cpp
Chain.h Import Feb 25, 2018
ChainParams.h Fixed MAX_NETWORK_MESSAGE_SIZE May 26, 2019
Config.cpp Import Feb 25, 2018
Config.h
DSCAttachedPassportCounter.cpp Import Feb 25, 2018
DSCAttachedPassportCounter.h
Fixes.cpp
Fixes.h Added missing header Jul 23, 2018
LICENSE Added license Feb 26, 2018
Loader.cpp Fix mismatch free/delete warning Jul 26, 2018
Loader.h Import Feb 25, 2018
MerkleTree.cpp Import Feb 25, 2018
MerkleTree.h Import Feb 25, 2018
README.md
Time.h
TxPool.cpp
TxPool.h
UAmount.h Refactor operators ==, !=, >=, <= May 21, 2019
UBICalculator.cpp Fix: When multiple passports are linked to one address Aug 3, 2018
UBICalculator.h
Wallet.cpp Refactoring and addding privateKeyFromVector() Jun 29, 2019
Wallet.h
_config.yml Set theme jekyll-theme-minimal Sep 6, 2018
byteswap.h Import Feb 25, 2018
endian.h Import Feb 25, 2018
main.cpp Bug fix May 25, 2019
prevector.h
serialize.h Import Feb 25, 2018
streams.h
ubic.cbp
ubic.ico Import Feb 25, 2018
ubic.rc Import Feb 25, 2018
ubic.res Import Feb 25, 2018

README.md

Overview

UBIC is a crypto-project that is meant to democratize currency creation minting new currency in favor of everyone, not only in favor of banks.

UBIC works like basic income on a blockchain, but can also be implemented by other projects for KYC-applications. UBIC will soon allow reliable pseudonymous voting (one person, one vote) and other applications as well that require a functionality to avoid sybil attacks.

Sybil attacks - people receiving multiple basic incomes at once - are harder on UBIC than elsewhere because you are required to proof your uniqueness with a Non-transferable proof of Signatur-Knowledge connected to your unique E-Passport.

Your identity is NOT revealed that way to other participants of the system.

The UBIC-Wallet is still in an early stage but does provide all basic functionalities a Wallet requires. You can send transactions, receive them and register a passport in order to get your UBIC cryptoUBI.

If you like the idea of the project you can support its development on github: github.com/rgex/UBIC-android-wallet & github.com/UBIC-repo

Installation on Linux

Install dependencies

sudo apt-get update
sudo apt-get install git cmake gcc make libleveldb1v5 libpcsclite1 libpcsclite-dev libleveldb-dev libboost-all-dev gcc g++ ntp

Verify that libboost is version >= 1.60 using apt-cache policy libboost-all-dev if it isn't run the commands bellow

cd /usr/local/src
sudo wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz && sudo tar xzvf boost_1_64_0.tar.gz && cd boost_1_64_0
./bootstrap.sh --prefix=/usr/local --with-libraries=all
./b2 install

Use ntp

sudo apt-get install ntp
sudo systemctl enable ntp

Install OpenSSL 1.1

cd /usr/local/src
sudo wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz && sudo tar xzvf openssl-1.1.0g.tar.gz && cd openssl-1.1.0g
sudo ./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
sudo make
sudo make install

openssl version # make sure it is version 1.1

#additional steps might be required:
sudo cp /usr/local/lib/libcrypto.so.1.1 /usr/lib
sudo cp /usr/local/lib/libssl.so.1.1 /usr/lib

Install UBIC

cd /usr/local/src
sudo git clone https://github.com/UBIC-repo/core.git
sudo chmod 777 -R core
cd core
cmake CMakeLists.txt
make
sudo make install

Run the server

/etc/init.d/ubic start

Stop the server

/etc/init.d/ubic stop

Running a node

If you are using a firewall make sure that port 1334 is open or TCP connections. This can be ensured by running:

sudo ufw allow 1334/tcp

Also your log files might getting huge. You can delete them by running:

sudo rm -rf /var/ubic/LOGS/*.txt

Open the web interface

To open the web interface you have to open 127.0.0.1:6789/#yourApiKey in your browser.

You will find your api key in the ~/ubic/config.ini file.

/!\ Warning: For security reasons the web interface can not be opened remotely by typing your server ip:6789/#yourApiKey. If you want to open the web interface of your server do a port forwarding over SSH, and forward the ports 6789 and 12303 to the ports 6789 and 12303 on your local machine.

Register a passport

To register a passport go to the "My UBI" tab and click "Register passport", then enter your passport number, date of birth and the date of expiry. Make sure your NFC reader is plugged and ready, put the passport on top of it. To help you on some readers a green light appears when it found a tag. Click "Register passport", if it doesnt work try again by turning your passport, opening it. If it still doesn't work open an issue on Github.

Note that to work your node should ideally be synced.

Command line interface

ubic web will display the URL for accessing the web interface.

Web interface: http://127.0.01:6789#839073d84f8ee9dbe98d02b3

ubic status will get your current node status.

Synced: true
Blockchain height: 4114
Best block hash: 0b9751f604582ddb405e1dfa1cbf202ecbd0621b3b7f9d70ba21456675a017c8

ubic add-peer <ip address> will add a new node to your node list.

Adding peer succeeded

ubic peers will return the peers you are connected to.

<ip>, blockheight: <height>

Development environment

UBIC was developed using CLion. If you want to work on the source code it is recommended that you use the same IDE.

You can’t perform that action at this time.