Scroll to top
Blockchain

Sikka – Decentralized Payment System

Sikka is a Decentralized Application built with Ethereum Smart Contract and includes an ERC20 compatible utility token, called SIK, which is used for payments.

SIK is a general-purpose cryptocurrency that is:

  • Fixed supply
  • Fractionally divisible
  • Non-inflationary
  • Fungible and transferable

This project aims at implementing the concept of a decentralized payment system to eliminate the hindrances caused due to centralized systems during the transaction process. The main purpose of this system has been to develop a decentralized payment system where every user can be in command of their own money and use it when they need to without any microtransactions in between from which others might benefit, allowing for minimum fee deduction.

 

Development Approach

We have implemented the blockchain technology on the Ethereum platform to build a smart contract which is a piece of code that dictates the cryptocurrency system. The smart contract was written on the solidity programming language. ERC20 standard was maintained while making the contract. Test-Driven Development (TDD) approach was used while making smart contracts. Chai.js library was chosen for this process. The system thus far can be used using the command line interface from any operating system.

In order to perform any transaction, the request has to be sent to the blockchain network and be verified. This process is called mining. The mining is done through geth software in our own private network through the JSON RPC server.

Web3.js and truffle.js is used to connect with the backend and frontend. Web3.js helps using smart contracts from solidity in javascript through the JSON RPC server, thus acting as a bridge between our frontend and backend. Truffle converts smart contracts in JSON RPC format.

The frontend design was made using react.js. In order to perform any transaction from this frontend design, any browser must contain web3. Metamask is an extension and easy to use tool that injects a global web3 into browsers. Another alternative is using a mist browser. The web3 contained browser is connected to our private server that provides an initial coin on every account for development purposes. This coin has no real market value. It is important to use services like metamask for development since we cannot afford real coins (i.e. ethers).

Since the value in the cryptocurrency is collected through crowd fundraising, the decentralized crowdfunding contract is also ready to be implemented with the front-end design. This process is also called an initial coin offering (ICO). The potential investors are brought together through the white paper (includes the system operation details and plan in the coming years) over the internet. The deployed system can be integrated into general applications as a payment gateway.

 

Project Report

Project Defence Slide

Midterm Slide

Source Code

  • Date

    June 12, 2018

  • Skills

    Ethereum, Remix IDE, Mist Browser, Metamask, Geth, Web3 JS, React JS, Node JS, Truffle, Webpack, Mocha, Chai, etc.

  • Client

    University Final Project

Share project
Open Website