BitVester: ICO and Wallet Services

This is an Initial Coin Offering or an ICO developed for the Ethereum Blockchain using Solidity as the language for the smart contract. Developed by Synsoft's team of Blockchain and Cryptocurrency Experts, the smart contract is now deployed to the live Ethereum Blockchain. It is programmed to take the ICO through its lifecycle, as drawn out on the timeline in the whitepaper. A live website has been created as the launching pad where the ICO begins in the Pre-Sales phase, and thereafter progresses through consecutive phases. This website also generates on-site BTC and ETH wallets on user registration. Users can then load these wallets to enable them to buy tokens with.

People may register on the website, review the timeline, review the whitepaper and other information, and purchase coins in exchange of their BTCs or ETHs held in their on-site Bitcoin wallet or Ether wallet, the two main Cryptocurrencies of today. The user can see his/her transactions on the dashboard. Tokens are received into the user’s BVR wallet as soon as their transaction succeeds on the blockchain, but these BVRs will not be transferable until the ICO ends.

The BTC wallet was implemented using BWS services, while the ETH wallet using Infura services.

The smart contract includes the following main operations over the Token…

Mint: As soon as the smart contract is deployed, it mints the pre-defined ERC20 Token, in the pre-specified quantity, into the Admin wallet.

Each time a user buys tokens, the ETH is transferred from the user ETH wallet to the Smart contract and tokens are minted into the user’s wallet. The user bears the transaction cost.

Transfer facility is only exposed to the Administrator of the ICO so that tokens can be airdropped to users against some special tasks.

Burn facility is given to the Admin, in case needed, at the end of the ICO.

A specially designed, in-built exchange mechanism was used to allow users to use BTC to buy Tokens. The user’s BTC wallet is meant for this case. We used Node.JS, and the Bitcore Wallet Service (BWS) for developing the BTC Wallet. Similarly, we used Node JS, Web3.js (the Ethereum compatible Javascript API) and Infura wallet services for developing the ETH Wallet and integrating them into the Website. While implementing Wallets was one of the most critical and time-consuming efforts, it was also an enriching experience.

We built the smart contract in Solidity. The Smart Contract was programmed for the complete flow of the ERC20 token, from minting the tokens at deployment, to triggering its Presales, and then taking it through to the end of the ICO across a pre-defined cycle of events, as mentioned in the Whitepaper.

Ropsten (for ETH) and Testnet (for BTC) proved useful testbeds for testing the smart contract all through its development. Faucet services provided the required Bitcoins and Ethers to test with. Other facilities we used was the Metamask wallet, Blockcypher Explorer, Etherscan explorer, etc.

Synsoft has worked on this project from scratch, developing and deploying the same, and has emerged with a rich experience, that will help us in our future endeavors on the Blockchain and Cryptocurrency Platform as well as in Smart Contract, ERC20 Tokens and ICO Development.