UNIVERSAL PAYMENT BLOCKCHAIN

GRAFT blockchain MVP Development Status Update

We are moving forward with our MVP development, and it’s time for another update! Last time we talked about several areas of current activities: network node, supernode, blockchain explorer, testnet, mining, mobile wallet and POS apps, and payment terminal apps. So let’s review the progress in all those areas.

Network node

We have done several changes required for supporting the supernode activities as well as protocol changes such as new wallet addresses. GRAFT wallet addresses now start from “G” for mainnet and “T” for testnet, so they could be easily distinguishable from other wallet addresses. Also, we have introduced a new transaction type flag in order to be able to distinguish between different transaction types. For example, a new transaction that is approved instantly by the authorization sample is different from a “standard” slow transaction (which is eventually going to be deprecated).

Supernode

We have successfully finished the transition of the supernode codebase from Python to C++ – good job, our development team! Essentially, it has been rewritten in C++ from scratch. It took time and efforts, but there are huge benefits of this refactoring: a unified technology stack and generic code reusability. Now both network and supernode are located under the same project in github, so don’t be confused by lack of activities in “supernode” project: it’s been deprecated.

We have started the full implementation of the most important core feature of Graft Network: real time authorization (instant approval). During the PoC phase, real time authorization was not fully implemented, and many core functions were just mocked up. Now we are implementing the real mechanism according to the original design described in the white paper. The optimistic flow is scheduled to be ready for testing by mid December, while the full implementation should be done by the end of the year. It is very heavy lifting from development point of view, but once fully implemented and tested, this feature alone is going to revolutionize crypto payments!

Mobile Wallet, Mobile Point of Sale, and Payment Terminal apps

We are actively working on further development and redesign of client applications, which include wallet and point of sale mobile apps as well as payment terminals’ apps for Verifone, Ingenico, Equinox, and AnywhereCommerce. The most recent versions of MVP apps are going to be open for public testing very soon. Stay tuned!

Mining

Mining is a key function which is required for a successful network setup. As such it is our goal to provide with a simple and streamlined process on how to mine GRF. Our vision is to provide holistic procedure (turnkey) which can be understood and executed by everyone, including non-technical users.

In order to achieve our goal we are currently testing and documenting the best and easiest processes for miner setup and configuration. Our effort is not limited to written instructions, and we are also planning on providing video guides on how to perform the setup and configuration. To minimize the entry barrier for mining we are also creating a template for cloud mining (AMI/terraform) allowing new users to mine with zero CAPEX investment.

Public testnet

The main testnet is open to public. Now you can run your own network node and supernode and even mine some test GRF coins with CPU minder and run basic transfers. Note that currently we do not accept any support requests for the testnet for two reasons: first, it is not stable, and the versions are changing literally every day, and second, we do not have a designated support team yet, and developers are focused on their primary development tasks so we could meet our very tight deadlines. Thus, please connect to the testnet at your own risk. Nevertheless, we are always open for healthy criticism and happy to receive any feedback and bug reports. You can find information about the testnet connectivity, network node, and CLI wallet setup below. The full supernode setup and configuration instructions will be also published soon.

Public testnet seed nodes: 54.207.116.130, 54.207.21.115, 54.233.159.189, 18.231.10.64

Public testnet block explorer: testnet.graft.network:8081

Installing VM

1. Install VirtualBox (another virtualization software can be used, but only VirtualBox has been tested):

https://www.virtualbox.org/wiki/Downloads

Guest OS is Ubuntu 16.04, x64. Download ISO image using following URL:

http://releases.ubuntu.com/16.04/ubuntu-16.04.3-desktop-amd64.iso

2. Open VirtualBox, create new Virtual Machine

Select menu “Machine -> New”, Enter name, Select “Linux” (Type), Select “Ubuntu (64-bit)” (Version):

3. Select at least 2Gb RAM for the Virtual Machine.

It is recommended to arrange 2Gb RAM per CPU core for faster build.

4. Create new Virtual Hard Disk:

Select “VDI (VirtualBox Disk Image), Dynamically Allocated, Adjust file location (if needed) and select size appropriately. If you set it as e.g. 100Gb it doesn’t mean 100Gb will be allocated immediately – this is just upper limit.

5. Mount installation ISO:

Select your VM in the list, click “Settings”, select “Storage” and mount downloaded ISO as a new optical drive to IDE controller

6. Start VM and install the OS:

Follow the steps: https://tutorials.ubuntu.com/tutorial/tutorial-install-ubuntu-desktop#2

Installing the network node and CLI wallet

1. Install git (if not installed already):

sudo apt-get install -y git

2. Clone Graft Network from GitHub repository:

https://github.com/graft-project/GraftNetwork.git

git clone https://github.com/graft-project/GraftNetwork.git

3. Go to GraftNetwork directory:

cd GraftNetwork

4. Install dependencies from the list https://github.com/graft-project/GraftNetwork#dependencies

Use the following command line:

sudo apt-get -y install build-essential cmake \

pkg-config libboost-all-dev \

libssl-dev libunwind8-dev \

liblzma-dev libldns-dev \

libexpat1-dev doxygen graphviz

5. Start the build:

Option A (Use all CPUs):

make

Option B (Defined CPU affinity):

make -j4

for “-j” param select appropriate number of CPU cores available on your system.

In order to build standalone binaries (i.e. to upload it to the server where no dev packages installed), invoke:

make -j4 release-static

Wait until compilation is finished (Approximately 21 minutes using AWS T2 Medium)

6. Copy binaries to the appropriate directory:

Option A (system scope) –

sudo cp build/release/bin/* /usr/local/bin/

Option B (user scope) –

mkdir $HOME/bin

cp build/release/bin/* $HOME/bin

7. Run Graft blockchain node

Under folder /GraftNetwork/build/release/bin, the following components may be found:

graftnoded – Graft Blockchain daemon;

graft-wallet-cli – Graft Blockchain CLI Wallet.

Running Graft Blockchain node daemon:

graftnoded --testnet

8. Creating CLI wallet and connecting to the local testnet node

To create new wallet for the public testnet, invoke:

./graft-wallet-cli --generate-new-wallet --testnet

File location : ~/GraftNetwork/build/release/bin

It will try to connect to the local network node daemon, running in testnet mode, ask password for a new wallet, electrum seed language, generate new wallet, and finally open wallet with CLI interface. Invoke help to see available commands. E.g. CPU mining (solo mining) can be started with start_mining command.