Latest blogs posts on From the Present to the Near Future of Blockchain Apps  

With the rise of dApps and their prospects for making our lives easier across the globe, at least as means of financial transfers, many app developers are fully invested to work on the decentralized networks. Blockchain development is more popular, despite concerns by disbelievers that dApps have limited potential and that they are not likely to produce significant breakthroughs. Killer apps show up to contrast the opinion; we are seeing the success of tokenization and micropayments, as well as the combined application of blockchain development and neural networks to create predictive artificial intelligence.

For future-oriented blockchain developers, 2018 seems to be a promising and (again) a challenging year. New projects keep piling up at the end of where we 've come so far. We are looking into a period where blockchain development will be more about digital identities and voting, decentralized registries and smart contracts.


Starting with Basic Blockchain Apps

If you don't want to leave it to the blockchain app market to make the decisions without your input, there are already some well-established players: it would be hard to miss on the challenge of developing or at least experimenting with the Ethereum blockchain. Have you thought of chipping in your first ether? By starting with this platform, chances are you may quickly continue by helping someone else (a client) accrue a nice cryptocurrency amount. With the developer community support, learning resources for solidity development accumulate fast. If it seems less and more complicated at the same time to start using Ethereum, maybe you haven't touched on its potential yet. There are at least a handful of languages you can go for; not to mention video tutorials, informal online courses and even an official Ethereum "university" - EthAcademy.


Ethereum State and Accounts

Learning Solidity is necessary for delving into blockchain development to build dApps within a short time frame and multidirectional interaction. Whatever you choose, Ethereum is "the" platform to hone your dApps coding skills. It works by using a Turing-complete programming language; with sufficient memory you can apply sophisticated coding logic to solve the majority of computational problems. This includes performing looping and branching statements and local state storage.

The state in Ethereum consists of accounts. These accounts have a 20-byte address and state transitions that are direct transfers of information and value between Ethereum accounts. Each account is made of four fields. The first one is called a nonce, which is a counter implemented to assure single transaction processing. The other three fields are the current ether (Ethereum cryptocurrency) balance, the contract code and the storage.

Ethereum accounts typically exist as externally owned accounts and as contract accounts. The difference is that externally owned accounts are controlled by private keys and have no code. Contract accounts, on the other hand, are controlled by their contract code. You can send messages from external to contract accounts by creating and signing transactions. The code in the contract accounts activates once it receives a message from the external account, and can, in turn, create new contracts or read and write to the internal storage.


Tokens, Derivatives and Smart Contracts

Ethereum is pretty simple for tokenization and making financial derivatives, allowing users to manage their money in new ways and enter into numerous contracts. If you are planning to begin with blockchain development son, smart contracts are a good place to start.

For example, financial derivatives require simple coding but come with challenges of their own, such as the need for reference to an external price ticker. Although some suggest solving the ether or other cryptocurrency volatility problem in an old-fashioned way, Ethereum provides an option with hedging data-feed contracts connected to volatility indices on other stock exchanges. This type of contract includes an option for updates, as well as a message interface for communication between the contracts.

Using a trusted central authority as a price ticker is not perfect for full decentralization, but it still provides and option for an additional input to cut down costs of the infrastructure and guard against fraud.

Ethereum is in the initial stages, but its open-source simple structure is continually being updated to provide a strong base layer for blockchain development. As a mix of a financial platform and advanced decentralized computer protocols, it influences the nature of the web and the money as we have come to know it by now.


Disclaimer: It should be noted that financial derivatives are products that engage risk in investment, and the mention of financial derivatives in this article should not be considered as advice to buy or sell them.

]]> Mon, 05 Feb 2018 00:00:00 +0000
Calculate break even point for multiple products When running a business is important to know what is your break even point so you can set your sales target correctly. There are fixed and variables costs, break even point is the level where the revenue equals the total cost, so the business does not make or lose money. To calculate this there are various methods but we will use one which will cover multiple products.

First we have to know sales price of each product and the variable cost so we can calculate the contribution margin of each unit. Let's say that we offer three major products and the percentage of sales we expect from each is

Product 1: 20 %
Product 2: 50 %
Product 3: 30 %

  Product 1 Product 2 Product 3
       price per Unit 17 $ 34 $ 50 $
  -   variable cost per unit   2 $   4 $   6 $
 =   contribution margin per unit 15 $ 30 $ 44 $
 x    sales mix percentage 20% 50% 30%


Weighted Average Contribution Margin = 31.2 $


Total fixed costs include bills like office rent, utilities bills in general all the costs that will have to be paid even the business has no revenue. Let's take a rough estimate of 3000 $.

Break Even Point = Fixed Costs / Weighted Average Contribution Margin

we have to sell approximately 96 unit in total or 19 units from product 1, 40 units from product 2 and from product 3 29 units

So we now the unit we have to sell for not have loses


Calculate your net profit of your business after taxes in Greece

]]> Wed, 27 Dec 2017 00:00:00 +0000
Solidity language to create Smart Contracts Solidity is a high level programming language that we can use to create smart contracts in ethereum, solidity as a language was design to target the EVM machine. The contracts that can be created are  applications, machine code, that will running on ethereum blockchain. Examples of such contracts could be a voting mechanism, an auction, a currency and also many other ideas can be applicable there. If you are already using nodejs, the solidity compiler can be installed easily through nodejs's packaging system. In a linux enviroment with nodejs and npm, the installation of solidity can be achieved through command line by using the following command.

sudo npm install -g solc 

To check if the command line utility and the compiler was installed successfully we press

solcjs --help

Let's create a file with name first_contract.sol then there are plenty code of samples to test let's choose the remote purchase paste the code file you find in the previous link in the file we just created then we have to compile the contract using this command

 solcjs --bin --abi first_contract.sol

the previous command will output two files the first one has extension .bin  is the contract compiled code (bytecode) that we will use in ethereum client to deploy the contract. The other file with file extension .abi is the application binary interface and describes how a user will interact with the contract..

There are a lot of applications that can be created, the previous example we provided a  link with the code for a remote purchase do not use it in real life only to study the code, there is flaw  if the buyer goes rogue and doesn't confirm that he received the product the etheur will not be released to the seller.

Initial Coin Offer (ICO)

One of the most notable applications that somebody can create with smart contracts are the ICOs, initial coin offer.  It's a form of crowdfunding that you are able to collect funds for a project by selling rights of ownership. The fundamental difference between this and classic crowdfunding campaign, through a website like indiegogo, is that the backers control the release  of the money for making decisions with voting. A library for writing secure contracts such as various kinds of ICOs  is OpenZeppelin.

consulting in ethereum contracts

]]> Mon, 11 Dec 2017 00:00:00 +0000
Automated testing in web applications In production environments one of the basics is to make sure that applications are working properly every time we add new features or make fixes in current code base, this can be achieved using automated testing procedures. There are various software testing suites and of one of them is codeception. The codeception can be installed locally inside your project or globally in your development machine, the can be achieved easily using a package manager like composer. In case of local installation in command line we type the following and only for the global case we add the flag global after the require command

composer require "codeception/codeception=2.1.*" 
composer require "codeception/specify=*"
composer require "codeception/verify=*"

gloabal case composer require global "codeception/codeception=2.1.*"

In global machine installation you can check the packages of composer as typing the follow

composer global status

In the global case the packages from composer are installed in home directory in hidden folder called .composer let's find it

cd ~/.composer

then we have to add this directory ~/.composer/vendor/bin to the path PATH environment variable in ~/.profile file

add the following 
export PATH=$PATH:~/.composer/vendor/bin

Now we can write tests and execute the from command line using codecept from command line.

There three types of tests unit , functional and acceptance Tests. The unit tests verify small parts of code if works properly for example the unit tests can test the function methods against various inputs against the expected results. Functional tests are testing the functionality of using various scenarios that a user do in the applications. Acceptance is almost the same as functional but the execution can be inside on brower where we can see a visual of testing flow while the test running application. Software testing web application in Saint Louis contact us. If you want to run the acceptance tests

codecept run acceptance

Quality Assurance Software Tester

]]> Sun, 01 Oct 2017 00:00:00 +0000
Working with webhooks in development When we develop complex applications, often we want to integrate third party web services such as payment gateways, sms apis and other. Some of them send messages (webhooks) back to our web application in future time, for example to update the status of a record. During development when we work in our local development machine it's difficult to interact with incoming requests from such services. One solution to simplify this task is to use an online http tunnel services such gronk which is one of the ways to expose our virtual host on public internet.

After we download install ngrok client, to map a virtual host domain such as http://eshop.localhost from our local machine to public internet we execute the following command in gronk terminal

./ngrok http -host-header eshop.localhost 80

then ngrok will generate a public url

creating RESTfull web services and consuming APIS

]]> Wed, 12 Jul 2017 00:00:00 +0000