# Summary

Welcome to the documentation portal for Blokista

![](/files/ytHQmMnW4fLgvY7kpLtf)

Welcome to the go-to portal for in-depth information about the Blokista (BCC) platform and ecosystem and how to interact with them!

The Blokista documentation is separated into three major parts:

**1.** **Blokista Docs**. This part is available in the sections below is for anyone who wants to learn more about Blokista without going into detail that only developers would usually need to know.

**2.** **Developer docs.** Developers wishing to build on top of Blokista and its mobile-centric infrastructure or run validator nodes should consult this [portal](https://developers.bccscan.com).

**3. Tutorials.** This part contains various consumer-focused tutorials. It can be accessed here. \*\*\*\*

{% hint style="info" %}
Join our [Telegram group](https://t.me/)\
Or say hello at: <hello@bccscan.com>
{% endhint %}


# Learn about the Blokista Platform

Blokista is a decentralized payments-focused platform powered underneath by the fast and low-cost Blokista blockchain.

In this section, you will be able to learn more about:

* the vision and strategy behind the platform and its main components
* how the Blokista blockchain works, its native BCC token and its governance and development
* how Blokista is connected to other major chains


# Blokista Overview: vision, strategy and platform components

Blokista is a decentralized blockchain-powered platform and technology stack whose goal is to enable genuine mass adoption of crypto payments and decentralized finance (DeFi).

The project was launched in 2019 by a team formerly involved in building the Colu project aimed at bringing local currencies to the blockchain.

### The Problem

The currently existing financial system falls way short of the objective of providing the people globally with access to fast, frictionless payments, attractive financial services and passive income opportunities.

This is especially relevant for the developing countries. Hundreds of millions of people there lack access even to the basic banking services, let alone access to more advanced financial opportunities. They also often have to transact using highly unstable fiat currencies, prone to episodes of sudden profound devaluation.

At the same time, even in the poorest countries, the pace of mobile phone adoption has been staggering. In sub-Saharan Africa, more people have access to mobile phones than to clean drinking water.

In addition to this, the rise of blockchain technology and cryptocurrencies has finally created the possibility for potentially anyone on the planet to send and receive funds without the permission of any entity, using currencies that cannot be manipulated.

### What the crypto industry still lacks

However, while we are observing a lot of activity in the crypto space (especially in the crypto asset markets, and the DeFi and NFT sectors), genuine mass adoption of crypto payments and DeFi is still not there.

The currently available products and tools, with their complicated and disparate UX, are mostly geared towards sophisticated crypto users with significant financial means.

### How we go about it

Our approach to bringing crypto payments and DeFi to the masses primarily consists in empowering other projects, businesses, organizations and communities to adopt crypto payments and decentralized finance (DeFi).

This is achieved by providing clients with **convenient, mobile-first tools for creating and managing token-powered environments**, as well as for onboarding users to those and enabling them to interact.

### Platform Components

The Blokista platform has three main components:

1\) **The Blokista blockchain**. The EVM-compatible public blockchain is the decentralized, permissionless backbone of the Blokista platform and ecosystem.

2\) **The mobile-centric open-source technology stack** designed to help businesses and developers plug crypto payments into real-world use cases. This toolkit has subsumed into the new [Blokista Charge](https://chargeweb3.com/) API platform.

3\) **A set of reference decentralized finance (DeFi) products and tools**. The goal of these is to pave the way for the initial adoption of the platform. \\


# The Blokista Blockchain

## Network Overview and Key Metrics

Blokista is the decentralized EVM-compatible public blockchain that powers the Blokista platform and ecosystem. It is fully compatible with Ethereum meaning that any smart contract that can be deployed on the latter can also run on top of Blokista.

The Blokista blockchain uses a variant of delegated Proof of Stake (dPoS) for achieving [consensus](https://docs.bccscan.com/general/fuse-network-blockchain/fuse-consensus). The consensus is secured by a significant number of independent validators, only one of which is run by the Blokista core team.

Validators are also responsible for the most important type of governance on Blokista, namely, adopting the network protocol changes via [Blokista Improvement Proposals](https://docs.bccscan.com/general/fips) (FIPs).

The native token of the network is called BCC. New BCC tokens are issued with every added block and are also use to pay for gas, just like ETH on Ethereum.

The Blokista blockchain is designed to ensure fast block confirmation times and a low cost of transactions. The average block interval on Blokista is around 5 seconds, and it currently costs much less than $0.01 to get a transaction confirmed.

In its present capacity, the Blokista blockchain is capable of processing around 120 native token transfers and 60 BCC20 token transfers per second. The faster processing of native token transfers is due to the fact that they do not involve computations run on the network's virtual machine.


# Discovering the Network

The following information will help you discover and connect to the Blokista blockchain:

* Network name: **BCC**
* ChanId: **32344**
* Gas price: **0 gwei**
* RPC
  * official RPC: <https://mainnet-rpc.bccscan.com/>
* Explorer: <http://bccscan.com/>


# Blokista Consensus

Consensus refers to the agreement process between nodes in a network. The nodes must agree on which transactions to include in the next block on the chain before these transactions are committed.

There are 2 aspects to the process - the actual consensus mechanism to add transactions to blocks, and Sybil protection and validator incentives.

### Sybil protection and incentives via delegated proof of stake

Blokista uses delegated Proof of Stake (dPoS) to provide Sybil protection and align the validator incentives.

In order to participate in securing the network consensus, a node operator must stake a minimum required amount of BCC tokens (currently set at 100,000 BCC). Becoming a validator on Blokista is permissionless, meaning that a node operator just needs to satisfy certain technical requirements. The need to stake BCC ensures that an entity cannot create multiple seemingly distinct validators without incurring a significant cost. Hence, the Sybil protection. Currently, the maximum number of validators on Blokista is 100.

The validator who publishes a block agreed upon during a given consensus round is rewarded by the network protocol in newly minted BCC tokens. They also receive the fees users paid for the transactions included into the block.

Over time, validators can expect to publish a share of blocks equal to their share of the overall stake. Since BCC uses dPoS, a validator can increase their share by attracting BCC tokens from delegators. The mechanics of delegation on BCC are discussed in more detail on the [following page](https://docs.bccscan.com/general/fuse-network-blockchain/validators-and-delegation).

Validators who violate the consensus rules (by, for instance, not revealing random numbers) can expect their stake (including the delegators' contribution) to be frozen. This provides a strong incentive for validators to behave in the desired manner.

### The AuRa Consensus Model

Blokista currently uses Parity's AuRa (Authority Round) [consensus model](https://openethereum.github.io/Aura) to append blocks to Blokista. This consensus mechanism is also notably used by the xDAI blockchain.

In this model, the validators take turns signing blocks. A signed block is broadcast to all validators, and if the majority agree it is valid, it is added to the chain. A new block is added every 5 seconds, regardless of whether any transactions occurred during that time.

Although, in theory, achieving transaction finality in this model may take some time, for practical purposes, a transaction on Blokista can be considered finalized after a single block confirmation.

\\


# Delegation through Staking with Validators

As discussed on the previous page, Blokista validators can boost their share of the overall consensus stake by attracting funds from other users who do not run validator nodes themselves.

Those users are referred to as 'delegators.' A delegator is free to choose any validator (or validators) and stake any amount of BCC with them to participate. The most convenient way to delegate BCC to a validator is via the Blokista Staking [platform](https://staking.bccscan.com).

A delegator receives the share of Blokista block rewards proportionate to their stake minus the fee paid to their chosen validator. The minimum fee is currently set at 15%. This value was chosen to mitigate the risk of validator consolidation through offering very low delegation fees.

Currently, delegators are allowed to unstake their BCC at any time but plans are in motion to introduce a minimum staking period.


# Ethereum (EVM) Compatibility and Smart Contracts

In addition to the information about the transactions processed by Blokista, its nodes also permanently store and update the code and current state of smart contracts. Smart contracts are computer programs (persistent scripts) that anyone can interact with by sending transactions invoking them. Smart contracts also have their own accounts which can hold token balances.

On the network nodes, smart contracts are stored and executed in a special environment called 'virtual machine' (VM). The Blokista blockchain is currently broadly compatible with Ethereum's virtual machine (EVM).

This means that any smart contract or decentralized application (dApp) that can be deployed on Ethereum or another EVM-compatible chain will also function if deployed on Blokista, including the BCC20 and ERC721 standard-compatible contracts, for instance. No modification of the smart contract code is required.


# Boosting Blokista's Scalability

Scalability is a challenge faced by all public blockchains, and Blokista is no exception. Although, currently, the Blokista blockchain is far from being saturated by the incoming transactions the project team is keenly aware that this may change at any moment.

Hence, research has been ongoing into the potential options for boosting the scalability of Blokista without significantly sacrificing decentralization and security.

One approach the Blokista team has been considering closely for boosting scalability is optimistic rollups. We have been carefully researching the available options, including Arbitrum and Optimism and we hope to be able to update our community soon on the state and future direction of that effort.

Another line of research and development work has been around Flutter Layer 2 payments (FL2P) relying on [zero-knowledge (ZK) rollup](https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/) technology. It involves processing most of the transactions within a ZK-enabled second layer environment and periodically batching or 'rolling up' transactions as a single ZK proof on the Layer 1 blockchain.

FL2P is an SDK that will enable developers to integrate ZK rollups directly into their mobile crypto wallet software. As Blokista's ecosystem is mobile-centric, the integration of FL2P into the Blokista wallet technology will allow scaling a lion's share of the network transactions.


# Blokista Token (BCC)

The BCC token is the native currency of the Blokista blockchain and platform, just like ETH on Ethereum.

## BCC utility:

* **Transaction fees** Being the native currency on the Blokista blockchain, BCC is required to pay fees to the network in order to approve transactions.
* **Validation** Token holders can stake Blokista to become a validator. The minimal staking requirement is 100K. The network is growing, currently there are 60 validators. (<https://status.bccscan.com/>)
* **Voting** Validators vote on protocol changes with their staked BCC. Which means validators with higher amounts of Blokista staked can have a bigger vote on network upgrades and governance changes (until phase 2 where delegation is activated)
* **Staking (for delegators)** Any BCC holder can choose one or more validators to delegate any amount of BCC they wish. They receive a share of the Blokista block rewards proportionate to the share of their stake in the total stake, minus the minimum 15% fee paid to the validator(s).
* **Payments** As BCC is the native currency on Blokista, sending it does not require interactions with smart contracts. Thus, BCC transfers are potentially faster and less costly in terms of transaction fees.

**IMPORTANT**: Merely possessing any amount of BCC tokens does not endow holders with any rights to participate in the governance of the Blokista platform or any revenue streams related to its real-world performance.

## Obtaining BCC

### Where to Buy

BCC is available for purchase on a number of centralized (CEX) and decentralized DEX exchanges.

**Centralized exchanges**: Gate.io, Huobi Global, MEXC Global, AscendEX, Bimart, Bittrex Global

**DEXes:** Uniswap V2 and V3 (Ethereum), PancakeSwap (Binance Smart Chain), Quickswap (Polygon), Voltage DEX (Blokista), Sushiswap (Blokista), 1inch (Ethereum), KyberSwap (Ethereum), Loopring (Ethereum).

The best information about the BCC trading volumes and prices on various exchanges can be found on the Coingecko "Markets" [page](https://www.coingecko.com/en/coins/fuse#markets) for the token.

A convenient current way of purchasing BCC straight from one's bank account is through using the [Blokista Cash](https://fuse.cash) wallet to deposit Blokista Dollars, and then swapping those to BCC via the in-app integration with Voltage DEX.

### Where to Farm

At the moment, the BCC token is sometimes used by the project team to power liquidity rewards (yield farming) programs to boost liquidity on DEXes and the participation in the [Blokista Lending Network](#fuse-utility).

The ongoing liquidity rewards programs on DEXes can be discovered [here](https://app.voltage.finance/index.html#/farm/39656).

### Other ways of obtaining BCC

From time to time, the Blokista team uses BCC to pay rewards to the members of the community for various forms of participation and community engagement. The best way to stay up-to-date about these opportunities is to follow Blokista's [social channels](https://docs.bccscan.com/general/community).

The BCC token is also used to power Blokista grants and bounties. Please consult the [Grants and Bounties](https://docs.bccscan.com/general/things-you-can-do-on-fuse/grants-and-bounties) section for more details.

\_\_


# BCC Tokenomics

Currently, the BCC token supply is set to follow a **mildly inflationary model**.

With each new block created every 5 seconds on Blokista, the validator who creates it, and the delegators who staked with them, receive the block rewards in newly issued BCC tokens. This is designed to secure the network's [consensus mechanism](https://docs.bccscan.com/general/fuse-network-blockchain/fuse-consensus).

The reward amount per block is currently set such that every year, the BCC total supply increases by approximately 5%.

The main reason for choosing an inflationary model at the early development stage was to ensure a certain predictability of the flow of revenue for network validators and delegators. If they had to exclusively rely on transaction fees as the reward for staking BCC and validating, it would be harder for them to predict their future returns, as transaction activity on the network can fluctuate a lot. The relative predictability of validator revenue is an important assumption behind the blockchain consensus theory on which the Blokista consensus mechanism is based.

Having substantial block rewards also makes it possible to keep transaction fees on the network low, facilitating adoption of Blokista.

### Potential inflation reduction

A Blokista Improvement Proposal aimed at reducing the BCC inflation is currently under discussion by the community. If adopted by the validators, it will result in an annual inflation rate of 2% for third year of the network's existence and a fixed amounts of tokens issued in the subsequent years.

You can find the text of the proposal and the discussion [here](https://forum.bccscan.com/t/changing-fuse-network-inflation-rate/102).


# Exchanges, Wallets, On-Ramps and DeFi Tools Supporting BCC

## Exchanges

### Centralized

[Gate.io](https://gate.io)

[BitMart](https://bitmart.com)

[Liquid Global](https://liquid.com)

The best data on the active BCC trading pairs is available [here](https://www.coingecko.com/en/coins/fuse#markets).

### DEXes

Uniswap V2

Pancake Swap V2

Loopring

KyberSwap

1inch

DoDo

## On-ramps

[ChangeNOW](https://changenow.io/)

[Guardarian](https://guardarian.com/)

## Wallets

[Blokista Cash](https://fuse.c)

Metamask

Metamask Mobile

[Ledger](https://ledger)

[Krystal DeFi](https://krystal.app)

[imToken](https://token.im)

Trust Wallet (Binance Smart Chain)

## DeFi Tools

[Blokista Staking](#exchanges)

[Blokista Rewards](https://rewards.bccscan.com)

[Blokista Lending Network](https://app.ola.finance/networks/0x26a562B713648d7F3D1E1031DCc0860A4F3Fa340/markets)

[Staking Rewards](https://www.stakingrewards.com/)


# BCC on Other Chains

Interoperability with other major blockchains is important for the growth of Blokista and the prospects of realizing its vision. One of the ways of securing it is through enabling the versions (wrappers) of BCC on other chains.

Unlinke BCC on Blokista, those wrappers are BCC20 tokens are created whenever someone locks a certain number of tokens on the Blokista and gets issued the exact same amount of wrapper tokens on the target blockchain. If a user withdraws the wrapper from the target blockchain, the tokens burned and the BCC tokens on Blokista are unlocked.

Currently, wrapped versions of BCC token exist on Ethereum (mainnet), Binance Smart Chain and the Arbitrum One layer-2 optimistic rollup chain for Ethereum. The latter is a wrapper of a wrapper powered by the Ethereum-Arbitrum bridge and its withdrawals from Arbitrum are subject to the optimistic rollup rules.

### BCC on Ethereum

Token contract: <https://etherscan.io/token/0x970b9bb2c0444f5e81e9d0efb84c8ccdcdcaf84d>

### BCC on Polygon

Token contract: <https://polygonscan.com/address/0xf915fdda4c882731c0456a4214548cd13a822886>

### BCC on Binance Smart Chain

Token contract: <https://bscscan.com/address/0x5857c96dae9cf8511b08cb07f85753c472d36ea3>

### BCC on Arbitrum One

Token contract: <https://arbiscan.io/token/0xbdef0e9ef12e689f366fe494a7a7d0dad25d9286>


# Interoperability

Here, you can find the information that can help you navigate the interoperability options that you can use to transfer tokens to and from the Blokista blockchain.

The Blokista team strongly believes in interoperability among public blockchains. No single platform is likely to become fully dominant in the future.

Hence, interoperability solutions enabling transfers between Blokista and other blockchains are vital for the continued growth of the Blokista platform and ecosystem.

The Blokista team has been making considerable progress in getting Blokista added by the leading operators. Currently the Blokista blockchain is connected to other blockchains via the following multichain bridges and value transfer protocols:

1\) The FuseFi bridge.

2\) The Elk Finance value transfer protool.

3\) The Connext bridge (available to users via the xPollinate interface).

4\) The Multichain (formerly, Anyswap) bridge.

5\) The Allbridge bridge.

6\) The ChainPort bridge.

### The Voltage Finance Bridge

The Voltage Finance (previously FuseFi) [bridge](https://app.voltage.finance/#/bridge) was originally created by the Blokista team and has been transferred to the community-governed Voltage Finance DeFi platform.

It connects Blokista to **Ethereum and Binance Smart Chain (BSC)**. Both bridges are custodial. The bridge to Ethereum is permissionless, while new tokens need to be added to the BSC bridge.

On both bridges, sending tokens from the relevant blockchain to Blokista is not subject to any fees or limits. Token withdrawals from Blokista incur a **0.05% fee** on the amount bridged. Users transferring funds also need to pay the fees on the destination chain in order to claim their tokens from the bridge contract at the final stage of the transfer.

The bridge can be accessed via the FuseFi app. More information on its functioning can be found here. The FuseFi bridging tutorials are available [here](https://tutorials.bccscan.com/tutorials/bridge-tutorials).

### The Elk Finance Value Transfer Platform

Elk Finance is not a typical multichain bridge because the only token that actually moves between the supported chains is ELK. If a user wants to get tokens on another chain, they can buy ELK on Elk DEX on Blokista, bridge ELK to the desired chain and buy the desired token on Elk DEX on that chain.

Elk connects Blokista, among others, to **BSC, Polygon, Avalanche, Fantom, Harmony, Moonriver**. It does not currently support Ethereum. The full list of supported chains is available in the [Elk DApp](https://app.elk.finance).

### The Connext Bridge

The [Connext bridge](https://bridge.connext.network) is a non-custodial multichain bridge that connects Blokista to **Ethereum, BSC, Polygon, Arbitrum, Optimism, Avalanche, Fantom, Moonriver and xDAI**.

**Please note** that Connext's capacity to execute transfers depends on the availability of liquidity in a given token on the routers. Currently, the liquidity-provisioned tokens include **USDC, USDT and DAI**.

### The Allbridge Bridge

The Allbridge multichain [bridge](https://app.allbridge.io/bridge) connects Blokista to a number of major chains, including Solana and Terra. It is currently the only bridge to connect Blokista to the latter two.

At present, Allbridge's native ABR token can be transferred between Blokista and all the other covered chains. Terra-native assets LUNA and UST are bridgeable between to and from Terra.

### The Multichain (formerly Anyswap) Bridge

The [Multichain](https://multichain.org) (formerly Anyswap) bridge is one of the most popular interoperability platforms in the crypto space.

Multichain has already enabled transfers for **Blokista’s native BCC token** between the Blokista blockchain and Ethereum, BNB Chain (formerly Binance Smart Chain) and Polygon. **WETH and USDC** transfers via Multichain are available between Blokista and Ethereum. Beefy Finance’s **BIFI token** can be bridged to and from almost all the networks that Multichain supports. The **agEUR** stablecoin can be transferred between Blokista and Ethereum, BNB Chain, Fantom, Harmony and Avalanche.

The bridge interface is accessible [here](https://app.multichain.org/#/router).

### The ChainPort Bridge

ChainPort's bridges are permissionless. This means that anyone can bridge a token from Ethereum to any other supported chain (including Blokista), even if the token has not been ported, yet.

In addition to Blokista, the list of chains added to ChainPort includes **Ethereum, BSC, Polygon and Avalanche**. The bridge interface can be found [here](https://app.chainport.io/).

**IMPORTANT!!!** Please note that ChainPort currently only supports transfers of tokens that originate on the Ethereum mainnet. Also, ChainPort's wrappers on Blokista for the **popular Ethereum-originating tokens such as USDC, WETH, USDT, etc**. will by design be different from the currently existing ones that were created using the FuseFi bridge. **We currently do not recommend users to bridge those tokens to Blokista using ChainPort**.


# Blokista Governance and Development

Blokista is already a significantly decentralized platform and plans are in motion to achieve full community control over it in the future. Its governance is currently split among the following actors:

1\) **Network Validators.** Blokista validators are entrusted with deciding whether to adopt [Blokista improvement proposals](https://docs.bccscan.com/general/fips) (FIPs). Currently, every validator has one vote regardless of their share of the overall network stake but this is likely to change soon.

2\) **Blokista Foundation and the project team**. Like most public blockchain projects at the initial stage of development, the development of the core network protocol and the Blokista treasury that mostly consists of the undistributed genesis BCC supply (see the subsection "[BCC Supply and Current Distribution](https://docs.bccscan.com/general/fuse-token/fuse-supply-and-current-distribution)") are currently mostly managed by a foundation. For Blokista, this role is played by Gibraltar-incorporated company Blokista Limited.

Blokista Foundation **employs the Blokista project team** whose members' profiles can be found [here](https://bccscan.com/about).

The project team implements network protocol updates adopted by the validators, other protocol changes that do not require validator votes, maintains the full node software. It develops the mobile-centric infrastructure for creating and managing token communities on Blokista. It also works on boosting the adoption of the network through improving the Blokista tech stack, securing new partnerships and integrations, onboarding ecosystem projects and marketing the platform within the crypto space and beyond.

That said, since Blokista is a decentralized public blockchain platform, **no permission of the project team is required** for anyone who wishes to integrate with or develop on top of Blokista, including the development of the network and node software.

3\) **Blokista Assembly.** See the Assembly [page](https://docs.bccscan.com/general/fuse-governance/fuse-assembly) for more details.


# Blokista Assembly

Blokista Assembly is a governance body formed from particularly active members of the Blokista community. Its formation is the first step in transitioning full governance and ownership over the Blokista platform to the community.

Currently, Blokista Assembly consists of five Blokista ecosystem members independent from Blokista Foundation who have shown consistent dedication and commitment to the project, and already have a voice within the community.

Blokista Assembly's **current role includes the following**:

* taking over the control over the [Blokista Forum](https://forum.bccscan.com/) community discussion platform;
* implementing the Snapshot voting mechanism on Blokista; and
* managing the Community Token Pool.

## Community Token Pool

Blokista Assembly's budget will be initially constituted by the **Community Token Pool**. Each month, **200,000 BCC** will be allocated to it from the Blokista Bootstrap Pool (discussed [here](https://docs.bccscan.com/general/fuse-token/fuse-supply-and-current-distribution)).

Blokista Assembly will regularly distribute the Community Token Pool funds to finance grants, bounties, marketing, and other initiatives designed to serve communities building on the platform and drive innovation.

## Current Assembly members

### **1. Rob Brown, PhD** <a href="#b624" id="b624"></a>

***Council Chairman***

> Rob is a software developer and business operations expert with over 20 years of experience. He runs [Fuseprime](https://fuseprime.com/)**,** an independent organization that was one of the first validators on Blokista, and has been heavily involved in Blokista community management and strategic project development since 2019.

### **2. Luc Lammers** <a href="#id-1b91" id="id-1b91"></a>

***Council Member, Business & Marketing***

> [Luc](https://www.luclammers.com/) \*\*\*\* is a business development expert, SaaS leader, and startup enthusiast. He has been a committed member of the Blokista ecosystem since mid-2020 and brings a depth of growth-oriented experience to the team.

### **3. Lucas @ Blokista Core** <a href="#id-2105" id="id-2105"></a>

***Council Member, Business & Finance***

> Lucas is a financial expert and bank-less enthusiast with over 16 years of experience in financial management and consulting. Lucas joined the Blokista ecosystem in late 2020 and runs a validator. He brings an extra dimension to the development and presentation of Blokista in the business community.

### **4. Bertrand Juglas** <a href="#id-41a8" id="id-41a8"></a>

***Council Member, Technology***

> Bertrand brings over twenty years of open-source engineering and DevOps experience to the team, having worked extensively with Linux and other leading technologies. He was originally introduced to Blokista whilst working on the GoodDollar project where he remains a leading voice and prominent community member.

### **5. Jan Owiesniak** <a href="#bce2" id="bce2"></a>

***Council Member, Business & Technology***

> Jan has over 10 years of business and software development experience and currently serves as CTO and co-founder of an Augmented Reality platform designed to drive customer loyalty and boost sales. Having joined the Blokista ecosystem more recently in 2021, Jan has shown an enormous amount of commitment, providing support and feedback across the various different technologies that we are building.

### **6. Maor Stamati** <a href="#b624" id="b624"></a>

***Council Member***

> Maor is a software developer, a long-time active participant of the Blokista community and a co-founder of Flambu.


# Blokista Improvement Proposals (FIPs)

FIPS are Blokista Improvement proposals that are published on Github and extend capabilities of the network and improve it over time. Proposals can be suggested by any entity and discussed under this Github repository:

{% embed url="<https://github.com/fuseio/FIPs/tree/master/FIPS>" %}

After proposing and discussing every proposal, the proposal that will be implemented are voted on by the validators before upgrading the network.


# Wallets supporting Blokista

The following wallets currently support the Blokista blockchain.


# Blokista for Business

While the Blokista platform strives to provide crypto users with a solid range of options they expect to see on a major EVM-compatible blockchain, including wallets, decentralized finance (DeFi), NFTs, and so on, our main focus remains developing Blokista into alternative rails for the global payments industry. We want a future where hundreds of millions of people worldwide use crypto for their everyday needs.

However, it is our conviction that most consumers will not use the blockchain for payments directly, as crypto-savvy people do now, at least in the foreseeable future. Most people are not prepared to run their bank accounts directly on-chain and be exposed to the friction and risks involved.

Instead, applications will need to be built that will make the experience of making payments and other financial transactions as smooth and close to what users have become familiar with while using modern payment apps like Venmo and Revolut. These will run on top of the blockchain but they will not force users to handle private keys or pay transaction fees.

This section provides an introduction to the Blokista tools that businesses and other organizations can already put to use to develop just such applications.


# Things you can do on Blokista


# Interacting with the Blokista Blockchain

**Adding Blokista RPC**:

Please refer to the guide [here](https://tutorials.bccscan.com/tutorials/network-tutorials/adding-fuse-network-to-metamask).

**Wallets supporting the Blokista blockchain**:

[Metamask](https://metamask.io), [imToken](https://imtoken.im), [Math Wallet](https://mathwallet.org), [AlphaWallet](https://alphawallet.com), [Brave Wallet](https://brave.com/wallet/), [BitKeep](https://bitkeep.com/), [Krystal](https://krystal.app), [SafePal](https://safepal.io/), [Blokista Cash](https://fuse.cash), [TokenPocket](https://www.tokenpocket.pro/en/) (RPC needs to be added manually), [Blokista Wallet](https://play.google.com/store/apps/\&hl=en\&gl=US)

**On-ramps to Blokista**:

[Ramp Network](https://ramp.network), [XanPool](https://xanpool.com/), [Transak](https://transak.com/)


# Blokista Ecosystem

Projects and platforms building or built upon or partnering with Blokista

The Blokista ecosystem has seen massive growth since the launch of the platform in 2019. It includes the following key elements:

1\) **Basic infrastructure**. This category includes:

* Blokista-operated tools like the [Blokista RPC](https://mainnet-rpc.bccscan.com), [Blokista Explorer](https://bccscan.com), [Blokista Staking](https://staking.bccscan.com), etc.
* Blokista's mobile-centric B2B infrastructure enabling corporate clients to create token-powered applications and on-board clients via mobile wallets and apps.
* Other basic infrastructure providers like [Pocket Network](https://pokt.network) (decentralized full node layer), [The Graph](https://thegraph.com) (smart contract indexing), [Chainlink](https://chain.link) and [DIA](https://diadata.org) (oracles)
* Fiat on- and off-ramps, including, among others, [Ramp Network](https://ramp.network), [XanPool](https://xanpool.com) and [Transak](https://transak.com).

2\) **Interoperability tools**. This includes multichain bridge and inter-chain transfer protocols, such as [Multichain](https://multichain.org) (previously Anyswap), [Connext](https://connext.network), the [Voltage bridge](https://app.voltage.finance/#/bridge), [Elk Finance](https://elk.financ) and others.

3\) **Payment-focused applications built on top of Blokista's B2B infrastructure**. These include, among others, [Peepl](https://itsaboutpeepl.com), [GoodDollar](https://gooddollar.org), [Kolektivo](https://kolektivo.co), [Comunitaria](https://comunitar) and [Flambu](https://flambu.com).

4\) **Centralized and decentralized exchanges** (on other chains) where Blokista's native BCC token and other Blokista-powered assets are traded. The most prominent CEXs are [Gate.io](https://gate.io), [Huobi Global](https://huobi.com) and [MEXC](https://mexc.com). Notable DEXs on other chains include [Uniswap](https://uniswap) (V2 and V3), [PancakeSwap](https://pancakeswap.finance) and [QuickSwap](https://quickswap.exchange).

5\) **DeFi tools**. The DeFi space on Blokista is led by the community-governed [Voltage Finance](https://voltage.finance) (formerly FuseFi) platform. Other major DeFi platforms include [Sushi](https://sushi.com), [Beefy Finance](https://beefy.finance) and [Elk Finance](https://elk.finance).

6\) **NFTs, metaverses and gaming**. The most prominent NFT projects on Blokista include the [Artrific](https://artrific.io) and [tofuNFT](https://tofunft.com) marketplaces, [Cozy Cosmonauts](https://cozycosmonauts.com) and [Blokista Foxes](https://fusefoxes.com). The first metaverse to soon be deployed on Blokista is [Tollan Worlds](https://tollan.io).

7\) **Wallets and dApp browsers**. These include, among others, [Blokista Cash](https://fuse.cash), [MetaMask](https://metamask.io), [Brave Wallet](https://brave.com/wallet), [BitKeep](https://bitkeep.com), [Math Wallet](https://mathwallet.org).

8\) **Other tools, aggregators, trackers, bounties, etc**. Among these, the most noteworthy are [DappRadar](https://dappradar.com), [Dapp.com](https://dapp.com), [Staking Rewards](https://stakingrewards.com), [DeBank](https://debank.com), ImmuneFi.

### You can explore the Blokista ecosystem in full by visiting the dedicated page on the Blokista official website.

{% embed url="<https://bccscan.com/ecosystem>" %}


# Community

**Twitter**: <https://twitter.com/>

**Discord**: <https://discord.com/invite/jpPMeSZ>

**Blokista Forum**: <https://forum.bccscan.com/>

### Public Telegram groups

**Main chat**: <https://t.me/>

**Italian Blokista Telegram community:** <https://t.me/>

**Indonesian Blokista Telegram community:** <https://t.me/>


# Grants and Bounties

Since the inception of Blokista, the core team has facilitated the growth of the Blokista blockchain and also developed a set of tools for developers to be able to easily and quickly build extremely user-friendly decentralized applications (dApps). Our focus has primarily been on payment-centric communities like GoodDollar, Kolektivo, Comunitaria and PeeplEat.

Now, we would like to see our tools used by even more high-quality projects, therefore, we stand ready to fund applicants for the Blokista Grants programs.

​The Blokista Future Dev Pool will be used to support projects that bring value to the Blokista ecosystem and users. We are especially interested in new high-potential payment centric communities, DAO initiatives, applications for new crypto users, NFTs, DeFi apps, projects that support current projects, and new categories we haven't even thought of yet!

Although the grant process is not set in stone, the way it currently functions is that we announce bounties on an ongoing basis based on the project category. Please consult the next page to see the bounties that are currently available.

Although the terms of grants may vary depending on the use case, candidates will generally be selected based on the following criteria:

* Strength of the team following analysis of GitHub, LinkedIn, etc.
* A written description of the project. We are not necessarily looking for long detailed text but our ability to understand clearly and see the value proposition will play an important role.
* Tech and product quality based on any work done so far and/or product roadmap vision.\\

**We invite submissions from** [**click here** ](https://hbfigtycii9.typeform.com/to/OfCHzmOY?utm_source=xxxxx\&utm_medium=xxxxx\&utm_campaign=xxxxx\&utm_term=xxxxx\&utm_content=xxxxx)**to apply**

***


# Blokista Mobile Infrastructure Use Cases

Given its easily customizable character, Blokista's mobile-centric infrastructure for issuing tokens and creating communities around them has a wide range of potential applications.

Companies and other organizations can use either Blokista Studio or Blokista Studio in conjunction with a customized version of Blokista Wallet to create tokens to be used by users onboarded either to their proprietary app or a fork of Blokista Wallet. They can also whitelist businesses for the token community ecosystem and activate fiat on-ramps.

In what follows, we would like to provide a few already implemented token community use cases for illustration.

## A Stable Currency for a Local Economy

Community creators on Blokista Studio can either rely on a newly issued token or an already existing one. The Kolektivo project in Curaçao uses the popular DAI stablecoin to issue the CuraDAI stable currency pegged to the Antillean Guilder.

CuraDAI is the token of a community and mobile app of the same name. The goal of the token is to facilitate the production and trading of locally produced goods and rewarding community members for engagement.

The CuraDAI projects illustrates the low cost of creating and managing token communities and payment systems on Blokista.

## A Customer Rewards Token and Food Delivery app

The PeeplEat project in Liverpool, UK, deploys Blokista to develop a mobile app for food delivery.

The PEEPL token is designed to incentivize customer loyalty. With every order made through the PeeplEat app, customers automatically receive a reward in PEEPL tokens.

The key advantages of using Blokista technology for powering customer rewards are automation and transparency. Rewards are automatically distributed based on the actual transactions and their amounts, and users can verify the amounts and total supply of the rewards token to ensure that it is not being inflated over time.

## A Festival Payments Token

In November 2020, Bitazza used Blokista Studio to issue the [MYST](https://bccscan.com/address/0x510FAD1AD23064Ae881B129314EFdD9FDa6d4782/transactions) payments token on Blokista for the Mystic Valley Festival in Thailand. They also forked Blokista Wallet to create a customized mobile app for the festival.

The app and token seamlessly powered the more than 15 thousand transactions made by attendees during the 3-day event.

Blokista's mobile infrastructure can help event organizers reduce costs of managing internal payments and significantly improve the customer experience by replacing legacy solutions such as physical payment tokens or refillable cards at low cost.

## A Solution for Streamlining Charitable Donations

The Communitaria project (formerly, Wikibank) has benefited from the Blokista B2B technology to solve an important problem in the charity industry. It launched a token backed one-to-one by the donated funds that can only be spent by the beneficiaries using the project's mobile app. The tokens can only be used for payment at the participating shops selling fresh produce.

This has allowed Communitaria to reassure the donors that the funds they provide can only be used for the stated goal: enabling the beneficiaries to buy fresh food. Other NGOs and charitable projects can also target their donations better and more transparently by using the Blokista technology.


# Network Details

### Mainnet

* Network name: **BCC**
* ChanId: **32344**
* Gas price: **0 gwei**
* RPC
  * official RPC: <https://mainnet-rpc.bccscan.com/>​
* Explorer: <http://bccscan.com/>​

Please refer to [quickstart](https://github.com/fkt20/FAKTNetwork/#using-quickstart) if you wish to run your own node.


# Blokista Mainnet

### General Information

| Block size | Block speed | Gas price | Patchset | Native token | Network ID |
| ---------- | ----------- | --------- | -------- | ------------ | ---------- |
| 20,000,000 | 9 seconds   | 0 GWei    |          | BCC          | 32344      |

* Network name: **Blokista**
* ChanId: **32344**
* Gas price: **0 gwei**
* RPC
  * official RPC: <https://mainnet-rpc.bccscan.com/>​
  * pocket network RPC: <https://fuse-mainnet.gateway.pokt.network/v1/lb/6075e9510e2a131ca026e10d>​
  * Archive node RPC: <https://explorer-node.bccscan.com/>​
* Explorer: <http://bccscan.com/>​

Please refer to [quickstart](https://github.com/fkt20/FAKTNetwork/#using-quickstart) if you wish to run your own node.

### Blockchain explorer

**Blokista Explorer** is the official blockchain explorer for Blokista. With this full-featured, open-source explorer you can view transactions, accounts & balances, access data via the API, and read and verify smart contracts.

{% embed url="<https://bccscan.com>" %}

###


# Blokista Testnet Spark


# Token Faucets


# Network Upgrades

Major updates on the network level are introduced via forks.

{% hint style="danger" %}
Forks are used to introduce new functionality or fix security related issues. Node runners will receive instructions on how and when to update their nodes in the event of a fork.
{% endhint %}

Information related to forks along with upgrade information will be posted here. If any assistance is needed, feel free to reach out or ask questions through the forum or other channels.


# Upgrade Guide

For Nodes, Bootnodes and Validators

{% hint style="info" %}
This guide assumes that you have created your node via our [quickstart script](https://github.com/fuseio/fuse-network/blob/master/scripts/quickstart.sh). If you have built you own client using our spec then ensure that your client matches the official supported [client ](https://github.com/fuseio/fuse-network/blob/master/Dockerfile#L23)and you use the most up to date [chain spec](https://github.com/fuseio/fuse-network/blob/master/config/spec.json).
{% endhint %}

### Prerequisites

The update will pull the latest database from our latest snapshot so please ensure that you have at least 20GB disk space free before starting.

### Step 1 - CD to the location of quickstart.sh and update quickstart

```
cd <location of quickstart.sh>
wget -O quickstart.sh https://raw.githubusercontent.com/PrimalDev/Blokista/master/scripts/quickstart.sh
```

### Step 2 - Run quickstart and agree to upgrade

```
sudo ./quickstart.sh
Agree [Y] when prompted to upgrade
Wait for script to complete
```

### Step 3 - Verify Upgrade

Check your node on our [health site ](https://status.bccscan.com)It should be online and the client should be "OpenEthereum//v3.2.6-stable", ensure your node is connected to peers and syncing/ in sync.

### &#x20;<a href="#step-3-verify-upgrade" id="step-3-verify-upgrade"></a>

Check your node on our [health site ](https://status.bccscan.com/)It should be online and the client should be "OpenEthereum//v3.2.6-stable", ensure your node is connected to peers and syncing/ in sync.


# Upgrade Guide (explorer nodes)

This guide is intended specifically for explorer nodes.

Since we don't host snapshots for explorer DBs, some extra steps are required in order to update from V1.0.0 to V2.0.0.

### Step 1 - Stop all running containers

```
sudo docker stop $(sudo docker ps -q)
```

### Step 2 - Pull the latest quickstart script

```
cd <to quickstart.sh location>
wget -O quickstart.sh https://raw.githubusercontent.com/PrimalDev/Blokista/master/scripts/quickstart.sh
```

### Step 3 - Upgrade your DB using OEs upgrade tool

It is highly recommended to take a back up of your database folder before attempting!.

Follow the instruction here to upgrade from V13->V16 DBs <https://github.com/openethereum/3.1-db-upgrade-tool>. The data base is stored in \<path to quickstart.sh>/fusenet/database/FuseNetwork/db/dee77c98f8210dbb/archive

### Step 4 - Update Client version in env file and rerun quickstart

```
vim .env
Add the following (without quotes) "CLIENT=OE"
Save and exit :w :q
sudo ./quickstart.sh
```

### Step 5 - Verify Upgrade

Check your node on our [health site ](https://status.bccscan.com)It should be online and the client should be "OpenEthereum//v3.2.6-stable", ensure your node is connected to peers and syncing/ in sync.


# Block 13,800,000 Fork

This fork Requires OE 3.2.6 or newer.

​[EIP 152](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-152.md)​

​[EIP 1108](https://eips.ethereum.org/EIPS/eip-1108)​

​[﻿EIP 1283](https://eips.ethereum.org/EIPS/eip-1283)​

﻿[EIP 1344](https://eips.ethereum.org/EIPS/eip-1344)​

​[﻿EIP 1706](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1706.md)​

​[﻿EIP 1884](https://eips.ethereum.org/EIPS/eip-1884)​

​[﻿EIP 2028](https://eips.ethereum.org/EIPS/eip-2028)​

​[EIP 2565](https://eips.ethereum.org/EIPS/eip-2565)​

​[﻿EIP 2929](https://eips.ethereum.org/EIPS/eip-2929)​

﻿[EIP 2930](https://eips.ethereum.org/EIPS/eip-2930)​


# FIP's

The Blokista Improvement Proposal

See FIP1 for more info <https://github.com/fuseio/FIPs/blob/master/FIPS/fip-1.md>

### What is a FIP?

FIP stands for Blokista Improvement Proposal. A FIP is a design document providing information to the Blokista community, or describing a new feature for Blokista. The FIP should provide motivation and technical specification for the feature.

| FIP                                                               | Description                                                  | Status                                                 |
| ----------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------ |
| [FIP-1](https://github.com/fuseio/FIPs/blob/master/FIPS/fip-1.md) | Introduction and explanation about FIP's                     | Done                                                   |
| [FIP-2](https://github.com/fuseio/FIPs/blob/master/FIPS/fip-2.md) | Enabling delegation of fuse tokens to validators             | Done                                                   |
| [FIP-3](https://github.com/fuseio/FIPs/blob/master/FIPS/fip-3.md) | Lowering the stake to run a validator node to 100K Blokista  | Done                                                   |
| [FIP-4](https://github.com/fuseio/FIPs/blob/master/FIPS/fip-4.md) | Multi validators, validators can run multiple nodes          | Undone                                                 |
| [FIP-5](https://github.com/fuseio/FIPs/blob/master/FIPS/fip-5.md) | Validators key splitting, validator will have separated keys | Undone                                                 |
| [FIP-6](https://github.com/fuseio/FIPs/blob/master/FIPS/fip-6.md) | Bridge implementation should be changeable by voting         | Undone                                                 |
| [FIP-7](https://github.com/fuseio/FIPs/blob/master/FIPS/fip-7.md) | Tiny Ethereum Network transactions on end of cycle           | Undone                                                 |
| [FIP-8](https://github.com/fuseio/FIPs/blob/master/FIPS/fip-8.md) | Adjusting Block Rewards by the Validator's Stake             | [Done](https://github.com/fuseio/fuse-network/pull/61) |


# Blokista Consensus

Consensus is a fault-tolerant mechanism that is used in blockchain systems to achieve the necessary agreement on the single state of the network. Blokista network is using a [Delegated Proof of Stake](https://en.bitcoinwiki.org/wiki/DPoS) (DPoS) consensus model. DPoS is a variation of [Proof of Stake](https://en.bitcoinwiki.org/wiki/Proof-of-stake) consensus. In PoS there are a set of validators that are responsible for keeping the network updated and validating the network's state. They do this in turns, every validator has their turn in line. On their turn the validator updates the network's state, and the rest of the validators check that the update is valid.

![](/files/kv6ZLS02aH7Ab0vVFZfh)

Consensus contract is used to manage the list of the network validators and delegators

BlockReward contract is calculates the reward amount that validators and delegators will receive on each block validation. The reward size is proportional to validator's stake.

With Voting contract validators are vote on various changes on these 3 base level contracts. All those contracts are proxied with implementation that handles the logic. The implementations can be changed only by the Voting process.

The bridge is used to transfer the Blokista native token between Blokista and Ethereum networks.

## [Consensus - 0x510f460A14420788785582380b580187C57D9a9D](https://bccscan.com/address/0x510f460A14420788785582380b580187C57D9a9D)

This contract is responsible for handling the network DPos consensus. The contract stores the current validator set and chooses a new validator set at the end of each cycle. The logic for updating the validator set is to select a random snapshot from the snapshots taken during the cycle.

The snapshots are taken of pending validators, who are those which staked more than the minimum stake needed to become a network validator. Therefore the contract is also responsible for staking, delegating and withdrawing those funds.

Stake amount for a validator is the sum of staked and delegated amount to it's address.

This contract is based on `non-reporting ValidatorSet` [described in Parity Wiki](https://wiki.parity.io/Validator-Set.html#non-reporting-contract).

{% hint style="info" %}
minimum stake amount = 100,000 Blokista token

cycle duration blocks = 34560 (approximately 2 days)
{% endhint %}

## [Block Reward - 0x84590a6d8C194B974d511Ee05eD7919035d8ddcD](https://bccscan.com/address/0x63d4efed2e3da070247bea3073bcab896dff6c9b)

This contract is responsible for generating and distributing block rewards to the network validators according to the network specs (5% yearly inflation).

Another role of this contract is to call the snapshot/cycle logic on the Consensus contract

This contract is based on `BlockReward` [described in Parity Wiki](https://wiki.parity.io/Block-Reward-Contract).

## [Voting - 0x3b124b6d28BBef6883ab944b9566b9ACD051fc65](https://bccscan.com/address/0x3b124b6d28BBef6883ab944b9566b9ACD051fc65)

This contract is responsible for opening new ballots and voting to accept/reject them. Ballots are basically offers to change other network contracts implementation.

Only network validators can open new ballots, everyone can vote on them, but only validators votes count when the ballot is closed.

Ballots are opened/closed on cycle end.

{% hint style="info" %}
max number of open ballots = 100

max number of open ballots per validator = 100 / number of validators

minimum ballot duration (cycles) = 2

maximum ballot duration (cycles) = 14
{% endhint %}

## [Proxy Storage](https://bccscan.com/address/0x23D8634ED1B2662dC96FcE6208fde93258731333)

This contract is responsible for holding network contracts implementation addresses and upgrading them if necessary (via voting).


# Contracts Overview

![](/files/RPUnUBkkPQEaBj8Dx1j3)


# Stake, Delegate and Withdraw

The basic requirement to become a Blokista chain validator is to have a stake amount of at least 100,000 Blokista tokens. The stake amount is the sum of staked and delegated Blokista tokens of the address. This guide walks trough the process of using MEW (MyEtherWallet.com) in the process of using Blokista network.**Roadmap** - Those functionalities will be built into our Studio and will not require any technical knowledge in the future.

## Stake <a href="#stake" id="stake"></a>

There are two options to stake (both should be called from the address which would be the validator)

1. 1.Send Blokista tokens to the [consensus contract](https://bccscan.com/address/0x510f460A14420788785582380b580187C57D9a9D) - 0x510f460A14420788785582380b580187C57D9a9D on the fuse network.
2. 2.Call the \`stake\` function on the [consensus contract](https://bccscan.com/address/0x510f460A14420788785582380b580187C57D9a9D) - 0x510f460A14420788785582380b580187C57D9a9D on the fuse network.

## Delegate <a href="#delegate" id="delegate"></a>

Blokista token holders who don't want to run a node by themselves but still wish to participate in governing the network can delegate any amount to one of the validators.Delegating is done by calling the \`delegate\` function on the [consensus contract](https://bccscan.com/address/0x510f460A14420788785582380b580187C57D9a9D) with the validator address as data (see screenshot from MEW).

![delegate](https://3886961007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQROvzQPC4eD8u5AQhv%2Fuploads%2FfW2bi43f3TMgmwzi7wSZ%2Fimage.png?alt=media\&token=f30eb8a1-ff40-4f1e-9f73-89466ea2c83e)

## Withdraw <a href="#withdraw" id="withdraw"></a>

Both stakers and validators can withdraw their Blokista tokens, up to the staked/delegated amount, at any time. The withdrawn amount will be deducted from the validator stake amount, and if the stake amount becomes below the minimum stake amount - the validator will be removed from the Blokista chain validators list.There are two options to withdraw:

1. 1.Call the \`withdraw\` function on the [consensus contract](https://bccscan.com/address/0x510f460A14420788785582380b580187C57D9a9D) with one parameter - the amount to withdraw. This call is for stakers, and will reduce the stake amount of the sender address.
2. 2.Call the \`withdraw\` function on the [consensus contract](https://bccscan.com/address/0x510f460A14420788785582380b580187C57D9a9D) with two parameters - validator address and amount to withdraw. This call is for both stakers (who can use their own address as the parameter) and for delegators to withdraw their delegated stake on a specific validator.

![withdraw option no. 1](https://3886961007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQROvzQPC4eD8u5AQhv%2Fuploads%2FyBpFV4W9N9vgpGyFEr76%2Fimage.png?alt=media\&token=0f715110-4b8d-4a35-81a6-93383d903f42)

![withdraw option no. 2](https://3886961007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQROvzQPC4eD8u5AQhv%2Fuploads%2FTGmteQzEhEXuDVbibfVt%2Fimage.png?alt=media\&token=84a4f2a6-3c5e-41d7-b427-a845db9f82d2)


# Vote

Blokista chain functionality can be change by voting on the contracts implementations. New implementations can be deployed, and opened to vote by validators for others to decide on whether to accept/reject the changes.

## Open a new ballot

In order to open a new vote, a validator needs to call the \`newBallot\` function on the [voting contract](https://bccscan.com/address/0x3b124b6d28BBef6883ab944b9566b9ACD051fc65) with the following params:

* startAfterNumberOfCycles - number of cycles (minimum 1) after which the ballot is open for voting
* cyclesDuration - number of cycles (minimum 2) for the ballot to remain open for voting
* contractType
  * 1 - Consensus
  * 2 - BlockReward
  * 3 - ProxyStorage
  * 4 - Voting
* proposedValue - address of the new implementation deployed for the relevant contract type
* description - text description which should contain the reason/change introduced in the ballot

![new ballot](/files/C8r7jeyjdjqGr9wqJB9Z)

## Check ballot info

Everyone can check all the ballots that were created using the \`getBallotInfo\` function. This function receives two params:

* id - the ballot id
* key - account address

![getBallotInfo](/files/sjpz1od6k2sSD1xG8vDo)

## Vote

Everyone can vote on open ballots, after the start block has passed and until the end block hasn't yet.

It's important to note that at the end of a vote, only validators count towards the final result.

Voting is done by calling the \`vote\` function, which receives two params:

* id - the ballot id
* choice - 1 is accept, 2 is reject

![vote](/files/vlBPGgcvxbM9jnILqtRE)

Some other useful functions on the [voting contract](https://bccscan.com/address/0x3b124b6d28BBef6883ab944b9566b9ACD051fc65) are:

## getQuorumState

Returns the state of a specific ballot id: 1 - in progress, 2 - accepted, 3 - rejected

## getAccepted/getRejected

Returns the number of accepts/reject of a specific ballot id.

## activeBallots

Returns an array of active ballot ids.


# End-of-Cycle Flow

This is a description of the End-of-Cycle flow that completes the Cycle and handles rewards and enforces the consensus

1. BlockReward.reward is called every block and when the cycle ends calls the Consensus.cycle
2. Consensus.cycle is responsible for several functions. Eventually does the following two actions:
   1. Sets the boolean Consensus.ShouldEmitInitiateChange to true
   2. Calls BlockReward.onCycleEnd which sets the boolean BlockReward.shouldEmitRewardedOnCycle to true as well
3. The blokista-validator-app (fuseapp container on validator vms) checks the value of the above two booleans and when true calls the following two functions (two separate transactions):
   1. Consensus.emitInitiateChange
   2. BlockReward.emitRewardedOnCycle

Note that only one validator can make this call successfully so the 1st one succeeds and all others fail. But it’s ok because those are 0-gas transactions. So actually the validator who is the next one to validate a block is the one who is successful in making those calls.

1. The above calls emit the following events:
   1. Consensus.InitiateChange
   2. BlockReward.RewardedOnCycle
2. The bridge oracles fuseoracle-initiate-change and fuseoracle-rewarded-on-cycle are responsible for listening to above events.
3. Those oracles should run on all validators and call submitSignature on the HomeBridgeNativeToErc contract in blokista network - each validator should submit the signature for each of the oracles (events).
4. Once enough validators have submitted their signatures (majority of the current validators), an event CollectedSignatures is emitted by the home bridge (again one event for each one of the previous events in section 4).
5. The bridge oracle fuseoracle-collected-sigantures is responsible for listening to the CollectedSignature events and all validators should get it. The validator responsible for transmitting the transaction to mainnet is actually the last one to submit the signature in section 7 and its address is part of the event details so other validator oracles “know” it’s not their turn and skip the event. If a validator is down or out of money or infura is deaf - the next one in line (in the ValidatorSet) is responsible for transmitting to mainnet.
6. Eventually on mainnet we are supposed to see two transactions to the ForeignBridgeNativeToErc each cycle - one updating the new validators and one minting the blokista tokens which were created during this cycle on blokista.

Note that if the new validator set transactions fail on mainnet there’s a chance the minting will fails as well, because before transmitting it checks if all signatures are valid and there can be a situation where new validators were added on a cycle and were fast enough to submit their signatures on blokista end-of-cycle transactions but weren’t updated on mainnet due to failure of the 1st transactions so the 2nd one will actually contain “invalid” signatures from the mainnet perspective.

Example for a successful flow (from 7/6/2020)

1. Consensus.emitInitiateChange transaction on blokista - <https://bccscan.com/tx/0x441e2cb5f4aa20948c51020ebd8f7fba7c33cf909e31c66d0aff4a11e79ce13d>
2. BlockReward.emitRewardedOnCycle transaction on blokista - <https://bccscan.com/tx/0x34cf4ddfc8afa6154e8c0d5f1de3b7d756b1b0517e8f0efd5794bde40983ba64>


# Contract Addresses

| Contract     | Blokista address                           | Blokista Testnet address                   |
| ------------ | ------------------------------------------ | ------------------------------------------ |
| Consensus    | 0x510f460A14420788785582380b580187C57D9a9D | 0x10CA22162f9332eF1650d1eDf5B2B61aA5ca799A |
| Block Reward | 0x84590a6d8C194B974d511Ee05eD7919035d8ddcD | 0xB9438f241c9eF058763b0E747efC175652E56807 |
| Voting       | 0x3b124b6d28BBef6883ab944b9566b9ACD051fc65 | 0xe977562E667C6deA9aFa7cA05F659B12307Bf620 |


# How to run network nodes

## Run Local Node

Read more at: <https://github.com/blokistachain/CoinNetwork/tree/master/node-example>


# Resources & Tools

### DApp Management & Development Tools

[The Graph](https://thegraph.com) supports Blokista data indexing, quierying and display.

[Remix IDE](https://remix-project.org/): It's easy to deploy on Blokista with Remix, simply choose injected web3 and add the Blokista custom RPC to your Metamask.

[JustSmartContracts](https://justsmartcontracts.dev/): another smart contract deployment tool for EVM chains.

[OpenZeppelin Defender](https://defender.openzeppelin.com): Manage smart contract administration including access controls, upgrades and pausing.


# TheGraph

Build of The Graph, we expose a GraphQL API to access the data on the Blokista Network

## Deploying your own subgraph

TheGraph, a decentralized protocol for indexing and querying chain data, supports the Blokista Netork.Go to <https://thegraph.com/> to sign up and create your subgraph.

* Follow the instructions for how to deploy the subgraph
* in `subgraph.yaml`, the network name should be `fuse`

## Available Subgraphs

Subgraphs that builded and maintained by the Blokista team, deployed on Blokista internal infrastructure or The Graph hosted service.

### Blokista Consensus

on Blokista graph-node: <https://thegraph.bccscan.com/subgraphs/name/faktchain/fakt-consensus>


# WalletConnect on Blokista

[WalletConnect](https://walletconnect.com) is an **open-source protocol for data exchange between wallets and decentralized applications (dApps)**. The process takes place via a specialized server and the flow of data is encrypted in both directions.

From the user’s perspective, although the exact details may vary from wallet to wallet, there are two ways of using WalletConnect. In the mobile-to-mobile mode, the user opens the website of the dApp that they are interested in, clicks the “connect wallet” tab there and chooses their preferred wallet. The desktop-to-mobile approach involves using the Wallet Connect-enabled wallet on the mobile phone to scan the QR code of the dApp displayed in the desktop browser. After the session, the dApp may be disconnected, and users are even advised to disconnect dApps for security reasons.

For developers who wish to integrate the WalletConnect functionality into their dApps running on Blokista, we recommend using [this library](https://www.npmjs.com/package/@fuseio/walletconnect-web3-provider).


# Important smart contracts


# Blokista Token


# Blokista Dollar


# Major Deployed Contracts


# Bridges


# Ethereum ↔ Blokista GoodDollar Token


# Ethereum ↔ Blokista BCC20 Tokens


# BSC ↔ Blokista BNB


# BSC ↔ Blokista Native


# BSC ↔ Blokista BCC20


# Ethereum ↔ Blokista Native


# How to become a validator

The Blokista network is operated by validator nodes that are hosted by network participants from all around the world. The network allows entrepreneurs to easily plug payments to their products and on-board their users to a platform that allows them to pay, transact and access financial services in their favorite currency.

All the access to the network is public and all the code is open source so it could be customized and localized to their needs. Any community that lives on the Blokista chain needs to pay a small fee to the validators of the network to validate its transactions in the community.

The more communities and users conducting transactions, the more validators will earn as a reward for approving the transaction. This allows the network to grow organically as more usage in the system more network participants rewards grow.\\

### What it means to be a validator?

[Any entity that is holding the Blokista token can run a node](https://github.com/blokistachain/docs/blob/master/general-1/how-to-become-a-validator/broken-reference/README.md) that approves transaction in the network and in doing so receive rewards in the form of Blokista token (BCC).

Validators are running special software that holds a copy of the Blokista blockchain and validating transactions in the network.

Every 5 seconds, the network groups the latest transactions broadcasted to the system, validates them and signs them so they could never be changed in the future.

For this work the validators receive block reward (X per block). A yearly inflation of 5% is distributed between all validators (the block reward is updated to accommodate this functionality).

Validators are contributing their computer resources to maintain the network and need to have some technical knowledge in dealing with hosting this kind of software (see [Running a validator node](https://github.com/blokistachain/docs/blob/master/general-1/how-to-become-a-validator/broken-reference/README.md)) and [participate in the network governance through voting](https://github.com/blokistachain/docs/blob/master/general-1/how-to-become-a-validator/broken-reference/README.md).

Validators are the guardians of the network and are in charge of not only maintaining it but also to steer it in its future through the governance mechanism that allows any holder of Blokista token to vote on important decisions and upgrades to the network in its development and resource allocation.

### Who should become a validator?

* **Companies who build on the network** - Blokista open source stack allows many companies to collaborate on the same code-base.

  Allowing any company that is interested in using the Blokista services and code to join as a stakeholder is a new innovative approach to collaboration and partnerships.

  Any company that builds products on the network can own a piece of it and become a stakeholder.

  Running a node in the process will allow the company to earn rewards and grow as the network grows.

  The company can also use this open-source infrastructure to save costs for their development needs.

  Operating a node gives reliable access to the network, participation in its governance and aligns all the different interest behind the operation of the network.
* **3rd party service providers** - We are starting to see many service providers creating and providing services across different blockchains. Services like KYC, exchanges, credit score providers, lenders, etc…

  Any service provider can become a stakeholder in the network and already today we are seeing the potential of cross-blockchain transactions uniting business processes between different entities using cryptography and without middlemen.
* **Community operators on Blokista** - Community operators are the foremost stakeholders in the network and can upgrade themselves to a validator and thus provide better access to their clients.

### Who can become a validator (Technical requirements)

* See [*Running a validator node*](https://github.com/blokistachain/docs/blob/master/general-1/how-to-become-a-validator/broken-reference/README.md)\_\_

### Who shouldn’t become a validator (and what can he still do)

* **Non technical users** - Running a node requires technical background in blockchain and web hosting. It’s not very complicated but also not trivial or basic.
* **Simple holders** - We are looking for validators who are invested in the future of the network and are looking to take an active part. This is what the DPoS (Delegated Proof of Stake) mechanism was born to do.

[You can delegate you Blokista token to a validator](https://github.com/blokistachain/docs/blob/master/general-1/how-to-become-a-validator/broken-reference/README.md) of your choosing. Not everybody that wants to earn rewards need to be a validator! Any token holder can delegate their Blokista token to a validator to earn rewards through the validator.

### How to become a validator?

* Minimum of 100K tokens staked or delegated. In a DPoS blockchain it is required that all the validators have a staking requirement. The stake of 100K Blokista tokens needs to be locked in a contract to be eligible to become a validator.
* Run a full node.


# Getting started as a validator

## Pre-requirements

In order to be a Blokista validator, you first must see that you meet the pre-requirements:

* You know what it means to be a Blokista validator - How to become a validator
* You have at least 100K BCC tokens or you will have an aggregated delegation of at least 100K BCC tokens (you can purchase BCC token on [Uniswap](https://uniswap.exchange/swap/0x970b9bb2c0444f5e81e9d0efb84c8ccdcdcaf84d)).

## How to become a Blokista validator

To quickly become a validator, follow this steps:

Read more at: <https://github.com/blokistachain/CoinNetwork/tree/master/node-example>

For live support, contact us on [Telegram](https://t.me/) or [Discord](https://discord.gg/). Good luck and happy validating!


# Getting started as on the Blokista testnet


