What exactly is the Bankia Network? [In Depth] PlatoBlockchain Data Intelligence. Vertical Search. Ai.

What exactly is the Bankia Network? [In Depth]

Official ANFS
What exactly is the Bankia Network? [In Depth] PlatoBlockchain Data Intelligence. Vertical Search. Ai.

BANKIA is High-performance web3.0 Blockchian Platform.

BANKIA is a scalable smart contract platform, powered by NPOS-BFT consensus algorithm.It provides full compatibility to EVM and has instant finality.

An experimental and innovative decentralized application network, fully driven by its volunteers and community. It was developed in Java (Java is an industry standard language and has the most extensive group of programmers in the world).
It’s code is very concise, efficient, and friendly to developers.

BANKIA is the most suitable high-performance public chain for programmers to participate in,Compared with public chains developed with rust, golang, and C++ .

What is a delegate?
Delegates are special accounts on the NPOS-BFT consensus. Delegates are accounts that are available for voting and could become a validator. To register as a delegate you need to have (1000) AFS + transaction fee.

What is validator?
Validators are delegates who are allowed to forge/mine blocks and validate transaction for the NPOS-BFT Protocol. To become a Validator, a Delegate need to have enough number of votes to make it to the Top 100 of the list. Validators are indicated with the V symbol compared to S symbol for other delegates.

Number of validators
Number of validators is capped at maximum of 100 validators. You can check number of votes required to get in Top-100 in the core wallet (Delegates tab).

What is Byzantine tolerance?
In fault-tolerant computer systems, especially in distributed computing systems, Byzantine Fault Tolerance (BFT) is a feature of the system.

Please refer to the following link for specific Byzantine fault tolerance
[Byzantine Generals’ Problem](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance).

What is NPOS-BFT?
For each block, choose a validator to propose a block. Then send this block to other verifiers for verification. If more than 2/3 of the validators believe that the block is valid, the block will be accepted by the blockchain .

Why NPOS-BFT consensus is preferred?
The NPOS-BFT consensus algorithm is very resource-saving, and its scalability is also very good. In untrusted a distributed system, the majority of 2/3 consent is enough to believe that the state system is highly effective.

BANKIA utilizes the Ethereum VM smart contract language, so transplanting your favorite Ethereum contract is a breeze!

You can also use your favorite Ethereum tools to interact with the BANKIA blockchain, for example: [Remix](https://remix.ethereum.org/)

When coding smart contracts, you should follow [Solidity](https://solidity.readthedocs.io/en/v0.5.3/) as much as possible

The readability and maintainability of this version are better. Let’s start with a hello world program

A block explorer is a website that allows the blockchain to be queried outside the client.
https://mainnet.anfs.io/explorer
https://testnet.anfs.io/explorer

DevNet
Devnet is a feature similar to [Bitcoin’s Regtest Mode](https://bitcoin.org/en/glossary/regression-test-mode),
It allows developers to run a local blockchain with a single Anfs node for testing.

Anfs is happy to use AFS to reward people who find bugs. We value the contribution of the community.

Submit an issue on https://github.com/anfs-laboratory/anfs-core/issues.
For security issues, or issues that are easy to be abused, you can publish publicly on dev@anfs.io

According to its severity and impact, the reward is 100 ~ 100,000 AFS.
As long as we can solve this problem, you are eligible for rewards.

The NPOS-BFT consensus has six stages. On each block, the validator will go through these stages to build the next block.

#### New Height

##### Timeout: 3 seconds

Set current height = previous height + 1

Send New_Height message to all nodes

#### Propose stage

##### Time: 12 seconds

If there are rejected votes, clear them and increment the view.

If you are the main validator, then propose a block and broadcast it.

Send new view information to all peers.

#### Validate stage

##### Timeout: 6 seconds

If you receive a proposal, verify it and vote on the result. If you do not receive the proposal, vote against it. Send votes for the verification phase to all peers.

#### PreCommit stage

##### Time: 6 seconds

Check if 2/3 of the validators agree to vote, if yes, vote yes, otherwise vote against, and send the vote of the PreCommit stage to all nodes.

##### If it fails, return to the proposal stage

#### Commit stage

##### Timeout: 3 seconds

Send a message to confirm receipt of the PreCommit message of the previous stage. If you receive other submission messages, enter the Finalize stage

#### Finalize stage

##### Timeout: 3 seconds

Check the PreCommit stage vote again, just for confirmation. Set up voting in the block and add the block to the chain.

##### Success: re-enter the New_Height stage

#================

# P2P

#================

# Declared P2P address

p2p.declaredIp =

# Internally bound IP address and port

p2p.listenIp = 0.0.0.0

p2p.listenPort = 5161

#Seed nodes, IP addresses are separated by commas

p2p.seedNodes =

#================

# Network

#================

# Maximum number of inbound connections

net.maxInboundConnections = 1024

# Maximum number of inbound connections per unique IP address

net.maxInboundConnectionsPerIp = 5

# Maximum number of outbound connections

net.maxOutboundConnections = 128

# Maximum message queue size

net.maxMessageQueueSize = 4096

#================

# P2P

#================

# Declared P2P address

p2p.declaredIp =

# Internally bound IP address and port

p2p.listenIp = 0.0.0.0

p2p.listenPort = 5161

#Seed nodes, IP addresses are separated by commas

p2p.seedNodes =

#================

# Network

#================

# Maximum number of inbound connections

net.maxInboundConnections = 1024

# Maximum number of inbound connections per unique IP address

net.maxInboundConnectionsPerIp = 5

# Maximum number of outbound connections

net.maxOutboundConnections = 128

# Maximum message queue size

net.maxMessageQueueSize = 4096

The process of building a full node

To build an ANFS full node, you need to use port 5161

Debian/Ubuntu Linux

Start the full node and generate the wallet.data file

When building a full node, a wallet.data file is automatically created in the installation directory to store the new private key. When the full node is started for the first time, the command line can be encrypted .

# API Interface

BANKIA provides a rich RESTful API to interact with the blockchain programmatically. You can also interact with the same call via [Console](Console.md)

## Configure

Your local BANKIA API server can be enabled by changing the following properties in `config/anfs.properties`:

“`
# Before enabling the API, make sure to set up authentication first
api.enabled = true

About ANFS™️

Transfer of assets and general information can be realized between different applications developed based on SLAPP
It can create highly customized applications based on specific usage scenarios or functional requirements.

Through the HPoS mechanism, the decentralized application developed on the basis of the SLAPP framework enables transactions to be processed efficiently in parallel.

To learn more about Autonomous network cross-domain flexible sharded system (ANFS) , Please join ANFS social Networks:

Telegram: https://t.me/plugchain
Twitter: https://twitter.com/OfficialAnfs
Medium: https://medium.com/@officialanfs
Discord: https://discord.gg/aPj9dmeq

Source: https://medium.com/@officialanfs/what-exactly-is-the-bankia-network-in-depth-cf81a8a5c346?source=rss——cryptocurrency-5

Time Stamp:

More from Medium