BAND is an ERC-20 token of the Band Protocol. Band protocol solves the problem of access to services and trusted data creating a decentralized bridge for that. The protocol presents a cross-chain data oracle developed on the Cosmos Network that enables secure operations between smart contracts and the traditional web. Aggregating first real-world data and connecting them later to smart contracts via API, the bridge delivers off-chain information to public blockchains with high speed and low latency. The cross-chain data oracle has attained incredible growth in 2020, recording a 348 percent growth in July alone.
The system is rather flexible and can serve most of the publicly available blockchains, supporting different methods of data retrieving and aggregating. It can get information from permissionless sources along with the ones protected by centralized parties.
BandChain technologies
The team of the company has developed the blockchain specifically for off-chain data curation. Supporting generic data requests, it also employs WebAssembly-powered oracle scripts. That data aggregated on BandChain is sent to other blockchains through Inter-Blockchain Communication Protocol. Alternatively, one-way customized bridges can be involved in that.
Oracle Data Proof employed by BandChain is a Merkle proof showing the existence of the final result of the data request on BandChain. The smart contracts can use this proof later on the other blockchain as well after the data is decoded.
Band Protocol employs also such technologies as Tendermint's Byzantine Fault Tolerance consensus algorithm, Tendermint powerful tools, and others for efficient work of the blockchain.
The protocol presupposes the contribution of validators who perform important functions on the network, participating in the block consensus protocol by broadcasting votes with cryptographic signatures. Validators are rewarded with BAND tokens. BandChain validators are the candidates with most tokens staked to them. Their participation is required for most transactions of the ecosystem such as asset transfer, staking, slashing, and others.
BAND token
BAND tokens are used as a reward to validators for the production of new blocks. The members of the community can use the tokens to become validators, delegate their holdings to another validator, and to participate in the chain’s governance. The platform allows validators to establish fees for their work.
It’s possible to buy BAND on Coinone, Huobi Global, Coinbase, Binance, Bilaxy, and on the largest crypto-fiat VISA card provider Crypto.com. If a personal wallet is needed, the tokens can be stored on Ledger Nano S or Trezor. Trust Wallet officially supported by Binance can also be a good solution for storing BAND tokens.
BAND Team
Soravis Srinawakoon, the co-founder and CEO of Band Protocol, is a graduate of Stanford University. He asserts that the protocol will contribute to the creation of a new system of dApps built on the Binance Smart Chain. In his opinion, this technology will bring Binance and Band Protocol at the forefront of DeFi as the integration of Band Protocol’s oracle allows developers to build innovative dApps in the Binance ecosystem.
Other key figures of the project include Sorawit Suriyakarn, CTO and co-founder, MIT graduate who previously worked for Hudson River Trading, Quora, and Dropbox; and Paul Nattapatsiri, CPO and co-founder who previously created crypto-games with over 800 k users.
The platform is backed by such companies as Binance, Sequoia Capital, Woodstock, Spartan Group, and other large companies.
BEP20BandProtocol.allowance(address,address).owner (#419) shadows:
- Ownable.owner() (#297-299) (function)
BEP20BandProtocol._approve(address,address,uint256).owner (#582) shadows:
- Ownable.owner() (#297-299) (function)
Rename the local variables that shadow another component.
Additional information: link
BEP20BandProtocol._burnFrom(address,uint256) (#596-599) is never used and should be removed
Context._msgData() (#113-116) is never used and should be removed
SafeMath.div(uint256,uint256) (#212-214) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#227-234) is never used and should be removed
SafeMath.mod(uint256,uint256) (#247-249) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#262-265) is never used and should be removed
SafeMath.mul(uint256,uint256) (#187-199) is never used and should be removed
Remove unused functions.
Additional information: link
Variable BEP20BandProtocol._decimals (#347) is not in mixedCase
Variable BEP20BandProtocol._symbol (#348) is not in mixedCase
Variable BEP20BandProtocol._name (#349) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#114)" inContext (#104-117)
Remove redundant statements if they congest code but offer no value.
Additional information: link
BEP20BandProtocol.constructor() (#351-359) uses literals with too many digits:
- _totalSupply = 1200000 * 10 ** 18 (#355)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#316-319)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#325-327)
increaseAllowance(address,uint256) should be declared external:
- BEP20BandProtocol.increaseAllowance(address,uint256) (#465-468)
decreaseAllowance(address,uint256) should be declared external:
- BEP20BandProtocol.decreaseAllowance(address,uint256) (#484-487)
mint(uint256) should be declared external:
- BEP20BandProtocol.mint(uint256) (#497-500)
burn(uint256) should be declared external:
- BEP20BandProtocol.burn(uint256) (#505-508)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find audit link on the website
Token is not listed at Mobula.Finance
Additional information: link
Unable to find Youtube account