Saturday, 15 June 2019

What are the Investment Opportunities for ICO Companies?


       Cryptocurrency ICOs are profitable and provides you to make lots of money only if you know what you are doing. But, If you don't know what you are doing, then you will lose money. The website ICO drops collect the information about all kinds of cryptocurrency and statistics of ICO. For ex, The ICO drops website like Zilliqa and ontology provides information about what kind of gains or profits you made by investing in these companies. You can learn from the website that they have raised $22M and if you invested the amount, you would be made 6.25X USD or 10.89X ETH or 11.80X BTC from the initial investment(Returns) etc., Also, this is not an end, the cryptocurrency keeps on growing. Similarly, the ontology sales end on 8th jan'18. The initial investment grows up to 7.15X USD or 33.49X ETH or 14.05X BTC. So, if you find the right ICO, you can make the tons of profit during the Bull Market in coinmarketcap.

Cryptocurrency ICO for Investor: You can store your cryptocurrency in 2 ways like exchanges and private wallets. But, if you want to invest in ICO, you need a private wallet.The cryptocurrency exchanges give your money to somebody (ex, bank). But, there is a risk that you lose money and there are no 100% guarantee that you will get it back due to hacking, bankruptcy etc., The private wallets has more security and take care of your own money that can not be hacked by the hackers. But, if they get the private keys, they can take your money. It is the password that you should keep it for your wallets. There are different wallets options available like hardware wallet(Trezor, Ledger Nano S) that are more secure. Also, there are paperwallet(eg, myetherwallet), mobile wallet(eg, copay, jaxx) and desktop wallet(eg, exodus) etc.,
      Lets look to participate in ICO. Open the ICO company where you would like to participate(ex, and look at the team and advisors about their knowledge in blockchain industry, marketing, professionals, etc., Once you agree and support the project of that company, you can click on private sales or join the whitelist. After you signup, they will send you the confirmation email, then confirm the account to sign in to the website. Now, you can go to the dashboard and check out for early bonuses and buy the tokens with ether over the dashboard with your MEW address. In MEW, you can send ether to that ICO company. Then, you can claim your ICO tokens from the dashboard. Also, it is important to follow the instructions of the company while purchasing the tokens.
    Once, you participated in ICO, you must get regular update about the project with social media channels like facebook, twitter, telegram, linkedIn etc., If you have invested the money, you should know what is happening on the project. It is important to join the community that is good for you to ask any question in the telegram channel and share in the facebook if it is worthwhile project. Another important thing is the Roadmap. All the cryptocurrency project follow the roadmap and deliver the project on time. It includes how they are communicating to community like open, transparent, and provides information etc., These are the questions to be analyzed when you put the money in cryptocurrency companies.

Criteria for Best ICOs: Here are the criteria for defining and finding the best ICO companies in the long term,
1. Mission and End Goal : It is the primary thing to define the company by answering the following questions
     * What are they trying to achieve?
     * Why do we need this product/solution?
     * What is the primary problem that they are trying to solve?
     * Will it bring extra value to the marketplace and how does it provide extra value?
To achieve these things, the cryptocurrency companies provide the easier payment method and creating the bank( eg, Binance, Bankera, Kucoin etc) with cryptocurrencies. Normally, the traditional banks does not support cryptocurrency.
2. Determining the Long-Term Results : It mainly to look the team of the company about the leaders who have strong experience in industry and achieved good track record and results. Are the advisors have good reputation and experience?  If they have an experience, they will succeed in the area of Marketing, Operational, Programming when they develop new things.
3. Need of Blockchain & Token: Blockchain is the distributed database that can allow transactions between entities that don't need to trust each other or rely on central authority. It is also the public ledger that records all transactions. When you are starting cryptocurrency ICO, you should always ask that is there a real need for a blockchain in this specific situation? Why do they need tokens or coins and the value of the coin?
4. Guaranteed Short Term Gains: When the cryptocurrency ICO have huge hype around the ICO,  there are lots of community members and influencer are talking about it sold out. When the hard cap is reached, the price will go up when it goes to the exchange. Now, you will make short term gains. The people start rushing to ICO when the influencers mention that ICO and it gives the huge peak at the price and falls significantly afterwards. So, keep in mind the following,
    * Hype lasts for short term
    * Cryptocurrency influencers are paid for the promotions
    * Invest only in worthwhile projects.
It is not worth to invest the project does not have the long term value. 
5. Quality of Work They Have:  It can be determined by their company website. Also, you can check out the following,
   * Do they have thorough and comprehensive whitepaper?
   * How promptly do they respond to the community questions?
   * Do they communicate openly with the investors?
These things that you can find out in the channels of twitter, telegram, youtube, website and how they delivering the messages etc., If the website is good and have answer for the questions are good sign of the project.
6. Research their Work: It is important to check the github activity of the project. Cryptocurrency projects have often open source code and piece of the code reflects the attitude of the developer. They should be able to answer the questions if they don't have a github activity. Also, you should be careful about hard to read and sloppy code.
7. Token Distribution and Funds: Pay attention to what kind of token distribution does the company have, how does the company use funds that they collected and how many token in total and price? Usually, the tokens with lower price are interesting for the people to buy it.
Strategies in ICO:  There are strategies that will help you to make profit in ICOs like,
   1.  Profit with Presales or Early ICO Bonuses - The cryptocurrency companies offers bonuses to people who invested earlier. It is presale where they provide bonuses of 5%, 10% , sometimes 50% bonuses for early investors. During ICO, the price of the token will be expensive than during Pre-ICO sales. The people who invested in Pre-ICO will make a pretty good profit than the people invested just during ICO. So, it is important to check on the white paper of your ICO company about  pre-sale and during ICO price. ICObench provides information about upcoming ICOs and you can filter the bonus available, MVP available, rating etc., Of course, you need to consider the ethereum price that goes up and down.
2.  Profit with Capital Gains - It has short term and long term strategies. For ex, If you buy the tokens in the ICO for $0.01 and you can sell the tokens in the exchange for $0.02 after the ICO. It means that you doubled your money. CoinMarketcap provides real-time data for all the cryptocurrencies with the marketcap. It is interesting to see the price goes up that depends on the theme and several factors. This is a short-term strategy.
     In the long term strategy, you have the potential for biggest gains like 10X, 100X. The bitcoin, ethereum are the popular cryptocurrencies market cap to invest for the long term. You can make huge profits or lose money in the long term.
3. Make Dividends by Holding the Cryptocurrencies - Using dividends, you can cash flow the cryptocurrencies. The cryptocurrency exchanges provide the dividend for token holders. For ex, Bankera is the cryptocurrency bank, kucoin is the cryptocurrency exchanges are created their own cryptocurrencies and share the revenue to the token holders. You can also make passive money by having MasterNotes which means when you own a certain amount of coins/tokens, you can get a reward.  For ex, the biggest cryptocurrency of Dash supports the masternotes. Normally, the whitepaper describes the revenue share paid to token holder at each week.
4. Recommending the Project to Friends and Followers - The cryptocurrency ICO companies provide 5% referral bonus for all investors you refer. For ex, If your friend to invest $1000 through your link and you get $50 bonus. Sometimes, your friend also gets $50 bonus.
5. Make Money Through Airdrops - It means the cryptocurrency companies share free tokens to market their project. What you need to do to receive the token is to hold the tokens in your wallet. It depends on the company that tells the rules to follow and you can participate on Airdrops. Some companies do the Airdrop by like or share their company's Twitter page and Facebook page or subscribe to the Youtube channel.  Basically, it is a little bit of marketing strategy for the company.

Friday, 31 May 2019

How to Create & Run an Own ICO Company?


          The organization has several ways to raise money. Startups are constrained because traditional institutions are reluctant to invest in new companies that are unproven and with little collateral.  The startup is taking money from the global audience of investors and raising the money of pre-product. So, it makes the investment highly speculative. Established organizations can raise capital through traditional financial services and IPO where they sell shares of the enterprise to investors. But, the new form of raising capital has emerged called an Initial Coin Offering(ICO) by the emergence of blockchain technology and cryptocurrencies. It enables the startup to sell a predetermined number of tokens or a new cryptocurrency. The startup is offering to an investor and the investor purchases with cryptocurrency such as Bitcoin, Ethereum or cash. The investor isn't buying the share of the startup, but instead, it relies on the value of the token or cryptocurrency to increase as it is traded through specific exchanges indefinitely after the sale ends.
        A great opportunity to raise a lot of money is the tokenization of existing businesses and new business ideas. Technically, the tokens being generated in the event of the sale or announcement of the sale. So that's the kind of common way of describing it. Sometimes that can distinguish from an offering a sell of an investment. Tokens build on top of Ethereum blockchain. Technically it is a sale or tokens distributed in a future at a future date. There are many websites supporting the initial offerings and subsequent trading, once the business has been launched. It includes coinschedule, ICO and TokenDesk. One of the benefits is that you'll be able to create early adopter may draw any user base that wouldn't have even known about your product. The investors are basically betting on Team future products and the idea that token as an investment. You not only bet on this will work, but is this a great idea and look at this team to think these guys can pull this off? So, you have to take into consideration of skill sets, track record and the combination of advisors. Technically, all you need is to code a site with a great idea.

Idea & Token: It is important to start with an idea and start a free write, talk about, discuss in detail and think about who would find interest in this idea besides just yourself. Is there a problem and an actual problem? Do 100 people have this actual problem? Do you hear people talking about the problem? It is good to discuss your idea with the people who you know more about your idea space, cryptocurrency space and ICOs then you do it. Once you think, it is valid, and start to find a way to convey in a sketch or images. So, if you get from point A to Point B to C and D quickly with images and sentences that will help a lot to your investor or business person. For that, you must be inspired by your idea to convey it in the sentence and gain interest in where they ask more questions. This inspiration will do something toward the idea to document, add it to your portfolio and go to work.
     Before creating the token, you must have the answers to these questions like,
* Do you need a token?
* Can you convince others that a token offers a strong value proposition for your product or platform and the blockchain help solve the problems such as do you handle records that need immutability?
* Do you need to use code to make decisions and transactions without an intermediary?
* Are you able to sustain the vision using this token?
* Does this product add value to a potential token like trade value or is it something that a merchant or customer wants to hold or add value to the platform.
* Does it create or aid an ecosystem?
     So, you must have the answers to these questions when you tokenize something by giving the rewards using the token or track for rewards and rebates access to the platform, etc.,

Benefits of the Blockchain: In general, Blockchain is the database. The benefits are
 * It provides an immutable track record and immutable profile so that as long as you associated with this profile these things you can trace every step along the way. The history is yours and any ownership changes will be traceable too.
 * Blockchain gives you more security. All the vital and critical moments happening on the app will be written to the blockchain to register data or execute the code(smart contracts) and its state will be visible to anybody because Ethereum is public and permissionless.
* It has human less escrow service by smart contracts and the funds to move on pre-agreed conditions. That will introduce a lot of change in the financial world. Specifically, when you think about an app or platform, the blockchain can be used to transfer data in the background so that it doesn't have the public interface to make every change that needs to happen. So, it allows things to happen based on preexisting agreements without an intermediary. It is the kind of shield that away from that staff.
* Blockchain can be used for value transfer for the in-app activity which you can cash out.
* Any participant will be rewarded for great content (likes, followers, views etc) via the in-app tokenomy mechanism.

Problems & Solutions: It is important to make sure that the problem you solve is very clear. So, you need to talk about the holes in the market or pain points in the users, customers, businesses, and merchants. They should know about your market knowledge, research or your background experience. Discuss prior attempts by solving these problems by others. Then decide on how you are going about to solving this problem. Here, you can insert your detailed solutions of diagrams, paragraphs, words, research, and unique strength.

ICO Landing Page: You should have a central place for everyone to come and learn about your project. So, you must build a website that mainly operates the landing page. You can do the custom development once you get in your projects when you have more data, more investors and the bigger team or you can do it yourself. You may want to have time in the countdown for sale and track how much investment you have. Usually, you have to find easy to download whitepapers and accounts are good so that you can track who is logging in and people can have all the information there. Let's look at the website Plentix, they have the whitepaper, about and easy navigation. When you scroll down, you can see MVP of the first version of product token sale, the team and all the stuff. This is one way to do your project. More importantly, you can sign up and submit questions in the contact page.
     Also, you can search for themes and plugins for your ICO websites. In the ThemeForest, you can search for ICO where you have the options and criteria. If you want to use it as a base and maybe some developers do little work on the back end which is a good start because it covers your design and uses the ICO crypto and ICO trade. And then the quickest way is hiring developers to do the back end stuff to plugged it in. You can buy and link this up at launchpad and have it active where it works with all your links and everything.

Token Structuring, Supply & Price: We want to have a clear definition of what the token is. So, Define its utility as in what can you do with or without the token and how is it like you out or how do you provide you in. What benefit does it provide? Is there a reward that comes from holding a token? Is it a security or an investment? So let's take look at the basicattentiontoken. Here, you have an ecosystem for advertising as an advertiser and a publisher? In the triangularisation, you can see how the token gets used as a reward and describe who gets it. So, it provides more privacy and less fraud.

     You have to think out the following in token supply distribution,
* How many can be created?
* How many can be held by team advisors?
* How many we allocate for sale, pre-sale and private sale?
* How many can be released later?
So, it is important to think all this out and find the strategy that works for you. It is an industry standard to reduce the amount of circulation since you didn't uphold the value during the sale because the demand wasn't high enough. It is also called as burn. Generally, low supply is good and respected investors. But high supply can work with real utility. Let's take the example of has an allocation of 1000M tokens. 35% goes to presale and sale, 20% goes to the community,18% reserved for the team, 15% for growth and acquisitions, 9% for long term foundation budget and wrap the expenses to 3%. So, this is one kind of token allocation of that company.
    If your token is circulating through an ecosystem, you may want to give it a room to grow with the platform especially if it is not a trading token. Sometimes, fractional is good, because you can use it in many different ways on the platform and you know things get fractional. If there is a limited supply, it is going to be a fractional amount because not many people are going to move a big amount of it. So, think about the target price before the sale, during the sale and after the sale on the exchange. Generally, the security tokens are near to 1 USD and the utility tokens are .20,.30 USD or lower.

Wednesday, 15 May 2019

What are the basics of Ethereum ERC20 Standard: Token Creation?


      Ether is the cryptocurrency and Ehtereum is the blockchain implementation it is built on. It is decentralized and distributed that is similar to the way the bitcoin works. It also uses an open ledger and mine for more coins. A great thing is a smart contracts which are essentially automated with no intermediary. Blocks of transactions can be created faster in ethereum. It allows the computer applications that are not just the currency to run on the network. For example, cloud storage like Dropbox is storing your files without the central authority. They will operate very well even if it financially goes down due to files are stored on several different computers on a distributed and decentralized network. It has over 5 million wallets capable of storing Ethereum blocks of transactions that can be created faster than Bitcoin. It uses the Turing Complete Programming language. It means more flexible and giving enough computing power to solve anything that makes easier to mine and use for different applications.

Ethereum Mining: It is similar to bitcoin mining. In each block of the transactions in the ethereum blockchain, miners use computers to repeatedly and very quickly get answers to the puzzle. This is a simplification of what happens, the mathematical problems that ensure the validity of the transactions occurring on the Ethereum blockchain. ETHASH is the specific algorithm that measures the particular miner done work of verifying transactions. It requires more memory to make it harder to mine using expensive A6 which are specialized mining chips. So, the miners rewarded an ether as an incentive.

Introduction to ERC20 Token:         
       ERC20 is basically an interface of a smart contract that defines how a token should look like. Here are the events and functions that we need to have in our token contract. In order for it to be accepted as ERC20 tokens, we need the function of our total supply that is public and return uint that should the total number of tokens in existence. The balanceof function should use the balance of an address that we give it. Allowance in ERC20 tokens we can give permissions to someone else to spend a certain amount of money from your wallet. It is tightly coupled with approve function. Approve function that allows certain wallet address to spend x amount of tokens from your wallet. The allowance will give the remaining tokens that the token owner has allowed spend by the spender. The function transfer allows you to transfer a certain amount of tokens to address. Now, when you use to transferFrom function, you can transfer tokens from the account of another person that has allowed you to use a certain amount of tokens to another person.
                 The transfer event happens at when we transfer some tokens from one account to another and approval event will be triggered when someone has approved someone to spend money on their behalf. And this is the interface of the standard tokens, If you have those functions inside your token it will be accepted as an ERC20 token.
Improving our Basic token to be ERC20 Standard: In the basic token, we only have the function transfer, So let's add rest of the ERC20 token functions, the public variables like name, symbol, decimal, totalSupply and mapping that tracks the allowances and also the events that are needed. Now, let's create the public transfer function code that receives the following arguments of address to and uint256 value that is public and returns a boolean code success. The transfer function will receive msg.sender and the variable to, value. Below the function, let's return true that the transfer was successful.
      The function transferFrom that receives the argument of address_from, address_to, and uint256 value. The function will also be public and will return boolean of success. Then require the value less than or equal to allowance. Afterwords to make sure there is enough money that we are allowed to spend will deduct the money from the allowance. Then, type the following allowance from msg.sender minus equal value. After that, let us transfer the money to the desired accounts that transfer from, to and value. At the end of the function return true to mark the function as successful.
      In the Approve function approve the addresses to spend a certain amount of money on our behalf. This function will receive the arguments of address sender, uint256 value. The function will be public and will return a boolean success, Imagine, you have the company account and want some employees to be able to spend money on behalf of the company. This is where the allowance comes in. So, type inside the bracket of the allowance of msg.sender of spender will be equal to the value. This will give a right to the allowance who have been authorized and what amount of money they're authorized to spend. Value is the maximum amount that the spender can use. Below this, let's emit the approval event. So, type emits approval of msg.sender, spender, value and at the end lets return true that the function was successfully executed. You can get the ERC20 tokens from Github.

Making an Ownable Token: We can add the ability of our token to be ownable. So we can use the modifier for the owner to restrict access to the function that can add tokens or burn them.  Now, we need to create a new contract called owned. Inside the brackets, we will have the public address code owner and also the constructor that has owner equals msg.sender. Then create modifier called onlyowner. Inside the modifier, type requires msg.sender to be equal to the owner. This is the modifier that we will use in the future to restrict access to certain functions. It is important to add the underscore or placeholder at the end of the modifier.
   Now, we also want to be able to transfer the ownership of the token to someone else. So, create a
function called transfer ownership that to receive address newowner and let's add the modifier on the owner to the function. We want only the owner to be able to transfer the ownership. So, inside the function type, the owner equals to newowner. Finally, add the "is owned" keyword at the top where we define the token contract.

Minting or New Token Creation: Mint token that receives address target and uint256 of mintedAmount. This function will be able to create new tokens and give them any account the owner
desires. It is important to give this function the modifier only owner. Inside, the balanceof target plus equal to mintedAmount. The totalSupply plus equal to mintedAmount. We need to emit our transfer event. So, Type emit transfer of zero, owner and mintedAmount. Below it, there is one more transfer event. Type emit transfer of owner to target and mintedAmount.  This is how you create a function that can mint tokens whenever the owner of the token decides.

Deploy our DApp to the Web: It consists of 2 parts. We would want to deploy our contracts into test network within Infura and we want to deploy our Front-End with Heroku which is the service that deploys our applications to the cloud. First, you need to set up and create the account. In order for an application to work, we need to deploy our contracts to the test network. Infura is a hosted ethereum node cluster. We have to set up an own cluster that syncs up the entire ethereum network cluster. So, after you created the account in Infura, login to the dashboard and you need to create a new project for our app.
            Now, we are ready to prepare our truffle project to deploy our contracts to the Rinkeby test network. In order to connect Infura, we need to install the truffle -hdwallet provider and deploy the contract in the test network. Let's register and install Heroku. Heroku is a cloud platform as a service. It supports several languages that you can deploy projects written in many kinds of languages. It supports node.js, ruby, java, php, python, and other languages. It has a free plan to create your account. In the dashboard, create your new application and install Heroku CLI. If you have registered and installed Heroku on your PC, then you are ready to run our truffle project in Heroku.
       The last thing, you need to do is to create a git repository for our project and deploy the Heroku application. In the terminal, login to heroku and create a git repository. Now type Git Init which will initiate the git repository and it is ready to add heroku as your remote repository. Then, we need to add all the files to Git by the command "Git add ." Let's create the commit and publish it. Finally, we need to push our project to Heroku. Once, everything is published, you can open your DApp by typing "Heroku Open". Now you have the working published DApp online and you can test out in the Rinkeby network where we deployed our contracts. It is the way to deploy our decentralized application on the web.

Tuesday, 30 April 2019

How to Deploy Solidity Smart Contracts into Ethereum Blockchain Technology?


          Ethereum by definition is an open source public service that uses blockchain technology to aid smart contracts and cryptocurrency trading without the third party. Ethereum offers two types of accounts externally owned. The public accounts which we own our private keys. The second one is the contract account, those are the accounts on which Ethereum developers deploy all kinds of smart contracts. Ether is the currency that we are going to use in the development of our smart contract and it is the main currency that sponsors most of the InitialCoinOffering(ICOs). It is expected that at some point in the near future it even beat bitcoin in the market cap. The key difference from the mother of bitcoin is the platforms ability to trade more than just cryptocurrency.
       Wallets: There are online wallets that should be your first choice if you're a security freak or you have a big amount of money invested. But, there are software wallets that have the official blockchain of the coin for instance of Ethereum. In order for the wallet to be functional, you have to synchronize your copy of the blockchain with the official one which depending on the coin might take a lot of your hard drive and time. The software wallet of Exodus provides a user interface that provides a pretty neat user interface that makes managing your assets easy and secure in a software wallet. When you first download and install it, you will be given a mnemonic phrase of 14 words that are your back up key when your PC gets broken or software gets deleted or any kind of situation in which you lose control of your software.
          There are hardware wallets that have nano ledger and hardware devices. The website called Nanoledger looks like a flash drive that has amazing security. If you lose your ledger you can always order a new one and put the coins from the last one to the new one with the mnemonic phrase. The advantage of the hardware wallet to the software wallet is pretty much unhackable.
        Finally, there are exchange wallets that you can use on the exchange accounts to store your assets. One of the biggest exchanges called Binance are getting the security measures better every day so that people can feel safer trusting their assets to the exchanges. For instance, after you make an account you'll notice that you have several layers of protection just to get inside your account. If you try to withdraw funds, you have to verify the transaction by quote send it to your phone or authentication email or whatever option you have in the wallet. The most important thing about handling cryptocurrencies is that your knowledge and only you take the responsibility about what happens to your assets and where you trust them to kept safe.

Solidity Smart Contract Constructor:  Here, we can see the sample contract, on top of every solidity file, there is a so-called version pragma which tells the latest version of solidity supported by the contract like,
     pragma solidity version ^0.4.24
      contract ContractName{
        * Variable Declarations
        * Mapping
        * Constructor
        * Functions
        * Modifiers
There is so-called version pragma which tells the lowest version of solidity supported by the contract. After that, we have the contract and its name inside we can put the variables, mapping, constructors, functions, and modifiers etc., Remix is a great online IDE but we need some kind of Git control so we can commit our changes and rollbacks if needed. The best tool to do is Truffle, Ganache, and Visual Studio code. For setting this up, you need to install node.js as well. In order to install Truffle and Ganache properly on windows, you need to run the following function "npm install -g  -production windows-build-tools". After this is finished, we need to install Truffle on our machine.

Token Creation: Open remix and create a new contract named "basic token" on top as always. Let's define our version pragma type. Below this, we create our contract type contract. Let's define a mapping of addresses into 256 this is public and it is called balanceof, this will store all the balance of wallets that had the token. Now, we would want to create the constructor that would give the creator of the contract or the initial supply of tokens when we deploy the smart contract. Create the constructor unit of initial supply and inside the brackets let's set the balanceof msg sender to be equal to initialsupply. So, it gives the sender all the tokens. For the basic token, we need a function that can transfer the ownership of the token from one wallet address to another.

          Now, let's create a function called transfer that will receive address code to enter using uint256 called value. This function has to be public and return a boolean code success. Inside the function, we need to make some restrictions. Let's first check the sender has enough tokens to send( type require balanceof msg.sender greater or equal to value). Now that we know the sender has enough money, we need to make sure that we will not overflow that number that we have(type require the balance of receiver plus the value should be greater or equal to the balance of the receiver). Now, we are ready to transfer the money. First, let's deduct the money from the sender's account(type balanceof message sender minus equal value). Then, we add this money to the address we want to send them to(type balanceof to equals value). Let's return true. So the core function would know that everything was successful. This is the basics for token creation.

Deploying Token into Rinkeby Test Network: For this work, you need to get some Ether for the Test Network. Once, you have the Ether or go to Rinkeby and get your virtual Ether for testing purposes. There are many ways to deploy your tokens or contract to the test network.
              You can directly do this by Remix.  First, make sure you logged in your metamask and the Rinkeby test network. Once, you selected the Rinkeby, then compile the contract and ensure that there are no errors present in your code. After that, go to the run tab and select the injected web tree environment, then select the account you wish to use for deployment and deploy the contract. Don't forget to specify the initial supply when you deploy the contract. Now, the metamask should pop up and ask you for the confirmation of the transaction. Confirm and wait for the transaction to be validated.
        Another method is to select the website myetherwallet and login to your wallet with metamask and deploy the contracts directly. However, you need a bytecode of the contract in order to deploy it. To get the bytecode, go to the compiled code in Rymix and click on the bytecode. This will copy the bytecode to your clipboard and paste it over there.
         The other way is to select the website of walletethereum and we can deploy the contracts directly with code or bytecode. This wallet also connects with metamask so you can confirm the deployment. These are the methods to deploy the contract in Rinkeby test network.
         Now, let's go back to remix and find out our contract address. The contract deployment must be validated by now. So, go ahead and find the contract address on Eherscan. There we will have the address of the basic token. If you successfully deploy the tokens, You can add your tokens to different wallets and send the tokens to another address.

Adding Tokens to Wallets and Sending to Another Account: Let's open the website walletethreum and add the tokens to your wallet. In order to do that, open the contract, now at the bottom we have a section called custom tokens. Click on the watch token button and add our token. If you lost our token contract address, you can go to metamask and click on the contracts that you have created. You can distinguish the contract from the icon that we have on the site. Now, we have copied the contract address and go back to the website and paste the token contract address and give the name of the token. Then, enter the symbol as MFT and at the bottom are the decimal places of our smallest unit. It means how many decimals points our token has. Let's type 0 and say OK.  You have the token added to your wallet.
      Now, we can send the tokens to another address. Let's copy the address of another wallet from metamask. If you don't have one, just click create an account. Copy the wallet address and let's click on the send buttons inside the Ethreum wallet. Here, let's choose the tokens from our main account. In the To section, let's paste the address of the second wallet. Don't forget to choose the token name and this will cost us the amount of Ether to do so. Even if you're sending custom tokens, you still have to pay for the transaction in Ether. Make sure, you have enough Ether in your account. Now, let's click on Send. The metamask will show up asking for the confirmation of the transaction. Confirm and wait for the transaction to be validated. This we can check on the EtherScan that added successfully the token to that account. We can also send tokens to another account using the metamask.

Monday, 15 April 2019

4 things to know about Block Chain Technology and Crypto Currency

                Crypto Currency is a currency that does not exist in physical form. There are no coins or notes. It lives natively on the Internet. When the transaction takes place, participants who use Bitcoin, their computer specifically, validate the transaction and is recorded in the distributed ledger that is powered by Blockchain Technology. To have value, typically something must be scarce and must be accepted by others for payment like Gold, Diamonds, Silver is all deriving their value from being both scarce and expensive to mine. This is exactly translated into digital currency. The first characteristic is that there is only a limited amount of Bitcoins available. It is stipulated that there would be only 21 million Bitcoins. The second question is how a person or organization can acquire Bitcoin. Acquiring completely new bitcoin requires a unique type of mining like Gold.
         New Bitcoins are periodically released to the Bitcoin participant network and can be acquired by solving extremely complex mathematical puzzles. These puzzles take considerable computing power, so access to participate is limited. Computing power requires a lot of computers and a lot of power. This incurs a cost to miners. It is like mining oil in the wild ocean, only those with exceptional resources can participate to have a positive cash flow. Thereafter the value is calculated similarly to any currency by supply and demand. In simple terms, if the demand for Bitcoin is high, its value increases. If there is less demand, price drops. These Bitcoins can be used in all manner of organization, including small and big retailers accept Bitcoin. Wide acceptance of Bitcoin is the foundation for success.

Introduction to Digital Tokens: Token is something issued by an issuer and can be used in a specific marketplace and perhaps under certain conditions timing(In the physical world, think as casino chips).  The token has value because the context gives the value so once you have taken the token out of context or situation the value will fall ($100 casino chips is worth nothing outside of the casino). For simplicity, the token is used to mean any units recorded on any blockchain. There are 3 types of blockchain tokens,
1. Native Blockchain Tokens:  These are an incentive for the network participants and block creators to do their work. These are essential for underlying blockchain to work. For ex, BTC and ETH are used in bitcoin and Ethereum blockchain.
2. Asset-backed Tokens: Financial assets can be recorded as tokens. Financial assets are generally agreements between parties usually an issuer and the owner of the asset. Similarly, a bond is a legal agreement between the bond issuer and the bondholder. These agreements can be represented as tokens recorded on blockchains and distributed ledger.
3. Utility Tokens: The holder of a utility token can redeem the token from a specific entity of access to a product or service. It represents a liability of the issuing company because product and service become available, this entitles the token holder to redeem their token for that product or service.
         Initial Coin Offering( ICO) also called as token sales. They represent a new way for companies to raise money without diluting the ownership of the company or having to pay investors back. The ICO process includes Whitelisting, Funding Caps, Treasury and Exchange Listing

1. White Listing: In the whitelisting process, potential investors need to declare some of the key identity information(e.g, accept predefined terms and conditions, and provide the cryptocurrency address they indent to send funds from). During the token sale, the smart contract programmed to receive funds will only accept funds from those cryptocurrency addresses that have been whitelisted.
2. Funding Caps: You will often see soft and hard funding caps detailed in whitepapers. These are floors and ceiling to the funding amount the projects are willing to accept at any stage of the sales processes. A soft cap is the minimum amount of funds needed for projects to go ahead. A hard cap usually represents the maximum the project will accept.
3. Treasury: Projects that generally create more tokens than that are sold in the token sales and they keep a proportion behind in reserve. Once the token is listed, the project will have some idea as to the value of the tokens they hold in treasury. These tokens are held on the company's balance sheet and impact the equity valuation.
4. Exchange Listing: Some investors may buy tokens in the ICO to use the product, service or blockchain offered by the project. However, it is common for investors to buy tokens to speculate. As such an ability to sell the tokens - liquidity - important to investors. However, a listing of the token on crypto asset exchanges is the key event in the lifetime of an ICO because exchanges make the token more liquid.

Creating CryptoCurrencies: Your coin could emerge as a favorite, bringing you fame and fortune. You could become part of a historical shift from government-backed currencies. You might want to have your coin use an alternative proof of work and consensus mechanism. It's your cryptocurrency, you get to make the rules at the beginning. You could use your crypto to raise money for a new business idea. So, you'll use your coin with good intentions. But, there are a lot of scammers out there. If you buy scam crypto, there is no recourse. You've have lost your money.
      Another cryptocurrency generated on the blockchain is Ether. It is a really successful platform for writing smart contracts, the software program that runs on the blockchain technology without the need for the centralized software development platform. The Zcash is similar to bitcoin, but with a focus on transaction privacy. Litecoins are identical to bitcoin but with a faster transactional confirmation process. IOTA is a cryptocurrency developed specifically to help enable innovation in the Internet of things. The Coinmarketcap provides more information about other altcoins and specialty.
     You can create your own cryptocurrency by software fork. It is a copy of the existing code that powers bitcoin. Bitcoin is an open source that perfectly supports to copy and modify. Hundreds of cryptocurrencies were created this way. The copies are available from several sources that you can get from software repository in Github etc., Once you have the bitcoin source code, to make any modifications that require the programming skills in C++. The walletbuilders provides the free version that lets you create a crypto coin as a test service. In order to go live with your crypto, they do have a fee structure. The ethereum blockchain helps to create your crypto but you need deeper technical skills and there are some great support tools available.

CryptoCurrency Mining: The most important question in a cryptocurrency transaction is, does the payer, the person giving money have a cryptocurrency available to make payment. In the traditional
centralized system, if someone tries to write a check for an amount they don't have, eventually, the transaction will fail. How this can be achieved in Cryptocurrency? As you know, the cryptocurrency runs on the blockchain and the blockchain is a type of database is stored in its entirety on each participant computer. When one use in this blockchain wants to pay another user, a process of consensus must be met by all participants to allow the transaction. If the consensus is not reached, that is participants computer don't agree that the transaction is not legitimate, then it can't take place. The consensus is the governance that replaces the bank in a centralized model. We can say that mining is the process that enables consensus.
       For ex, Alice wants to pay Bob with cryptocurrency. Bob's address known to Alice. It's his public key. Suppose She wants to send 5 bitcoins, now the transaction is broadcasted to the bitcoin blockchain signed with her private key. Her private key associates Alice with the bitcoins she owns. When she broadcast her transaction, special users called miners are waiting to receive the transaction request. Miners validate the transaction and pass this information on to more users of the bitcoin blockchain, So they can also confirm the transaction. This is called consensus. The first miner validates and checks her sign of transaction with the bitcoin associated with her. Then, using the transaction request the miners used to solve a complex mathematical problem. It will take some input data from the transaction and transpose to predetermined output or target using a special algorithm. The first miner to solve the problem will be awarded the bitcoin. That miner then broadcasts the solution to the bitcoin blockchain. It is called proof of work which is further validated, then finally all participants of the blockchain where consensus is reached and the new transaction are approved and added as a block to the blockchain.

Succeeding with CryptoCurrency: First thing to recognize is that creating and nurturing a cryptocurrency is a long term endeavor. Assume that we want to create our own parameters. For example, How much currency will be available? Will we use for proof of work or some  other consensus mechanisms? Do we want more or less privacy around transaction? or Do we want to define it for certain usage say within the organization or industry? These are some high-level business decisions and technical parameters such as a hashing algorithm or block size are to be defined.                           Cryptocurrencies like Ether, Zcash, and Litecoin is doing a great job of creating and
fostering a variety of communities like the community of interest, meetups, social media footprints, events, blogger pickups, and online forum participation. This creates enthusiasts who further champion and promote new coin, particularly the founders are motivated, deliberate and committed to the long term. There is a strategy here and an element of luck too. So, put effort into getting the mining community established first. Miners create energy and momentum that will help build crypto coin credibility. Additional communities like merchants and exchanges are essential for the success of cryptocurrency. 
       Depending on the strategy, you might decide to work on having a particular merchant accept your currency. So, a good strategy, good timing and good luck really help. This is same for the exchanges. If your cryptocurrency can be bought, sold and exchanged for other cryptocurrencies or fiat currency, you've hit the jackpot. Finally, We must remind ourselves that the fundamental purpose of the money is to acquire products and services. A compelling cryptocurrency offers people an alternative form of money in the digital age. A cryptocurrency with tight integration, with exchanges and merchants where brokers and stakeholders view it as a credible mechanism for the exchange of value, will have a greater chance of success.

Sunday, 31 March 2019

How to Integrate DApps and Cryptocurrency into Ethereum Network?

        There are two basic elements to be implemented when you build a DApp on Ethereum Blockchain. Those are smart contract and web interface. The smart contracts or multiple smart contracts that allow for customizing the access to Blockchain where we can store our data. Solidity helps for writing the smart contract in the Ethereum network. It also allows depositing ether into the contract only to be released by the third party. We could also modify to have the funds released based on some kind of chain event that won't require any user interaction. But, it is necessary to build a user interface that allows sending ether from one address to another.
Interacting with Ethereum Network:
        The basic difference from the traditional web application is that the Sequence it executes like User interface -> Smart Contracts  ->  BlockChain whereas the traditional application works as Front-End -> API -> MySql database. The heart of Ethereum power is EthereumVirtualMachine(EVM). It is co-located with full Ethereum Blockchain so anyone can download and run the node. EVM is the app server that's going to handle processing smart contracts and programming functionality. The other services through these nodes are SWARM for hosting files and Whisper for messaging in DApps. Every node runs the EVM. This syncs data to maintain the security and consensus of the Blockchain. Because of this, there is high fault tolerance and zero downtime which ensures immutability and block censorship.
Properties of EVM:
   1.  It is a run time Engine that processes smart contracts. Contracts are stored in byte code in blockchain so they can be compiled prior to deployment the blockchain. Also, it is limited access to other contracts.
   2. No Inherent access to file system, networks or processes
   3. Usually written in solidity. The other options available are Lisk, Bampoo,Viber.
   4. EVM does have non-persistent memory so you can run the variables that are used during the execution of a function and the function is completed executing they will no longer exist in the memory. If you want to maintain the data you can create the variables which will store the data in key-value pairs onto the blockchain.

     There are the number of different EVMs available that you can check at Github latest releases. The key to choose EVM is to an active community and contribute to those features that are available within that EVM. The Truffle and Ganache provide more of the visual interface in real time that how the wallets are changing and where the ether is flowing. Geth helps to run EVM on a testnet or mainnet.  The block explorer like Etherscan provides information that anything happened in the blockchain, whose mined them, what the block reward and how many transactions are in them etc., You can drill down the contracts and transactions that will provide you the information about from address, to address, current balance, the type of contracts,  bytecode processed by EVM, errors in executing transactions and warnings etc., In the contract, when you transfer tokens it actually sends it to contract and the contract is mediator for sending whatever the token is back and forth.

Building Simple DApp UI:  Ethereum Blockchain accepts programming instructions called smart contracts that are written in a language called solidity. Any Ethedreum user can write smart contract put into the Ethereum network. This contract is performed by nodes on the Ethereum network which forms EVM. An application written using smart contract is called a distributed application or DAPP. The contracts creator pays participants in the Ethereum network to process that application using cryptocurrency called Ether. Your programming to be rock solid because you can't really change the smart contract once it is in motion. Fortunately,  the wallet's that are available on includes options to try out your code on test network before any real money is involved so that you can check and double check your code for smart contracts.
       This is the basic interface for interacting with our smart contract. It used the bootstrap for simple layout purposes and using the jquery, we can interact with Ethereum network. It allows to
enter the Ethereum address and where we are sending it to and there is an approval process in the interim. This application will help you to deposit the ether into the contract. Also, we have the ability to get the balance and see who the approver is. Finally, we have the ability to approve the transaction which will clear the data out of the smart contract and send it to the recipient.

     It is all set up. Now, we are going to write our scripts to do all the action. Web3.Js is the javascript library that will interact with DApp. It is the standard for how we are going to interact with our client-side applications to the Ethereum network. Also, you can see different packages which allow interacting directly with blockchain. If you want to enable interaction with Metamask, Metamask should be injected its own web3.js. Web3 is easy to implement and enables to do a lot of interaction with Ethereum blockchain. It can create new accounts, send Ether, add signatures to transfers, get balances from accounts, get transactions and transaction IDs etc.,

Deploying to Ethereum Network: Once you developed and tested your app, the next step is to install Geth on windows. Once you installed in your system, you need to create your accounts
that you use for testing and confirm the Passphrase that will give you the address. This is how connecting and synching to Ethereum main network. If you want to sync to Ropsten testnet, create an account in the command line interface and say geth -testnet account new. Then, we are going to type our passphrase and get our address. This is our Ox address. Now, we can go ahead and fire up Geth. You just put your address in and say send test ether. Now, you can see that Ether sent to your address with the 0x and shows the transaction that's currently pending. It is the ropsten version of Etherscan and not the main network. Once your server syncs up, it pulls the transaction and you can see the ether in your account. Deploying to the main net is exactly the same process. The difference is we're going to have our local network sync with the main net and not the ropsten net. So make sure that network id matches the main net with our truffle settings of Ethereum client. The most popular Ethereum client is Go Ethereum called as Geth. This is going to run a node of Ethereum, as well as EVM on your machine that allows you to migrate smart contracts to different networks.

Initial Coin Offering(ICO) of a Company: It differs from the Initial Public Offering(IPO) that the company floats its shares on the stock market for everyone potentially to buy. It is a fundraising mechanism that is regulated and tried. Usually, it occurs at the later stages of the businesses or after several rounds of funding. The ultimate goal of this company is getting the stock market or essentially selling a company's part of the shares on the stock market. Whereas ICO's most part isn't regulated and unregulated. It is obviously the early days of the crypto-based platforms. It usually occurs at the early stages of a company of an idea. Usually what happens is a white paper published along with their idea. The white paper from the technical point of view explains their concept of how their ideas going to occur.and what we are doing with less of a marketing document.

            The first thing you need to know is what does it sells. It sells new cryptocurrency tokens that underly the new products. So, you know that new products that our company has that sell the new tokens. This is exchanged for cryptocurrency of Ether, Bitcoin or something else. Most of the time the Ether or Ethereum based platform that you do is ICO. This is great for engaging with the company or the community with more about the personal touch. It is more like crowdfunding platforms such as Kickstarter and Indiegogo have given way to companies like Oculus where you don't give the share in your company. What you do actually is sort of just like give rewards. It is not like shares and you don't have control of a portion of the company but can be traded. Also, you can spend tokens on the stuff. Sometimes, it can be used on the actual company's product itself.
           There are fraudsters that they publish 10 to 20 pages with the marketing presentation of documents and not actually doing technically. So, there are institutions that are trying to fix this in certain conditions in place by having an escrow account that needs several signatures by different private keys to be able to get the funds and use them impartially.

Friday, 15 March 2019

What are the basics of Developing a Blockchain Applications (DAPPs)?

          The BlockChain is fully distributed peer to peer software network which makes use of cryptography to securely host applications data and easily transfer digital instruments of value that represents the real world money. Cryptography is an art of communication via coded messages. The Bitcoin and Ethereum are used to conjure one secure computing environment of thousands of similar machines running with no single authority and no single user. The term Ethereum refers to 3 different things. Those are,
1. The Ethereum Protocol
2. The Ethereum Network
3. Creating Decentralized Applications

Decentralized Applications:
DAPP is an application that runs on the blockchain. The blockchain enables apps to run without having a central location like web URL. Whenever we go to a web URL  or mobile app, it is going to interact with core functionality at a central point. All of the functionality will reside on servers or virtual servers and all of the data will be stored within that environment. Because of the centralized location, it is vulnerable to a distributed denial of service attack.  Every time you use centralized location, you're surrendering trust, paying fees, and giving up the data to whoever is operating that central location. When you look at the DAPP, everything is hosted through the Ethereum network. Because of that, you can access DAPP from any node that can access the blockchain. This opens up the huge global network of the Ethereum network.
        Decentralized applications are basically formed with the base of a blockchain. The blockchain is a fully distributed network that uses cryptography to host the applications. Decentralized applications like Ethereum which include blockchain as a data structure. Decentralized applications are those that every node is connected to the other node and every node work independently and does not rely on any other node. Applications which spread along multiple servers instead of focusing on a single. For ex, Bitcoin is the decentralized application which uses the data structure of the blockchain. The nodes of decentralized applications are distributed to which it becomes difficult to protect and prevent all of this centralized network from making any invalid or unauthorized changes to the application. Each and every decentralized application should generate tokens on the basis of a cryptographic algorithm which acts as a proof of value. DAPP(Decentralized Application)s are internet application whose backend comprises of the centralized architecture. It is the architecture that no single node has complete control or data that includes different data structures and modules which comprises of protocol for creating the web application.

An advantage of DAPP:
1. DApps are fault tolerant. The nodes and peers of the application are distributed by default and hence there is a meager chance of failure.
2. It prevents violation of net censorship and ownership as there is no authority can pressurize to append any changes.
3. DApps are IP independent. It can't access via particular IP address or domain. So, any official authority can not track any individual and shut them in particular case of emergency.
     Distributed applications are beneficial when application data and the volume of traffic increases at that rate. Centralized applications create an issue with the performance of the product in website and applications downtime. DApps overcomes the challenge to receive or achieve high availability of data. The basic examples of distributed applications are Facebook, Dropbox, and Slack.
The concept of Mist Browser: In the world of cryptocurrency software, there are essential types of nodes which are called wallets and footnotes. Wallets are software applications for desktop or mobile devices that hold the key to the EVM(EthereumVirtualMachine). It holds the money for all transactions like a debit card, or credit card or cash will be kept inside the wallet. Wallets also hold the keys. Keys correspond to an account by long account address. In Ethereum account, it does not store your name, your personal information. Anyone can create Ethereum account by connecting to the network with the help of client and that Ethereum client is mist browser. You can generate many clients the way you need it. Here, the cryptocurrency transaction is the settlement of particular trade.
    Mist is the client side module which manages all the necessary transactions. It is compatible with Windows, Linux, Mac and you can check out at Github for latest releases. It includes some plugins to support the transaction that can take place. Once the installation successful in your system, you can see the wallets and can create the contract. This contract is associated with Ethereum wallet.

Ethereum Virtual Machine: EVM is a single global 256bit computer in which all the transactions are local on each node of the network and executed relative synchronously. It is composed of lots of smaller computer. A giant computer has a node or wallet application can access makes it move
arbitrarily large amounts of value. A virtual machine is an emulation of a computer system by another computer system. It is based on the same computer architecture as the target of their emulation. This can be created as software or hardware or both. In the Ethereum context, the smart contracts are the agreements between accounts to render a transfer of ether when certain conditions are met and the assets in smart contracts are moved automatically. There are the various set of blocks and the first set of a block is called the genesis block which is also called as a canonical block. The transactions in the EVM is cryptographically signed data pocket storing a message which tells them EVM to transfer ether, create a new contract, trigger existing one or perform some calculation.

Introduction to Solidity: Solidity is the contract oriented, a high-level language for implementing smart contracts. It is influenced by python, C++, javascript and is designed to target Ethereum virtual machine. You can install a compiler for Mac, Windows, Linux or try it on the web with Remix. Take a look at the website State of the DApps to know others have built with Ethereum and solidity. Ethereum is the platform to build DAPPs and solidity is the language, Solidity supports types, inheritance, and libraries and aim at the EVM.

 Solidity Basics:  The first thing you need to do is go to Remix and feel free to erase everything and start programming with import solidity and the way you do that is keyword pragma, which means that we are going to load only once with the version number. Once you have imported the solidity file, then you can import any other file. Then,What you do is set up the contract. In the contract, you need to put the variables, functions, and code inside the contract.
    Contracts in solidity are similar to classes in the object-oriented language. It can contain state variables, functions, events, structype, and enum types. First, declare the state variables and the word state means that the current status of that variable. Also, you have functions and modifiers. Modifiers are conditions to the functions or conditions before we run the function. The last thing in the contract is an event. The events are basically the javascript events or any kind of programming language events.

Creating Simple Contracts Using Solidity: We can use remix to work on this example and leverage the compiler to run the contract afterward. First, we will create few variables and create an address which is the owner variable. We need an address because most of the contract comes with an address. Then, we will introduce a new constructor. Here, we are building the instance of the variable. The global variables that are available in messages, and then the properties that were coming from the messenger. The message will come with value, that we will pass it to money. Deceased will set false initially and pass the owner variable to the message sender. And, Set an array of address that we use and we call this as array wallets. Use the mapping to pass the integer to addresses inside of the inheritance.
    Now, you need to set the conditions of the contract with modifiers. Modifiers are conditionals to run the functions. So, put as many modifiers as we want as long as they are conditions to validate things that you want before you run the contract. Finally, go ahead do the functions that will actually run your contracts. This function will be public and will need one owner. Here, we are adding to wallets with push function. We are setting up the contract here, and then we are using inheritance and we create an array that holds the wallet with the inheritance.

        Finally, Test our sample contract to make sure that compiles and have a green compilation. Then, go to the run tab and make sure javascript VM is selected. the gas option is the cost to run the smart contract on Ethereum. For the test scenario, set the value of the contract. Now, We have the contract inheritance and we can deploy the contract and check the console to see that we have successfully created the contract and the contract on the righten side. In the deployed contracts tab, you can see the inheritance, deploy and setup. We need to set up the amount for each inheritor. Grab the contract address in the console and put in the setup such as address (comma contract of) 100 and click the setup. So, when you click this. it is going to set deceased true and then pay the money to the people in the wallet. This is how the smart contract work inside solidity.