A blockchain is a ledger of transactions that are distributed across the participating nodes in a network. It is a decentralized database of the records of every single transaction that has been executed, finalized and divided among the participants of the blockchainsystem. Blockchains run on peer-to-peer (P2P) networks where there is no central server and all the nodes (computers) in the network are responsible for maintaining node integrity . Blockchain technology utilizes cryptography as a means to allow each participating node in the P2P network to update the blockchain without the need for a central authority. Each node maintains a list of the complete blockchain which is updated upon every completed transaction.
ABOUT HUSSY TOKEN
Employees in typical (non-Blockchain) companies are usually paid in regular monthly payments, e.g. 12 times per year. Vesting contracts simplifies this process and allows team members and advisors to be paid in ERC20 tokens in as many payments as they want.
Vesting contract allows to lock any given amount of tokens for any given duration, while only an aliquot part of this total amount is releasable at given time. Token vesting ensures a long-term commitment of people working on a project with more flexibility than common employment contract.
At HUSSY.io, we are using the standard and reliable OpenZeppelin token vesting contract. Source code of this contract is available in the official GitHub repository of the OpenZeppelin project.
There are two functions for interaction with the OpenZeppelin TokenVesting smart contract:
- release(ERC20Basic token) — Releases the releasableAmount of tokens to the beneficiary address. This operation can be executed by anyone.
- revoke(ERC20Basic token) — Releases the releasableAmount of tokens to the beneficiary address and the remaining unvested tokens are refunded back to the contract owner. This operation can be executed only by the TokenVesting contract owner.
What is the token vesting factory?
Factory is a software design pattern for creating instances of a class. Using this pattern simplifies creating new vesting contracts and saves transaction costs (“gas”). Instead of deploying a new TokenVesting contract for each team member, we deploy a single instance of TokenVestingFactory that ensures the creation of new token vesting contracts.